Skip to main content

Spine Nodes

Spine Nodes are the individual modules that make up the PreciCore pipeline. They're at very different stages, and this page's job is to be honest about which: real code running on the current transport, or design intent with no code yet. See Architecture for how they're meant to fit together.

Nodes

NodeDescriptionStatus
Kinematic EngineForward/inverse kinematics for the 6-joint armReal, running — a Zig node using a from-scratch DLS solver (red)
CrackHeadMuJoCo physics simulationReal, running — Zig, subscribing to live joint angles
Input nodesKeyboard, iPhone IMU (Xbox controller has no code yet)Real, running for keyboard/iPhone IMU
Big-BossNamespace visualizer / planned runner + log-gathererReal UI shell, not yet reading a live namespace
PurifierKalman filter for tremor reductionNo code — design only
Robot ControllerOwns arm state, calls Kinematic Engine, dispatches to hardware/simNo code — this is a target-architecture split, not an existing node

Pipeline overview (target)

Input nodes → Purifier → Robot Controller ⇄ Kinematic Engine (RPC)

├──→ Embedded / Hardware
└──→ CrackHead

Every node is meant to talk to every other node exclusively through Spine — no import-time dependency between them. That already holds for the pieces that exist: kinematic-engine, for instance, only knows about whatever Subscriber/Publisher it's given, with zero awareness of what's upstream or downstream.

See also

  • Architecture — full system diagram with real-vs-planned status, and what changed from earlier drafts of this page
  • Spine Overview — the communication layer all nodes are meant to run on