Context. Phosphor's renderer, made body-agnostic and turned into the agency display. Part of the [Ampere] Act 6 - Embodiment phase; depends on AMPERE's morphology + 2nd-order types.
Objective. MorphologyVoxelRenderer(morphology) → VoxelFrames of the posed structure, color/intensity from a SignalField. Render the commanded Pose (ghost) and observed Observation (solid) together — their divergence is the agency display (the gap the MuJoCo sim makes real). Constructed from a morphology ⇒ renders a hand or an arm with no code change.
Changes (Phosphor — multiplatform; depends on ampere-core, NEVER MuJoCo)
class MorphologyVoxelRenderer(private val morphology: Morphology) {
fun render(commanded: Pose, observed: Observation? = null, signal: SignalField? = null): VoxelFrame
}
Validation
Render the hand fixture posed by a canned trajectory; render the arm fixture with the same renderer (non-overfit twin); assert Spherical DOFs render orientation (not one angle); assert the commanded+observed overlay shows a visible gap when the two differ.
Out of scope
Lumos personality/atmosphere (Socket); EMS/servo; depth-mesh registration (a follow-up).
Scope ~3–5 pts · Model: Sonnet, medium (high for the segment-frame math).
Context. Phosphor's renderer, made body-agnostic and turned into the agency display. Part of the [Ampere] Act 6 - Embodiment phase; depends on AMPERE's morphology + 2nd-order types.
Objective.
MorphologyVoxelRenderer(morphology)→VoxelFrames of the posed structure, color/intensity from aSignalField. Render the commanded Pose (ghost) and observed Observation (solid) together — their divergence is the agency display (the gap the MuJoCo sim makes real). Constructed from a morphology ⇒ renders a hand or an arm with no code change.Changes (Phosphor — multiplatform; depends on
ampere-core, NEVER MuJoCo)Validation
Render the hand fixture posed by a canned trajectory; render the arm fixture with the same renderer (non-overfit twin); assert Spherical DOFs render orientation (not one angle); assert the commanded+observed overlay shows a visible gap when the two differ.
Out of scope
Lumos personality/atmosphere (Socket); EMS/servo; depth-mesh registration (a follow-up).
Scope ~3–5 pts · Model: Sonnet, medium (high for the segment-frame math).