BS-JD-105 - Per-face material and UV controls #14
Labels
No Label
area:assets
area:brushes
area:extensions
area:governance
area:inspector
area:operators
area:physics
area:project-ux
area:quality
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
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#14
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
Allow brush faces to reference textures/materials and edit UV offset, scale, and rotation.
Why
Blockout needs quick visual readability and early material planning without leaving the editor.
Implementation notes
Acceptance criteria
Tests/docs
Serialization and hydration tests for material/UV data. Update brush/material docs.
Starting implementation for
BS-JD-105 - Per-face material and UV controls.Initial scope:
BrushFaceDescdata.SetBrushhistory.Hydrating distinct per-face material sections may require restructuring brush mesh generation into material batches; I will implement the inspector/data path first and then assess the hydration impact.
Progress checkpoint committed as
d847706 Add brush face controls.Implemented:
BrushFaceDescdata.SetBrushhistory.docs/editor/brushes.mdwith current behavior and limitations.Verification:
cargo fmt --checkcargo check -p editor --all-targetscargo check --workspace --all-targets --all-featuresLeaving this issue open for:
Checkpoint pushed:
015ae6d Add brush face asset pickers.Implemented:
EditorAssetReftext fields with Asset Browser-aware picker rows for Brush face Material and Texture refs.EditorAssetRefvalues when registry data is available.docs/editor/brushes.md.Verification:
cargo fmt --checkcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresRemaining follow-up for the full ticket: generated brush hydration still uses a single material batch, so face material/texture refs persist and can be authored but do not yet render as per-face material sections.
Checkpoint pushed:
dc59397 Hydrate brush face materials.Implemented:
EditorAssetRef.source_pathcache for loadable runtime hydration paths.MaterialAssetrefs with source paths load throughMaterialAsset::load_from_path.Verification:
cargo fmt --checkcargo test -p shared brushcargo check -p editor --all-targetscargo check --workspace --all-targetscargo check --workspace --all-targets --all-featuresKnown limitation: imported model source-material subasset refs still persist for future material-preserving CSG, but they do not yet resolve through shared brush hydration unless they have a loadable source path.
QA checklist audit completed; no additional local code changes made for this pass.
Evidence reviewed:
BrushFaceDescUV offset, UV scale, UV rotation, material ref, and texture ref through undoable brush updates.Verification rerun:
cargo test -p shared brushcargo check -p editor --all-targetsLeaving #37 checklist unchecked until interactive QA confirms face picker/drop, UV preview, and save/reload persistence.