BS-JD-207 — Renderer material slots, material instances, and exact custom shader surfaces #51
Labels
No Label
area:animation
area:assets
area:audio
area:brushes
area:build-release
area:extensions
area:governance
area:hierarchy
area:inspector
area:navigation
area:operators
area:physics
area:project-ux
area:quality
area:rendering
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
roadmap:production
type:architecture
type:docs
type:epic
type:feature
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Falling-Metal-Interactive/Blacksite#51
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Build the renderer/material foundation required by Blacksite's production authoring workflow: stable material slots on static and skinned renderers, shared Material and direct-base Material Instance assets, and a constrained custom Surface WGSL contract evaluated consistently by raster and eligible Solari geometry.
Shipped foundation
cargo upgrade-projectprovide explicit transactional migration, backup/rollback, canonical renderer slots, and independent component active state.Acceptance criteria
Independently scoped follow-ups
These are separate subsystems with their own failure modes and acceptance fixtures. Closing this foundation does not claim either follow-up is implemented.
Published evidence
Core implementation: 0798aa5
Acceptance-boundary correction: 9a67a25
Current verification
The latest
mainsource gate after the M3 work is green: full workspace tests (224 editor tests), all-target Clippy, formatting, and 62-dependency project validation with 0 blocking errors. Packaged tests remain owner-deferred.Implementation evidence — local acceptance pass (2026-07-11)
Status: implemented and verified on local branch
codex/renderer-material-component-foundation; not committed or pushed. This issue remains open for the deformed-ray-geometry item and publication of the committed evidence.Implemented
SkinnedMeshRendererowns rigged, skinned, morph, and animated model placement; static manifests/hydration reject that geometry.TransformandMorphWeights, uses one stable configured default clip, and restores the baseline on stop, controller removal, preview reset, and PIE exit.cargo upgrade-projectprovide explicit transactional migration, backup/rollback, canonical renderer slots, and independent component active state.Documentation and screenshots
Canonical local record:
docs/editor/evaluations/material-renderer-foundation/README.mdKey captures:
docs/editor/evaluations/material-renderer-foundation/skinned-mesh-renderer-material-slots.pngdocs/editor/evaluations/material-renderer-foundation/custom-surface-on-skinned-renderer.pngdocs/editor/evaluations/material-renderer-foundation/material-instance-sparse-overrides.pngdocs/editor/evaluations/material-renderer-foundation/mesh-light-component-composition.pngdocs/editor/evaluations/material-renderer-foundation/larger-material-thumbnail-previews.pngArchitecture/workflow docs: ADRs 0033–0036,
docs/editor/material-system.md, anddocs/editor/extensibility.md.The Gitea MCP exposes issue comments but not attachment upload, and the browser profile is not signed into this Gitea instance. The paths above are therefore recorded honestly as local branch artifacts pending publication rather than represented as uploaded attachments.
Verification
cargo --locked --offline validate-levels: 59 dependencies, 5 non-blocking findings, 0 blocking errorscargo --offline upgrade-project --project . --json: no changes or warningscargo fmt --all -- --checkandgit diff --check: passRemaining boundary
Bevy 0.19 Solari does not expose dynamic post-morph/post-skin vertex buffers and BLAS updates. Deformed actors are intentionally omitted from ray tracing with an actionable diagnostic instead of appearing as stale bind-pose ghosts. The animated ray-hit acceptance item remains open until that engine boundary is solved.
Published evidence —
0798aa5The verified implementation is now published on
codex/renderer-material-component-foundation.Dedicated skinned renderer and stable Material slots
Custom Surface Material Instance on skinned geometry
Registry-driven mesh + light composition
Larger material previews
The dynamic deformed-BLAS boundary recorded above remains open; this publication does not claim that item is complete.