Skip to content

Releases: thePixelmancer/controller-view

1.2.0

21 Mar 15:04

Choose a tag to compare

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 as idle_base [v.is_on_ground]
  • Particle and sound entries are rendered as effectname @ locatorname, or just effectname if 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.autoOpen setting 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 onDidChangeActiveTextEditor with undefined, 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 transitions array no longer cause an uncaught exception
  • Controllers with no states key show a warning instead of a blank panel
  • An empty error console is hidden automatically

Controller View 1.1.0

02 Sep 22:34

Choose a tag to compare

  • 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

15 Jul 01:53

Choose a tag to compare

Fixed viewing controllers with no transitions listed

Controller View 1.0.0

15 Jul 01:17

Choose a tag to compare