BS-JD-215 - Static and skinned model-asset material slot mappings #64

Closed
opened 2026-07-13 16:52:03 -04:00 by Rbanh · 1 comment
Owner

Summary

Add model-asset material defaults keyed by stable imported slot IDs for both static and skinned sources.

Contract

Material resolution is: imported source fallback -> model-asset mapped project Material/Instance -> scene/prefab renderer override. Clearing an override returns to the next lower layer.

Scope

  • Persist per-model slot mappings to project Materials/Instances by stable slot/subasset ID, never display name.
  • Add model Details controls for Browse, Assign, Locate, Clear, effective source/default state, and orphan repair.
  • Resolve model defaults for existing and future placements that have no scene override.
  • Keep current explicit scene/prefab assignments strongest and migrate them unchanged.
  • Reimport reconciles surviving slots by ID, keeps removed mappings as visible orphans, and never reconnects by name.
  • Patch material-only changes without respawning static geometry, skinned joints, or animation state.

Acceptance criteria

  • Existing project Materials/Instances can be assigned to individual imported model slots in Content Browser Details.
  • Static and skinned placements use identical precedence rules.
  • Changing a model default updates unoverridden existing/future placements; explicitly overridden actors remain unchanged.
  • Clear operations walk back through model default to source fallback predictably.
  • Reimport preserves matching mappings and reports removed slots as orphans.
  • Save/reopen, prefab, undoable scene override, PIE, and validation behavior are correct.

Dependencies

Child of #59; depends on storage contract #60 and path-agnostic catalog #62. Builds on #51 and is independent of runtime property blocks #53.

## Summary Add model-asset material defaults keyed by stable imported slot IDs for both static and skinned sources. ## Contract Material resolution is: imported source fallback -> model-asset mapped project Material/Instance -> scene/prefab renderer override. Clearing an override returns to the next lower layer. ## Scope - Persist per-model slot mappings to project Materials/Instances by stable slot/subasset ID, never display name. - Add model Details controls for Browse, Assign, Locate, Clear, effective source/default state, and orphan repair. - Resolve model defaults for existing and future placements that have no scene override. - Keep current explicit scene/prefab assignments strongest and migrate them unchanged. - Reimport reconciles surviving slots by ID, keeps removed mappings as visible orphans, and never reconnects by name. - Patch material-only changes without respawning static geometry, skinned joints, or animation state. ## Acceptance criteria - [ ] Existing project Materials/Instances can be assigned to individual imported model slots in Content Browser Details. - [ ] Static and skinned placements use identical precedence rules. - [ ] Changing a model default updates unoverridden existing/future placements; explicitly overridden actors remain unchanged. - [ ] Clear operations walk back through model default to source fallback predictably. - [ ] Reimport preserves matching mappings and reports removed slots as orphans. - [ ] Save/reopen, prefab, undoable scene override, PIE, and validation behavior are correct. ## Dependencies Child of #59; depends on storage contract #60 and path-agnostic catalog #62. Builds on #51 and is independent of runtime property blocks #53.
Rbanh added this to the M2 - Content workspace and asset pipeline milestone 2026-07-13 16:52:03 -04:00
Author
Owner

Closed against M2 candidate cf6eaba

Model slot authoring now exposes stable slot identity, source health, effective ownership, project assignment, locate/clear, and explicit orphans. Reimport reconciles strictly by stable slot ID; registry metadata and runtime manifests retain the same resolved mappings.

Consolidated code, deterministic, native, and package evidence: M2 evaluation record. Candidate gates passed in full and the commit is published on codex/m2-content-workspace.

## Closed against M2 candidate `cf6eaba` Model slot authoring now exposes stable slot identity, source health, effective ownership, project assignment, locate/clear, and explicit orphans. Reimport reconciles strictly by stable slot ID; registry metadata and runtime manifests retain the same resolved mappings. Consolidated code, deterministic, native, and package evidence: [M2 evaluation record](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/src/commit/cf6eaba53473d2825d0109f5a18f44794af5bd48/docs/editor/evaluations/content-workspace-m2/README.md). Candidate gates passed in full and the commit is published on `codex/m2-content-workspace`.
Rbanh closed this issue 2026-07-17 23:47:25 -04:00
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Falling-Metal-Interactive/Blacksite#64
No description provided.