NativeGround
Calls the reconstructed complete `Ground::UpdateSkateboard` on existing Zero Body entities. It consumes explicit native records supplied by the controller/animation observation producer; it is not a standalone input controller. The live producer connection is still under developm…
Native ground execution boundary
Calls the reconstructed complete Ground::UpdateSkateboard on existing Zero Body entities. It consumes explicit native records supplied by the controller/animation observation producer; it is not a standalone input controller. The live producer connection is still under development.
Bind a World, active BoardFeedback and the two truck Drive entities. Supply the resolved numeric profile, native history after entry, current GroundBoardInput/physical observations and truck base frames. Set entered only after the native entry lifecycle has completed; update is refused before that. Enable only after all records are prepared. inputTick must match the World tick. Ground uses one substep per observation; stale records are refused. Full ground and standalone BoardSteering cannot own the same feedback binding.
forcesBefore preserves any already-queued native point forces before this update appends its records. Every force uses the existing queue and native point-force consumer. Returned history, drive frames, material and linear drag publish on Zero components. No hidden body or second solver is created. Missing required wall-jump trajectory launch/update currently rejects the entire transaction; that provider remains required before this branch is usable. Never treat ordinary-ground success as proof of trajectory support.
Reset restores the explicit controller history and drive frames with the body snapshot. The producer must prepare observations for the reset tick before resuming.
Live body observation stage
inputSource optionally supplies the shared native input-builder record instead of a complete input record. Each transaction derives current board motion, mass, wheel normal, contact flags and wheel count from its actual bodies and BoardFeedback. The original native mapping is retained: processed416 is ground-linear velocity; processed720 is angular velocity. producedInput exposes the generated record locally for inspection without entering the solver's retained state.
Other observations still require real providers: animation/control attributes, reckoning/pose observations, lifecycle times, pumping and geometry/state-machine results. They must be prepared for inputTick; a diagnostic snapshot is not a continuous controller. The live clock/pose/control producer remains unfinished.
Native input clocks
An inputSource.lifecycle record supplies captured_category, signed_ground_step, and the one-tick teleported signal. The native input-clock owner then maintains ground duration, signed ground time, inactivity, teleport frames, spin history and crouch difference in state.input_clocks. It advances only in a submitted physics transaction and is restored with the normal World state snapshot. Without this optional record, externally supplied timing remains authoritative.
The category/signed-step signals and per-frame flags must come from their real state/input owners. This does not perform physical Ground entry/exit, update its separate elapsed-state timer, provide pose/geometry observations, or make a continuous controller out of a captured context.
Exit and observation
Set operation=exit with current observations, an entered controller, inputSource (the pumping owner), and standardWheelMaterial containing explicit static/dynamic friction and restitution. The native exit resets steering history/pumping, clears all seven linear drags, restores wheel material and runs the original animated-velocity clamp when that branch is active. The result clears entered and changes operation to observe.
Observe continues current input observation/history without applying Ground forces or writing wheel materials/drive targets. A separate BoardSteering may own those drives. Exit is required before observing an entered Ground controller. Update after exit is refused until real entry completes. Physical entry and continuous state selection remain under development.
World.restoreState restores the saved drive frames and pumping state; current configuration and unrelated input-source fields remain owned by their producers.
Explicit physical entry
Set operation=enter, bind the existing hookDrive, and supply entrySettings: explicit rider_mode, previous category/state, deck angular drag, powerslide-exit scale, landing strength/offset, and the standard wheels/trucks/deck materials. Entry uses the real source/pumping state and current bodies. rider_mode=none means no simulated rider; no hidden body is created. bound currently refuses entry until the real Zero rider owners are connected.
The shared native executor initializes physical rates/controllers, disables the actual hook drive, resets pumping/wipeout state and handles the manual/re-entry/landing-force branches. Standard collider enables and materials reach the current solve and the actual Body/CollisionVolume components. The native assembly class is retained separately from Zero's self-collision group. RestoreState restores collider flags and hook parameters and checks their topology first.
This is body-only entry support, not completed rider-bound entry or a continuous gameplay controller.
Fresh entry may use state {}; the kernel creates native initial history and then executes entry. Full update/exit still requires entered state.
inputSource.body_update opts into the original Ground begin/pumping/prediction/finish sequence for an explicitly riderless rig with pose.observation.mode="body_com". Pumping settings and selected mode remain authored inputs; history is retained in state.body_update. Bound-rider target owners and the normal command/geometry producer are not yet connected. This option alone is not a finished playable controller.
inputSource.kind="body_commands" enables a fresh riderless producer. Supply native settings, pose (body_com) and body_update tuning. Current commands are the component's editable fields; callers need no captured input/physical record. For first entry, use state/input/physical {} and explicit entry settings. W/S/A/D mapping is available through InspectionSession.ground. This path is verified for live push/coast/brake/steer/reset, but sustained rest still fails validation and saved-default/installation acceptance is pending.
The riderless body_commands source can now include flight settings for native
Ground/Air selection, jump calculation, Air reckoning and the angular hook drive.
Increment jumpSequence once per jump; jumpStrength selects the configured
height response. Full rider/trajectory/trick integration remains unfinished.
Scoped to this part · feeds back into the world's score.