3.0 KiB
OpenSCAD Registration Block Removed
Status: implementation_ready, pending user validation. No runtime tests or business acceptance were run. The static registration/build gate remains enabled.
Cause
The four selected commands already called the embedded desktop implementation, but the C++ dispatch condition named only the desktop-command family. No explicit command implementation markers were present. The capability registry therefore could not register them, and the pipeline correctly refused to build an unknown implementation. Repeated interface reviews and textual claims of implementation_ready did not create a build receipt.
The model work packet also omitted this diagnostic: implementation_incomplete has exit code zero, while its diagnostic list previously included only failed commands. The scheduler supplied the source but hid the actual registration gap.
Changes
- OpenSCADRuntimeProbe.cpp now explicitly dispatches the supported native command names to the existing executeDesktopCommand/desktopCommandScript path.
- Four implementation markers register Edgestofaces, ExpandPlacements, ExplodeGroup and IncreaseToleranceFeature. Exposed status is set only after actual execution succeeds; errors remain restricted. No registry rule was relaxed, no unconditional success was introduced, and no test was disabled to manufacture a result.
- Existing local OpenSCAD2Dgeom, expandplacements and OpenSCADFeatures code, current-document transactions/recompute, React/Worker and file handling are reused. Desktop behavior references are in src/Mod/OpenSCAD/OpenSCADCommands.py.
- v24 scheduler raw and compacted work packets now expose missingIds and rejected registration markers and require completion of the native registration/build handoff, not another generic interface review.
Publication
| Step | Result |
|---|---|
| Native OpenSCAD incremental compile/link | Exit 0, 33.968 seconds |
| Published runtime sync | 1.354 seconds, 3 copied / 95 skipped |
| Formal implementation pipeline | implementation_ready, 1.371 seconds |
| Static registration | 4 selected / 4 ready / 0 missing |
| Implementation receipt | 4 records / 0 remaining, user_during_use |
| Planner exclusion set | All four IDs present |
The formal pipeline's second Ninja invocation took 0.206 seconds and performed only dependency/version checks, not another compile/link. Its buildRequired metadata seeded its own content cache; the actual compiler output is retained.
The independent batch/packet/report files are named openscad-registration-handoff-{batch,packet,pipeline}.json in this directory. The report and official implementation registry retain the actual build target, artifact paths and four command IDs. The active scheduler batch was not overwritten.
Only this registration block is resolved. Other OpenSCAD commands and other modules retain their own unfinished status. The scheduler has loaded v24 but may still wait for unrelated modules' existing cooldown; this is not a claim that all project stalls are resolved or all functionality has been ported.