Skip to content

editor: socket authoring — bone picker, offset gizmo, live preview #172

Description

@shadow-kernel

Context

Placing a pistol grip precisely into a hand by editing offset numbers is misery. The editor needs visual socket authoring. Building blocks exist: the Keyframe Editor already renders skinned meshes with bone preview (RenderSkinnedMeshes), the always-on-top gizmo pass handles overlay drawing, and the inspector patterns (pickers, drag & drop) are established.

Goal

Inspector + viewport tooling: choose a bone from the skeleton (searchable tree/dropdown), drag the attached entity into place with the transform gizmo while a clip plays, and see the result live.

Acceptance Criteria

  • Attachment component inspector: skeletal-entity reference + searchable bone dropdown (skeleton hierarchy order)
  • Selected socket shows a small axis gizmo at the bone; offset editable via the normal transform gizmo in socket-local space
  • 'Preview clip' selector: play a walk/idle/fire clip in edit mode while adjusting the offset (reuse Keyframe Editor playback path)
  • Drag & drop an entity/prefab onto a bone in a skeleton view creates the attachment with identity offset
  • Offsets undo/redo-able and saved into scene/prefab
  • Bone names of the selected skeleton visualized on demand (skeleton overlay toggle in viewport)

Technical Notes

Socket-local gizmo math: gizmo delta must be transformed into bone space (inverse bone world × delta). Follow the audio-gizmo issue's integration pattern for the viewport overlay toggle.

Dependencies

  • animation: bone socket system — entities attach to skeleton bones and follow animation exactly

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1-highHohe Priorität – als Nächstes einplanenarea:animationSkelett-Animation, Keyframes, State Machinesarea:editorEditor-Fenster, Docking, UX, Gizmoshorror-blockerEssenziell BEVOR die Horror-Game-Entwicklung startetsize:M1–3 Tagetype:featureNeues Engine-/Editor-Feature

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions