Releases: jan-dolejsi/vscode-pddl
Search Debugger release
Released on 2019-05-11
This version introduces the ultimate AI Planning educational tool and a powerful search debugger tool at the same time. It explains how the heuristic function guides the search and at the same time it can be used to understand why the planner has hard time finding the plan for given planning problem and where does the domain model need to be tightened.
Start the Search Debugger using the PDDL: Start search debugger command. Stop it by the PDDL: Stop search debugger or pressing the cell phone signal icon. While the search debugger is active, it listens to the planner messages and visualizes the progress of the plan search in several ways:
- line plot of state heuristic value and estimate of makespan
- search tree
- best-state-so-far is visualized in terms of planhead, helpful actions and relaxed plan.
When the search stops, the states may be navigated and explored in three ways:
- using keyboard up, down, left, right buttons to navigate states in the search tree
- using keyboard shift+left and shift+right to navigate all states in order of discovery as layed out on the line plot
- by clicking on helpful actions to jump to the child state that expands that action (if actually created)
While the Search Debugger is active, any planning PDDL: Run the planner and display the plan requests are instrumented to send search progress info to the Search Debugger. This is achieved by appending a switch to the command line options. The switch may be configured using the pddlSearchDebugger.plannerCommandLine
setting.
The search debugger may be enabled/disabled by clicking on the bug-like icon in the status bar.
For even smoother experience, the execution target setting may be switched to Search debugger too to keep the Search debugger window in the forefront.
If the planner outputs even more detailed log for every state, the log file could be synchronously navigated (scrolled to the same state). Select the log file that corresponds to the search being debugged by pressing the 🗎 icon. The log entry that corresponds to the state is matched using the regular expression pattern configurable by the pddlSearchDebugger.stateLogPattern
setting.
To participate in this visual search debugging the planning engine must implement a HTTP client. An example of what data is expected may be found in the mock search.
Release 2.9.1
The extension activation is now postponed till a .pddl, .plan, .happenings file is open, not just present in the workspace. The extension is also activated when the Test pane or Planning.Domains file tree is open, as well as when several key commands are invoked by the user. This results in faster start-up of VS Code in the context of projects that have a mixture of code and PDDL models.
Refactored the plan visualization from deprecated vscode.previewHtml
command to WebView
API.
Added PDDL: Preview plan command to visualize any .plan
file.
Added pddlPlanner.executionTarget
configuration option to direct planner executable output to a terminal window instead of the output window. This can be configured on the Overview page.
The Terminal option is useful when the planner takes keyboard input while executing. In case of the Terminal, the plan(s) are not visualized. Planner could be stopped by Ctrl+C (or equivalent).
Fixed issues caused by case-sensitive action/predicate/function/type name matching, which resulted in missing hover-over and jumping to definition options.
Release 2.9.0 - Planning.Domains browsing
[2.9.0] - 2019-02-16
Added
Added tree view of the Planning.Domains PDDL collection. The domain, problem and plan files are downloaded and displayed as read-only files and the planner may be invoked on them as usual.
Fix 2.8.2
[2.8.2] - 2019-02-10
Fixes
- Only displaying this page during start-up for major nd minor updates, not fixes.
- Added PDDL Reference to overview page https://github.com/nergmada/pddl-reference
- Fixed plan export, where actions at time 0 (zero) were printed without any time - violating valid PDDL format for plans
[2.8.1] - 2019-02-06
Added
- added link to the VS Code Icons Extension, which now provides icons for .pddl, .plan and .happenings files.
Bug fixes
- Issue #16 Domain file and problem file shouldn't require to have case sensitive domain name identical
- planners and parsers implemented with node.js are correctly not double-quoted (same as
java -jar ...
)
Release 2.8.0
- Added Overview page, which summarizes learning resources and centralizes configuration. The overview page shows up at most once per hour upon VS Code activation. If it does not come up (perhaps because it was permanently dismissed by the user), it may still be invoked using command PDDL: Show overview page.
- Exposed command to configure the VAL/validate tool. Try invoking command PDDL: Configure VAL/Validate tool. It lets you select the executable, if you have it.
- Added a warning, when PDDL code is sent to a (remote) planning service for the first time. The user must give consent that they trust that service with their PDDL model.
Bug fix 2.7.2
New features
- Elapsed time used by the planner is printed to the output window when the planner finishes.
Bugfixes
- Planners configured via path are double quoted if they contain spaces, unless the command already includes double quotes or it is a java -jar kind of a command.
- Python pre-processing of problem files (transformation of the problem file before applied before PDDL parsing) is fixed. To test, use this syntax at the top of hte problem file:
;;!pre-parsing:{type: "python", command: "../../scripts/transform.py", args: ["../data.json"]}
- Python interpretter in the %path%, or as selected by the Python VS Code extension would be invoked.
Fix 2.7.1
More robust handling of Valstep failures to make sure the plan is always displayed.
Release 2.7.0
[2.7.0] - 2019-01-04
Added support for passing optional switches to planner service when involing the planner via the PDDL: Run the planner and display the plan command. For example: specify options param1=value1
to pass them via URL query as http://host:port/solve?param1=value1
.
Added forall
and exists
into syntax highlighting.
Made plan parsing more robust with different whitespace (e.g. inside square brackets).
Plan numeric value charts (experimental feature, because a separate executable is needed) now works regardless of upper/lower case function names by changing command line arguments to lower case. It also correctly shows step change functions, functions with more than 1 parameter and is faster, because it first checks which functions are updated by the plan before asking the external utility for plot values.
The PDDL: Normalize and compare 2 plans command now shows the plan diff as before, but when those plans are modified afterwards, the normalized diff updates accordingly. The diff now shows the final state values, so the diff can be used for plan equivalency check.
Added the PDDL: Normalize and evaluate plan command to expose in isolation the transformation used by the PDDL: Normalize and compare 2 plans command.
Extension now helps enabling File > Auto save
during start-up.
Valstep (experimental feature) utility can now be selected from the file system upon first usage.
Good news. Starting from 2.6.12, the extension starts-up on Linux as well. Please raise an issue in GitHub, if you are still experiencing problems.
Fix 2.6.12
Fixes while diagnosing extension activation on linux.
Release 2.6.11
What's new
[2.6.11] - 2018-10-24
Added
Added the ability to convert .happenings
file back to .plan
. This is useful, when you need to manually adjust a temporal plan, while gettign it annotated by the numeric effect values, and then you want to convert it back to a .plan
format to get it validated. This feature is also useful, when your planner has the capability to output a planhead or relaxed plan in the .happenings
format and you want to Diff it against a different plan to find the point where your planner takes an unexpected decision. To convert .happenings
to .plan
, right click on the happenings file and select the PDDL: Convert happenings to plan... command.
Control+click on action names in .plan
or .happenings
files to jump to the action definition in the domain file. Hovering over action names shows a simple hover pane.
Elapsed time is being displayed while planner is running.
Fixed
Normalized plan comparison (PDDL: Normalize and compare 2 plans right-mouse button option in the Explorer sidebar pane) now also sorts actions that start at the same time by the action name alphabetically.
Fixed problems that Linux users were experiencing.
The What's new opens in a new tab inside VS Code now, not in the default browser.