VS Code extension for WibotLib embedded control projects.
This extension is used to edit PP topology documents, validate graph structure, and generate the adjacent C++ wrapper class used by the fw/app/ctrl.hpp pipeline builder style.
Who This Is For
This document is for extension users who create and maintain .wipp.json PP topology files.
For project development and repository conventions, see DEVELOPING.md.
What It Does
Opens .wipp.json files in a graphical custom editor.
Generates an adjacent *.gen.hpp class from the topology document.
Reads back preserved code blocks from the generated header so manual edits survive regeneration.
Typical Workflow
Create a topology file with WibotLib: New PP Topology.
Open the .wipp.json file in the custom editor and build the graph.
Resolve validation diagnostics in the editor.
Run WibotLib: Generate PP C++ Class to write the adjacent generated header.
Editing Model
Node structure is stored in the .wipp.json topology file.
Configurable node initialization is represented as a single config.initializer block.
When present, the generated *.gen.hpp file is used as the source of truth for preserved initializer text.
Unused outputs may remain unbound. Every connected output must have a binding because PP requires storage before connect().
Array ports use an optional zero-based index on bindings and connection endpoints. Equal-length Out<T>[N] and In<T>[N] ports can connect as whole arrays and generate one connect() call per element.
Port arrays and array-valued scalar ports are distinct. The generator does not adapt Out<T>[N] to In<T[N]> or the reverse.
C-style array value types such as f32[3] are emitted with valid C++ declarator syntax, for example f32 values[3]{}.
Custom-node inputs are required by default; set a port's optional field to true when its node implementation does not require that input in ready().
Generated builder code always emits output bindings first, node registration second, and connections last.
Commands
WibotLib: New PP Topology creates a new topology document.
WibotLib: Generate PP C++ Class writes the adjacent generated header.
Scope
The extension is intentionally focused on WibotLib topology editing rather than general-purpose diagramming.
Developer Docs
Repository conventions and project structure: DEVELOPING.md