Files
FreeCADWasmDev/docs/current/web-commandfeat-d937ec7eef2892d2286973f5-boundaries.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

35 lines
1.8 KiB
Markdown

# CommandFeat implementation boundaries
Batch: `d937ec7eef2892d2286973f5`.
`Std_Recompute`: implementation_ready / pending user use. The empty native
activation is preserved, matching `CommandFeat.cpp:62`; it does not create
macro directories or hydrate persisted macro files. The actual route catalog
and generator now recognize its existing PartBox family handler.
`Std_SendToPythonConsole`: implementation_ready / pending user use. Selection
entries for the same document object are combined with their subelements;
multiple different objects and stale objects are rejected. The existing
native handler binds real objects and geometry in `__main__`. On success the
adapter opens the existing `Std_CommandLine` owner workflow in PartBox, which
shares that namespace. Catalog and generator registration follows this actual
family handler and console activation path.
Remaining work:
- `Std_RandomColor` is accepted by the native macro handler's name filter,
but has no matching Python branch. Its desktop operation at
`CommandFeat.cpp:84` selects colors from CET::R1, changes diffuse material
colors, enables link material overrides, and also colors immediate group
children for App::Part and App::DocumentObjectGroup. It requires a nonempty
selection and wraps the operation in a command transaction. Connect this
behavior to the existing native document-view material owner before
registering it; the name filter alone is not implementation.
- Locate the persisted document-view material interface and desktop CET::R1
palette include, then connect random color mutation and structured scene
updates through that owner. Add Random Color to `commandFeatCommands` and
its behavior discovery only once this implementation exists.
The batch remains incomplete because Random Color is not implemented.
Outer pipeline owns incremental build, sync, and route generation.