Releases: thePixelmancer/controller-view
Releases · thePixelmancer/controller-view
1.2.0
Release Notes
What's New
Graph Viewer
- State graph visualization — animation controllers are now rendered as interactive directed graphs using dagre-D3, with one card per controller in the file
- Zoom and pan — scroll to zoom, drag to pan within any graph
- Initial state highlight — the initial state (defaults to
default) is visually distinct from regular states - Negated transition highlighting — transitions whose condition starts with
!are drawn in a warning colour to make exit conditions immediately obvious - Edge label wrapping — long transition conditions are split at logical operators so they don't overflow the graph
- Transition target validation — a warning is shown in the error console if a transition points to a state that doesn't exist in the controller
- Legend bar — a persistent legend explains node types, edge types, and notes that the graph supports scroll-to-zoom and drag-to-pan
State Tooltip
Hovering a state node shows a tooltip listing everything defined on that state, grouped into labelled sections. Sections with no entries are hidden automatically. The order reflects execution order:
| Section | Source field |
|---|---|
| On Entry | on_entry |
| Animations | animations |
| Particle Effects | particle_effects |
| Sound Effects | sound_effects |
| On Exit | on_exit |
- Animation entries that are conditional objects (e.g.
{"idle_base": "v.is_on_ground"}) are rendered asidle_base [v.is_on_ground] - Particle and sound entries are rendered as
effectname @ locatorname, or justeffectnameif no locator is present - Nodes with a tooltip show a subtle dotted underline as a hover affordance
- The tooltip fades in and out smoothly and repositions to stay within the viewport
Theme Compatibility
All colours are now derived from VS Code's own CSS variables. The viewer automatically adapts to any installed theme — dark, light, high-contrast dark, and high-contrast light — without any manual configuration. No hardcoded palette colours remain.
Panel Behaviour
- Auto-open — the viewer panel opens automatically beside the editor when a valid controller file is focused, if the
controllerView.autoOpensetting is enabled - Auto-close — switching to any non-controller file closes the panel
- No flash on click — clicking inside the graph panel no longer causes the panel to flicker or close; this was caused by the webview stealing editor focus and firing
onDidChangeActiveTextEditorwithundefined, which is now correctly ignored - Reveal on re-open — running the open command while the panel is already open updates its content and brings it into view rather than silently posting a message
- Live update — edits to the controller file are reflected in the graph instantly without needing to save
Commands
| Command | Description |
|---|---|
Controller View: Open Viewer |
Manually open the graph panel for the active controller file |
Controller View: Toggle Auto Open |
Enable or disable automatic panel opening when a controller file is focused |
Error Handling
- Malformed JSON is caught and reported in the error console without crashing the panel
- States with no
transitionsarray no longer cause an uncaught exception - Controllers with no
stateskey show a warning instead of a blank panel - An empty error console is hidden automatically
Controller View 1.1.0
- Rewrote the way graphs display using dagre D3
- Graphs can now be zoomed in and out
- Better styling
- Errors appear at the bottom of the graphs panel, warning users about potential issues with their controller
Controller View 1.0.1
Fixed viewing controllers with no transitions listed
Controller View 1.0.0
package