Why this matters
Edit in Context currently hard-rejects every occurrence path whose length is not one. That prevents editing parts inside subassemblies.
Scope
- Resolve and validate a complete root-assembly to nested-part occurrence chain.
- Enter context from a selected nested leaf and persist its full path.
- Classify only that exact full path as active; all other leaves remain ghosted and non-editable.
- Preserve source body identity while keeping runtime occurrence IDs out of saved part data.
- Exit back to the owning root assembly.
- Associative cross-part geometry references remain a separate task.
Relevant files
src/static/studio-assembly-edit-context.js
src/static/studio-v5-runtime-document.js
src/static/studio-v5-assembly.js
src/static/studio.js
scripts/studio-assembly-edit-context-smoke.ts
scripts/studio-assembly-runtime-smoke.ts
- New nested fixture under
tests/assembly-runtime/
docs/help/getting-started.md
Acceptance evidence
- A two-level subassembly fixture enters the intended nested part by full occurrence path.
- The active body keeps its exact composed solved transform.
- Shared-definition edits update every linked occurrence.
- Surrounding bodies remain visible but cannot be selected as editable topology.
- Save and reopen preserve the path, and exit restores the root assembly.
- Missing, cyclic, detached, or retargeted path segments fail closed.
- Exact owned body and reference counts are asserted, not inferred from scene meshes or DOM rows.
Test commands
npm run build
npm run smoke:assembly-edit-context
npm run smoke:assembly-runtime
npm run smoke:assembly-constraints
npm run ci:gate
Contribution size
L: document-path resolution, exact assembly projection, source-identity mapping, and visible selection behavior.
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
Edit in Context currently hard-rejects every occurrence path whose length is not one. That prevents editing parts inside subassemblies.
Scope
Relevant files
src/static/studio-assembly-edit-context.jssrc/static/studio-v5-runtime-document.jssrc/static/studio-v5-assembly.jssrc/static/studio.jsscripts/studio-assembly-edit-context-smoke.tsscripts/studio-assembly-runtime-smoke.tstests/assembly-runtime/docs/help/getting-started.mdAcceptance evidence
Test commands
Contribution size
L: document-path resolution, exact assembly projection, source-identity mapping, and visible selection behavior.
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.