Skip to content

Releases: jan-dolejsi/vscode-pddl

Search Debugger release

14 May 00:10
Compare
Choose a tag to compare

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:

  1. line plot of state heuristic value and estimate of makespan
  2. search tree
  3. best-state-so-far is visualized in terms of planhead, helpful actions and relaxed plan.

PDDL Search Visualization

When the search stops, the states may be navigated and explored in three ways:

  1. using keyboard up, down, left, right buttons to navigate states in the search tree
  2. using keyboard shift+left and shift+right to navigate all states in order of discovery as layed out on the line plot
  3. 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

13 Apr 09:39
Compare
Choose a tag to compare

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

16 Feb 00:43
Compare
Choose a tag to compare

[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.

Planning.Domains PDDL collection browser

Fix 2.8.2

11 Feb 00:25
Compare
Choose a tag to compare

[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

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

28 Jan 23:36
Compare
Choose a tag to compare
  • 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

10 Jan 00:16
Compare
Choose a tag to compare

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

07 Jan 15:56
Compare
Choose a tag to compare

More robust handling of Valstep failures to make sure the plan is always displayed.

Release 2.7.0

04 Jan 18:08
Compare
Choose a tag to compare

[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.

Normalized plan diff with final state values

Added the PDDL: Normalize and evaluate plan command to expose in isolation the transformation used by the PDDL: Normalize and compare 2 plans command.

Normalize and evaluate plan

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

29 Oct 18:35
Compare
Choose a tag to compare

Fixes while diagnosing extension activation on linux.

Release 2.6.11

24 Oct 22:36
Compare
Choose a tag to compare

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.