Skip to content

Add exact tangent-chain propagation for Draft #10

Description

@protosphinx

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: kernelOpenCascade, B-rep, topology, and kernel robustnessenhancementNew feature or requestexpertRequires deep domain or architecture experience

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions