Release planning

CadCraft 0.9 impact map

Every fix and feature lined up for 0.9, and what each one touches: which apps, and which layers of the stack.

ProjectCadCraft
Sheet0.9 impact
Items273
Date2026-11-09
115Fix
147Feature
4Spike
0Platform
0Site ops
0Sanity check
7Decision
≈ 0days in the written 0.9 plans
  • Planned 0 on the plan for the release it is filed under
  • Built 271 built and working in /lab (the dev builds). Whether the public has it is its reach: "in the lab", "Live" (the last gate) or "switched off"; see docs/REACH-LIVE.md
  • Partly built 1 part of it is built in /lab; the rest waits (see "Waits on")
  • Promised 0 the live site already says it is coming
  • Moved 0 moved here from an earlier release or wishlist
  • Found 0 bug found after a release shipped; fixed in a point release or the next one
  • Candidate 0 recommended in a spike or session log; owner to choose
  • Community please test 0 built and in /use; a Discord post gives the steps and the expected result and asks people to try it on their own devices, files or know-how
  • Decision Time 0 a decision, check, file, key, flag or go only you can give; folds into the list once answered

Built means built and working in the lab. Live means the public can use it, and is the last gate: 270 Built · Live, 1 Built · in the lab.

Sheet 1 · impact areas

Where 0.9 lands

How many items touch each app and each layer, by kind. One item can touch several areas, so the rows add up to more than the item count. Pick a row to filter the schedule below.

Impact areaFixFeatureSpikePlatformSite opsSanity checkDecisionAll
Apps
CadCraft 38 36 – – – – 2 76
BimCraft 27 53 2 – – – – 82
ModelCraft 19 45 2 – – – 2 68
MarkupCraft 16 11 – – – – – 27
TakeoffCraft 18 7 – – – – – 25
CivilCraft 14 32 – – – – – 46
DetailCraft 13 13 – – – – – 26
PartCraft 18 27 1 – – – – 46
Studio 2 5 1 – – – – 8
SuperCad Studio 22 17 – – – – – 39
Layers
Site and services 7 11 – – – – 5 23
Desktop host 1 1 1 – – – – 3
App shell 2 1 – – – – – 3
App code 10 28 3 – – – 3 44
Our engines – 12 1 – – – 1 14
Vendor engines – – – – – – – 0
Drawing surface – – – – – – – 0
Help and words 1 2 – – – – 1 4
Tests and tooling – – – – – – – 0

Sheet 2 · schedule

Every fix and feature

Grouped by track. App chips carry each app’s layer colour; Studio is in ink. "Waits on" names what has to happen first; the small lines under it say who asked and where the item is written up.

Add an item Fork map (Rust and C++ forks) The roadmap

Issues sync every 10 minutes; last sync Nov 9, 2026 7:00 pm.

ItemWhatAppsLayersStatusDaysWaits onIssues
Suggestions (Track SX) 25
FeatureSU.858 Link to SU.858Comment on SU.858 Material-handling layout, simulation and PLC emulation (conveyors, stations, AGVs)

Asked: emulation and simulation software for material handling that costs about $40,000 a year (#858, Oct 20; 43 votes, the most-voted ask). Do (docs/0.8-PART2.md § SU.858): a ModelCraft add-on `flow`: a catalogue of conveyors, merges, diverters, stations, buffers, sources/sinks, AGVs and sensors with ports; snap a layout in 3D; a deterministic discrete-event simulation with accumulation and routing rules; playback in 3D, statistics, CSV. Later, Studio only: PLC emulation over Modbus TCP or OPC UA (owner picks the first). No physics; loads are kinematic. PLC mode (2026-11-06): the panel's PLC mode chooses Soft or Real, saved with the model. Soft runs the Digital twin's soft PLC (ST or PLCopen XML) on the layout with no hardware, in the browser or Studio, repeatable to the byte. Real talks Modbus TCP to a PLC through Studio (plc.rs client commands) with an address map editor (tag, type, table, address, scale); in a browser tab it is off with the reason. Simulation-only safety line; the PLC's address is never saved in the file. Tested: Modbus spec known answers, loopback against a JS Modbus server, the real /lab page. Needs the 0.9 Studio build (Rust core tested alone, Tauri wrappers not compiled here). Real PLC check: community row SU.858-HAND.

ModelCraft Built · Live 20 Studio 0.9 build with the plc.rs client commands; real-PLC hand check is community test SU.858-HAND (not blocking) From: site suggestion (Suggestion) docs/0.8-PART2.md (Track SX), from /admin/suggestions 2026-10-27
FeatureSU.1112 Link to SU.1112Comment on SU.1112 Live in every app: see each other's cursors and names while co-editing

Asked (#1112, Oct 28): collaboration where people see each other's cursors, so working in teams is easier. CadCraft's Live already shows other people's cursors and selections (live.js presence). Do: the same presence layer in the other apps' Live sessions (cursor, name colour, selection), reusing the CadCraft code through the shared Live library. Relates to DC.27 and EG.41. **Implementation started 2026-11-02** (0.9 pick #7, second five, hardest first; session `live-cursors-09`, log docs/0.9-sessions/live-cursors-09.md). Status moves to Partly built or Built only when the code is reachable and tested (rule 49). **Built 2026-11-02** (session `live-cursors-09`, log docs/0.9-sessions/live-cursors-09.md): one shared presence layer (assets/js/live-presence.js, synced by tools/shell/sync.mjs) with a thin adapter in each app's live.js; BimCraft, ModelCraft, TakeoffCraft, CivilCraft, DetailCraft and PartCraft now show cursors, names in the person's color and selections; CadCraft and MarkupCraft keep their own views on the same palette. Tested with two real pages per app (tools/live-apps-test/browser-apps.mjs) and test-presence.mjs.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 6 – From: site suggestion (Suggestion) docs/0.9-PLAN.md § 9, from /admin/suggestions 2026-11-02
FeatureSU.1128 Link to SU.1128Comment on SU.1128 Robot cells in the flow add-on: reach, cycle time and offline robot program export

Robot cells in the Material flow add-on (ModelCraft, /lab), Robot cell panel. The person chooses (owner 2026-11-06): a robot model (generic 6-axis, SCARA, delta, Cartesian, and a 6-axis with the UR5e's published kinematics; the joint table is editable and saved with the document) and which program formats to save, several at once, remembered per document and per user: path list (CSV and JSON, always), ROS URDF, ROS joint trajectory, Universal Robots URScript (two public sources, dated in the panel's Sources list). Reach, cycle time, I/O set and wait, pick and place. Left out (a language needs two independent public sources for every statement it uses): ABB RAPID, KUKA KRL (both close), Fanuc, Yaskawa, Kawasaki, Mitsubishi, Staubli, Denso. Reasons in the panel. Vendor programs are minimal, labelled unverified and not run on a robot. Not built: collision checks against the layout, tool/frame statements, blending. Tests: docs/0.9-sessions/flow-robots-09.md. Real-controller check: SU.1128-HAND.

ModelCraft Built · Live 14 Hand check is community test SU.1128-HAND (not blocking) From: site suggestion (Suggestion) docs/0.9-PLAN.md § 9, from /admin/suggestions 2026-11-02
FeatureSU.1082 Link to SU.1082Comment on SU.1082 Reverse engineering: scan mesh to NURBS surfaces and solids (automatic surface fit)

Asked (#1082, Oct 27): Quicksurface Pro-style reverse engineering of 3D scans; too expensive for private use. mounts-09 2026-11-06 (partial): Help lines landed in ModelCraft and PartCraft nurbs-surfaces.md (rim fillets and variable fillets in what the fit finds; the "does not do" paragraph says where they are looked for); help rebuilt, 0 errors. See docs/0.9-sessions/mounts-09.md.

ModelCraftPartCraft Built · Live 15 Hand check is community test SU.1082-HAND (not blocking) From: site suggestion (Suggestion) docs/0.9-PLAN.md § 9, from /admin/suggestions 2026-11-02
FeatureSU.810b Link to SU.810bComment on SU.810b A live link from a .3dm modeller into ModelCraft and PartCraft (one way, a script on the other side)

Asked (#810, Oct 19): a live connection between Rhino models and our apps, perhaps through Grasshopper. Built 2026-11-06, in /lab (log docs/0.9-sessions/3dm-link-09.md; design docs/spikes/SU.810.md). One script, cadcraft_link.py, runs in Rhino (watches the document, pushes after a pause, only what changed) and in a Grasshopper Script component (each solve). It sends .3dm bytes to Studio on this computer; link_push and link_status replace what the link brought last time: one group in ModelCraft (its placement, tag and neighbours stay; pushes within 2 s share an undo step), one import feature in PartCraft (features rebuild; a model that does not close changes nothing and says so). Over 4 MB goes in parts. The saved file keeps the link. Library lib/3dm-link, help live-3dm-link in both apps. Tests: tools/3dm-link/test.mjs 31/0; browser.mjs 38/0 (the real script with rhino3dm's writer, through the reference server and hub relay, into real /lab pages). Never run: real Rhino and real Grasshopper (none here; a stand-in plays their document and events, member names checked against McNeel's docs), Studio's native server, files saved by Rhino itself, SuperCad Studio's mounts. Not built: changes going back the other way, a packaged plug-in.

ModelCraftPartCraft Built · Live 3.25 – From: site suggestion (Suggestion) docs/0.9-sessions/suggestions-sweep-09.md, from /suggest
FeatureSU.1087 Link to SU.1087Comment on SU.1087 ModelCraft is the SketchUp-style modeller, with CAD tools beside it in CadCraft Studio

Asked (#1087, Oct 28): SketchUp with a full CAD tool set pre-installed; the last free version (2017) is hard to find and runs badly on new machines. Covered by what is built and released (checked 2026-11-05; nothing new was built for this card): ModelCraft is our push/pull modeller in the SketchUp style, free, in the browser and in CadCraft Studio; it imports .skp files with groups, components, colours, textures, tags and soft edges (help "Bring in an SKP model"); CadCraft (2D and 3D CAD), PartCraft and the other apps are in the same CadCraft Studio. Not the same program: SketchUp extensions (Ruby plug-ins) do not run, and .skp is read, not written. Test re-run 2026-11-05: tools/skp-test/test.mjs --no-fuzz (see the log).

CadCraftModelCraft Built · Live 0 – From: site suggestion (Suggestion) docs/0.9-sessions/suggestions-sweep-09.md, from /suggest
Suggest an item

Anyone can send one; no account and no name needed. The team reads each idea, and the ones we take on appear on this page. Please leave out web addresses.