BS-PR-703 - Skeletal animation import, preview, and authoring workflow #46
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#46
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
Promote animation/skinning metadata from import warnings to a usable production workflow.
Scope
Acceptance criteria
Implemented and production-accepted in pushed commit
0553a85(with prerequisite editor workflow fixes incc1fa6e).Acceptance evidence:
cargo test -p editor -p game -p scene -p shared --libpassed with 155 editor, 30 game, 50 scene (1 migration test intentionally ignored), and 67 shared tests.cargo fmt --all -- --check,git diff --check, and strictcargo clippy -p editor -p game -p scene -p shared --lib -- -D warningspassed.cargo validate-levelsresolved 34 runtime dependencies with 0 blocking errors.339488ab-16a6-47c4-a0ea-0f97ff7a6393; schema-v2 manifest exposed 2 rigs and 14 clips. Expanded skeleton/clip shelf stayed stable, including safe full-scene thumbnails for skinned primitives.animation:clip:10:walking; clean reload hydrated the actor correctly.assets/models/characters/robot_expressive.glbpreserved UUID339488ab-16a6-47c4-a0ea-0f97ff7a6393, regenerated manifests at the new path, rehydrated the saved actor, and validated with 0 blockers.All BS-PR-703 acceptance gates are satisfied.
Corrective architecture follow-up — dedicated skinned renderer (2026-07-11)
The accepted animation workflow remains closed. This follow-up corrects the renderer boundary so rigged, skinned, or animated geometry is no longer represented or hydrated through static-mesh components.
Implemented
SkinnedMeshRendererand a dedicatedHydratedSkinnedMeshRoot; the runtime path preserves the imported joint hierarchy, inverse bind poses, and BevySkinnedMeshbindings.StaticMeshRendereror generic static slots.ModelRefactors toSkinnedMeshRenderer.The live editor evidence above shows RobotExpressive as a
SkinnedMeshactor, the dedicated Skinned Mesh Renderer inspector card, and the Asset Browser source annotation Skinned | dedicated renderer.Documentation
README.md,docs/README.md,docs/editor/README.md,docs/editor/animation-authoring.md,docs/editor/architecture.md, and the authoring/hydration ADR links.Verification
cargo test --workspacepassed.cargo fmt --all -- --check,git diff --check, workspace checks, and strict clippy with warnings denied passed.SkinnedMeshactor with the dedicated renderer card.Status: implemented and verified in the local worktree; this corrective slice has not yet been committed or pushed. No change to this issue's closed state.
Rbanh referenced this issue2026-07-11 18:49:46 -04:00
Reopened: default-pose and stop/restore regression
This issue is reopened because the current skinned actor workflow does not yet satisfy the original preview/hydration acceptance criteria.
The RobotExpressive fixture was reproduced outside the editor: its authored default node pose shows the same crouched/disconnected-looking result, while its imported rest/bind pose is coherent. The dedicated skinned renderer is preserving the source hierarchy; the missing product contract is an explicit edit-time pose lifecycle. A second regression is also confirmed: stopping preview clears playback but does not restore the sampled descendant
TransformandMorphWeightsvalues.Corrective acceptance:
Implementation and acceptance evidence are pending; the prior screenshot/ADR attachments remain historical evidence of the dedicated-renderer refactor, not proof that this corrective lifecycle is complete.
Corrective pose lifecycle implemented locally
The regression acceptance added in comment 863 is now implemented and verified on
codex/renderer-material-component-foundation:TransformandMorphWeightsbaselines captured before evaluation;Full test counts, documentation paths, screenshots, and the honest Solari deformation boundary are recorded on #51 comment 865.
This issue stays open until the local branch and committed evaluation screenshot are published; no pushed-state claim is being made.
Corrective pose-lifecycle acceptance is now published in commit
0798aa5d5724115b198d5ec2a2df57e051b49f60oncodex/renderer-material-component-foundation.Evidence:
The explicit stable default clip, imported transform/morph baselines, exact stop/reset/PIE restoration, independent two-skin validation, 19 draw bindings, material-only pose preservation, and save/hydrate/PIE regression coverage are all implemented and published. Closing BS-PR-703.