Log inGet started
·
plugin · drop-in viewer
asset⌬ pluginpluginprimary: surface.module·originates fromworld 3d0fe004-d…

SkatePhysicsKernel

Stateless WASM adapter over the existing Skate Rust contact/joint/integration functions.

by◐Deata·posted 14d ago
What it does

SkatePhysicsKernel.plugin

Stateless WASM adapter over the existing Skate Rust contact/joint/integration functions.

The low-level step request accepts a compound shape:

{"type":"compound","children":[{"shape":{"type":"sphere","radius":0.2},"position":[1,0,0],"collision_enabled":true}],"authored_mass_frame":false}

Children retain their declared order and may be sphere, capsule, box or triangle. Each has a position and optional column-major rigid basis (identity by default). Triangle children provide vertices, fatness, edge_cosines and volume_flags; bake any child transform into triangle vertices. Non-rigid or mirrored bases, degenerate triangles and unsupported dimensions are rejected. Limits are64 children per compound and512 total collision volumes per request.

Mass includes collision-disabled children. The engine computes the native center of mass and principal axes internally. Body position/rotation and constraint anchors stay in the authored body frame; linear velocity describes the center of mass and angular velocity uses world axes. authored_mass_frame=true is an explicit source-owned override (the stock deck constructor uses it), not the normal choice for a user-defined asymmetric body. It keeps aggregate inertia while retaining the authored mass frame.

Child contacts use the existing primitive/triangle routines. Mesh contacts retain world-face order followed by child order. Friction/restitution come from the owning Body. No implicit rider is created.

Compound input is available through kernel/API.solve and Body.shape="compound" with editable CollisionVolume child entities. The complete board preset and remaining package acceptance gates are still under integration.

Trajectory delta

await(API.trajectoryDelta(request)) calls the reconstructed animation kernel. The request contains previous and current poses with translation (xyz), rotation (xyzw), scale (xyz), and weight. Pose defaults are zero translation, identity rotation, unit scale and weight1. Supply optional loop_transform with explicit rotation and translation when a wrap requires the authored transform. The result has the same pose fields. It retains current scale/weight and computes translation in the previous pose's rotation frame. Quaternion lanes follow the native operation without additional normalization. Nonfinite inputs/results fail.

The loop transform is applied once when supplied. It is not raised to a loop count; callers retain the playback clock and wrap policy as normal Zero state. This operation returns data and never changes an entity, input or ownership.

step_batch({steps,state}) performs1..16 native fixed steps and returns the final state. Multiple Ground steps require entered live body_commands updates; lifecycle transitions and external observation records are rejected for multi-step batches. No host-visible state is published from a failed batch.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

This asset doesn't declare a schema or structured payload.
⌬ Metadata
descriptionStateless WASM adapter over the existing Skate Rust contact/joint/integration functions.

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

8items
▣
module · born here
❒asset
# surface.module Luau entry point: step(explicitState) returns the next explicitState.
▲ 0↑ born
backing path · SkatePhysicsKernel.plugin

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.