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
Fixes 104
FixFX.9 Link to FX.9Comment on FX.9 EnergyPlus check and address lookup add-ons could not be switched on

The add-on loader refuses a description over 400 characters. BimCraft's EnergyPlus add-on (451) and CivilCraft's site-geocode-osm add-on (488) were over it, so neither could be switched on. Both descriptions shortened (388 and 369), same facts. test-addons-apps 112/0. Untested: switching each one on by hand in /lab.

BimCraftCivilCraft Built · Live – – Found by session climate-futures-09, 2026-11-03
FixFX.61 Link to FX.61Comment on FX.61 Apps that read or draw walls (DetailCraft, TakeoffCraft, CivilCraft hardscape): check what stored joins change

Wall tool spec (Duncan, 2026-11-05), tracked at /roadmap-internal 'BimCraft wall tool specification'. Assessed 2026-11-05, no change yet. DetailCraft: wallPanel frames one wall at a time (lib: framing.js); corner and T framing (extra studs, backers) would follow a join record once it exists. TakeoffCraft: scene3d wall strips and wallOutline use mitred joints for takeoff; counts should not change, but check them against BimCraft's net-of-joins quantities after FX.57. CivilCraft landscape: hardscape walls (retaining / freestanding polylines) have no join model; two garden walls meeting at a T are drawn as separate runs. Wanted: after FX.57 lands, re-run each app's wall quantities and drawings on a joined-wall file and file a row for each real difference; do not add join code to these apps by hand. ModelCraft (print-walls is wall thickness for printing), MarkupCraft and PartCraft have no joined walls. walls-plan-09 2026-11-06: Checked 2026-11-06 (read the code and measured): DetailCraft, TakeoffCraft and CivilCraft hardscape read neither the join record, nor a wall's thickness, nor CADCRAFT_WALL. DetailCraft wallPanel takes a spec (length, height, openings, stud sizes); TakeoffCraft's wallOutline is its own mitred run with a thickness it is given; CivilCraft hardscape walls are open polylines with their own thickness. Measured: a CadCraft DXF of a four-wall room opened with TakeoffCraft's and CivilCraft's readers gives 4 INSERTs and 8 LINEs in 4 anonymous blocks, extended data kept, nothing else read; so a stored join changes none of their quantities. What would change: nothing breaks. Corner and T framing in DetailCraft and joined hardscape runs in CivilCraft would be NEW features that could read the record (no row made: nothing differs today). Not run on a BimCraft IFC with join records through DetailCraft's IFC export (that it keeps the unknown relationship lines is untested).

TakeoffCraftCivilCraftDetailCraft Built · Live 1 – From: Duncan (Session) Duncan, wall tool specification 2026-11-05 (page 2)
FixFX.77 Link to FX.77Comment on FX.77 Studio and browser-edition packers: stale file lists (suite stubs, hub files, docinfo and About modules)

Found by mounts-09 2026-11-06 while building the Studio suite for the undo test. (1) studio/pack/suite-stubs.php WORKSPACE_MODULES lacked app-workspace-icons.js and app-workspace-vector.js, so node pack/suite.mjs stopped with "a plain re-render differs from the edition's index.html" for every app: a Studio rebuild could not have been made. (2) pack/suite.mjs HUB_FILES did not copy the new hub/undo-journal.js. (3) tools/shell-test/test-packed-imports.mjs failed 6 checks: devshell/edition.php and devshell/pack.php lacked docinfo.js, app-docinfo.js and app-about.js (DI.1, ABT.1), so packaged editions would have asked for files that are not there. All three lists fixed; the suite packs for cadcraft, detailcraft and takeoffcraft and the test reports "all packers list every imported shell file". The full eight-app suite was not rebuilt here.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 0.5 – docs/0.9-sessions/mounts-09.md
FixFX.78 Link to FX.78Comment on FX.78 Tests: the team button sits in a folded panel section; add-on buttons are not registry commands

mounts-09 2026-11-06: tools/bimcraft-test/browser-r5.mjs clicked [data-model-team] while the shell's panel accordion had its section folded (a person opens the section first; the test now does too). tools/shell-test/browser-input-apps.mjs's "every toolbar button is a registry command" no longer lists add-on buttons (data-addon-tool), as print-09 asked; ModelCraft's 3D Print button passes. Still failing there, not from this session: "Move the Tools toolbar" (the toolbar tear grip) and the Settings style-card radio that is not visible; and tools/civil-mount-test/browser.mjs la4 clicks the first of two "Ground modifiers" menu items, which is hidden.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 0.5 – docs/0.9-sessions/mounts-09.md
FixFX.83 Link to FX.83Comment on FX.83 Settings > Layout: the layouts are a drop-down of two-line choices, not a long radio list

The layout list (built-ins plus add-on and imported layouts) grew into a long radio column. Now a button shows the chosen layout (icon, name, hint) and opens a pop-up list of two-line choices, scrolling past 24rem. The radios stay inside the pop-up, so picking, the extras list, Remove and the keyboard (arrows between layouts) work as before; Esc, a pick or a click elsewhere closes it; without JS the list just shows. Files: app-settings.inc, app-settings.js (wsCur, wsOpen), app-shell.css. Checked: syntax and php -l; not yet tried in a browser. Owner tried it in /lab 2026-11-06: works.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraftSuperCad Studio App shell Built · Live – – From: owner (Owner) owner request 2026-11-06
FixBot obtainedFX.110 Link to FX.110Comment on FX.110 CivilCraft help: "Not built yet" said LAS and LAZ cannot be written

The Point clouds add-on writes a cleaned cloud as LAS 1.4 or LAZ (PC.14), but the "Not built yet" row and the elevation-grids topic still said "Writing LAS or LAZ". Both now say what is true: no LAS/LAZ from a surface or the elevation-grid and LiDAR tools; the add-on writes a cloud. Help rebuilt. Checked by reading; no test.

CivilCraft Built · Live – – closing 2026-11-07
FixFX.156 Link to FX.156Comment on FX.156 Tooltips: one Bootstrap engine everywhere; the other tooltip methods are gone

Tips were drawn five ways: app-tooltips.js (Bootstrap, from title), a hand-made .ws-tooltip div in the workspace, a second Bootstrap instance for cut-off text in Settings, one each for the area badge, the download copy button and CivilCraft's narrow number boxes, and a CSS ::after bubble on the status bars. Now app-tooltips.js is the only one: it reads data-ws-reason, title or an old data-bs-title, and offers ccTooltips.showText(el, text) for text a page computes (cut-off text, Copied, a clipped number). The site footer and admin footer load it too, so public pages match the apps. Popped-out ribbon, panel and dialog windows get Bootstrap and the engine through ccTooltips.attach(win), so they show the same tips. Same look everywhere (.tooltip.cc-tip).

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft App code Built · Live – The 0.9.1 build (desktop installers carry the shared files from their pack date). From: the owner (Staff) owner 2026-11-09
Owner-reported, 2026-11-09 10
FixFX.147 Link to FX.147Comment on FX.147 All apps: a panel tab strip that does not fit scrolls (visible chevrons) instead of cutting tabs off

Owner, 2026-11-09 (MarkupCraft right panel): the tab row (Properties, Markups, Punch list, Tasks, Notes, Field, Tool chest) was cut off with no way to scroll; only widening the panel reached the last tab. Tab labels never wrap.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.148 Link to FX.148Comment on FX.148 All apps: every panel and sub-section header is title, lock, caret at the far right (open down, closed up); lock at 50% opacity

Owner, 2026-11-09 (MarkupCraft, DetailCraft, CivilCraft, CadCraft panels): carets were on the left, lock icons hung off the title, CivilCraft's sections had neither, carets did not line up. One shared header; the direction is one CSS variable (--af-caret-open / --af-caret-closed); --cc-lock-opacity .5. A lint reads the DOM of every app. Sections that were open stay open by default.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 2 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.149 Link to FX.149Comment on FX.149 All apps: every tooltip is a Bootstrap tooltip

Owner, 2026-11-09: the top-bar icon buttons showed the browser's native title tooltip. Rule: all tooltips are Bootstrap (local 5.3). One delegated initialiser upgrades every title in the shell; no double tooltip; keyboard focus shows it.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.150 Link to FX.150Comment on FX.150 All apps: the row-remove x is small and shared; the start/help card has a close x

Owner, 2026-11-09 (DetailCraft Levels rows; the 'Start a model' card): the x buttons were too large, and the start card could not be dismissed. One compact .shell-x style; the start card closes, is remembered per app, and comes back from the palette.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.151 Link to FX.151Comment on FX.151 All apps: add-on toolbar buttons look and behave like core ribbon buttons (PartCraft Print stage)

Owner, 2026-11-09: the Print stage button had no gap between icon and label and a non-standard grey fill and white border. The add-on loader mistook the right panel's pin tab for the toolbar; the button now carries the core tool class (same computed style at rest in PartCraft, BimCraft, ModelCraft).

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.152 Link to FX.152Comment on FX.152 DetailCraft and the other apps: the mass readout ("0 kg") belongs in a panel section, not a fixed corner pill

Owner, 2026-11-09: the '0 kg' pill sat in a fixed corner and could not move; it should really be in a panel. Moves into a section of the panel (title, lock, caret) so it docks, folds and floats with the panel system; the fixed-corner widgets of the other apps are audited.

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
FixFX.153 Link to FX.153Comment on FX.153 All apps: browser tab titles and favicons follow one pattern

Owner, 2026-11-09 (tab strip screenshot): DetailCraft read 'Untitled — DetailCraft' while the others read '<App> — Lab | CadCraft'; favicons missing or inconsistent. Pattern: '<App> | CadCraft' on /use, '<App> — Lab | CadCraft' on /lab, '<document> — <App> | CadCraft' with a document, '| CadCraft' always last; each app has its own icon (SVG plus raster fallbacks).

CadCraftBimCraftModelCraftMarkupCraftTakeoffCraftCivilCraftDetailCraftPartCraft Built · Live 1 Checked 2026-11-09: in /lab and the 0.9 web folders. Desktop installers staged, not published; ship as 0.9.1 on the owner's go (docs/0.9.1.md 91.2). docs/results/0.9/2026-11-09-suites-fix-ui.md
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.