Roadmap
What exists, what is next, and what is deliberately not yet built. Items move down this page only when they ship.
Shipped
- Spec version 1 with five element types.
- Light and dark themes with measured contrast.
- Seeded random generation.
- Validation with a complete list of problems.
- Text alternatives for every picture.
- This documentation site, with a playground that runs the library itself.
Next
- Publish to npm, then remove the private flag from the package.
- Text labels and axis ticks as element types, so charts need no separate caption.
- A legend element that pairs tokens with words, to help colour-only pictures.
- A React wrapper that mounts and destroys a picture with component lifecycle.
Later, and only if measurement justifies it
The plan builder is plain JavaScript. A Rust core is a candidate for speed on very large specs, and the route is known:
- In the browser: WebAssembly, built with wasm-bindgen, for the plan builder only. p5 stays in JavaScript.
- In Node or Electron: a native addon through napi-rs, for batch rendering on a server.
- The gate: the Rust build ships only if a benchmark on real specs beats the JavaScript plan builder by a margin that matters, including the cost of loading the module. If it does not, it stays out.
Nothing in Rust has been written. Today the library is JavaScript end to end.
Not planned
- Running arbitrary sketches inside the spec format. Code mode, if it comes, is a separate sandboxed feature.
- Raw colours in specs. Tokens are the point.