Files
isokit/docs/ROADMAP.md
T

3.4 KiB

Roadmap

Each phase ends with tests, a Studio/viewer check in Edge, commit and push.

Phase 1: engine, Studio, MCP (done)

  • Core: projection with 4 rotations, primitives (box, prism, cylinder, frustum, face, poly, flat, openings, lines, disc, circle, stem, figures, puffs, fan, raw, groups, sequences), sprites with 90° object frames, depth sort ported from the JS views, SVG writer, tags, tooltips
  • Theme: built-in palette, materials and rules converted from the Mooban/CNX CSS; TOML overrides
  • Rhai runtime: drawing API, module imports from memory, errors with file:line, safety limits
  • Prefab library: site, area, road, parking, wall, fence, lamp, marker, tree, tree row, hedge, building (storeys, windows, door, flat/gable roof, solar, AC, cut-open levels), carport, shed, car (driving), truck, motorbike, person, crowd, tank, container, generator, solar field, chimney
  • Scene document + prefab catalog with property schemas
  • Project folder, ops (add/update/remove/duplicate/reorder/set_cfg/replace), Workspace (save, undo, reload on outside changes), check, static HTML page, SVG export
  • Viewer JS: port of the views' mount() (pan, pinch, wheel, declutter, tooltips, full screen) for prerendered, server and future WASM sources
  • Studio GUI: palette, object list, placing, drag-to-move with snap, keyboard, forms from schemas, levels, undo/redo, live follow of agent edits, MCP connection panel
  • MCP: 15 tools over stdio and HTTP (/mcp), validation messages for agents
  • Demo project, 52 Rust tests, Playwright Studio + MCP test

Phase 2: richer editing

  • Interior prefabs (desk, table with chairs, shelf, machine, bed, sofa, partition walls) and a building rooms prop, so the GF/1F levels show something
  • Path objects in the Studio: click points for areas, roads (polyline with width), fences, walls, pipe runs; vertex handles
  • Multi-select (box select, Shift-click), group move, align/distribute
  • Copy/paste between projects; prefab thumbnails in the palette (rendered icons)
  • Measure tool and grid overlay; numeric resize handles on the selection
  • Studio editor for theme.toml (colour pickers) and for project parameters

Phase 3: embedding in the other projects

  • WASM build of isokit-script + core: the same scene recomputes in the browser when a host page's calculator changes the parameters (cnx_vinyl fleet calculator)
  • isokit build --fragment: <style> + <script> blocks for the Python build scripts of the host pages (replace inline.py)
  • Host API parity with CNXIso (mount, update(cfg), setLevel, focus, info, onPick)
  • Port the existing scenes: mooban estate, CNX Scuba centre (section cut), CNX Vinyl plant; check each against its old view with the QA checklist from the skill

Phase 4: output and QA

  • Section cut layer (underground scenes) from iso-scuba: cut plane, clip-path per cavity
  • PNG export (static style resolution + resvg) so agents get an image from render_view
  • isokit check rules from the QA checklist: props on paved areas, runs ending in the air, covers drawn over their contents, tag overlaps
  • Performance budget test (render ms per view, 60 fps pan) on a 3,500-node scene
  • Packaged desktop app (Tauri) for users without a terminal; hosted Studio behind login