Why this matters
Draft already stores a tangentPropagation field, but document creation and schema validation explicitly reject true. Users must select every tangent-connected face manually.
Scope
- Support constant-angle Draft propagation from persistently named seed faces.
- Discover the current exact tangent-connected face set through OCCT adjacency, not geometric proximity or traversal order.
- Persist authored seeds and an explicit source-owned policy, then rediscover the chain on every rebuild.
- Expose the option through typed Draft operations and the visible Draft dialog.
- Keep variable-angle Draft and heuristic propagation out of scope.
Relevant files
src/static/studio-kernel-robustness.js or a focused new robustness module
src/static/studio-v5-feature-types.js
src/static/studio-v5-runtime-document.js
src/static/studio-kernel.worker.js
src/static/studio-agent-service.js
src/static/studio.js
scripts/studio-kernel-robustness-smoke.ts
scripts/topology-modifier-history-smoke.ts
Acceptance evidence
- One named seed expands to the expected exact tangent-connected faces.
- A warm rebuild, a fresh worker, and a save/reopen cycle produce identical canonical B-rep and complete persistent topology names.
- Evidence binds the feature, canonical document hash, source B-rep hash, expanded face names, and result topology.
- Missing names, non-tangent boundaries, ambiguous ownership, and kernel rejection publish no new geometry.
- Typed and visible workflows persist the same intent.
- No last-valid fallback is reported as successful completion.
Test commands
npm run build
npm run smoke:kernel-robustness
npm run smoke:topology-modifiers
npm run smoke:feature-registry-runtime
npm run ci:gate
Contribution size
XL: a new exact topology-expansion policy, kernel evidence, typed lifecycle, and visible authoring surface.
Maintainer response expectation
Post the requested design note and wait for maintainer scope confirmation before implementation. Staged pull requests are encouraged where the issue says so.
Why this matters
Draft already stores a
tangentPropagationfield, but document creation and schema validation explicitly rejecttrue. Users must select every tangent-connected face manually.Scope
Relevant files
src/static/studio-kernel-robustness.jsor a focused new robustness modulesrc/static/studio-v5-feature-types.jssrc/static/studio-v5-runtime-document.jssrc/static/studio-kernel.worker.jssrc/static/studio-agent-service.jssrc/static/studio.jsscripts/studio-kernel-robustness-smoke.tsscripts/topology-modifier-history-smoke.tsAcceptance evidence
Test commands
Contribution size
XL: a new exact topology-expansion policy, kernel evidence, typed lifecycle, and visible authoring surface.
Maintainer response expectation
Post the requested design note and wait for maintainer scope confirmation before implementation. Staged pull requests are encouraged where the issue says so.