skeleton
<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->
skeleton
<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->TODO: describe this module.
Interface
What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.
conforms to
zero/source-extract/v2game.player.skeleton — assembles the procedural bone creature from a build. Bones attach through BRANCHING SOCKETS, exactly the rules in game.rules: the lone skull opens `neck` and `spine`; each bone plugs into the first open socket of its kind and opens new ones where it sits (a rib cage opens two shoulders and two hips at its top and its pelvis, a leg opens another hip beside it so legs fan out like a spider's, an arm opens a hand, an extra skull opens a further neck and a shoulder below itself, a tail opens a spine). Every part's shape comes from its bone's length, weight and seed. local S = require("game.player.skeleton") local rig = S.build(parentId, build, { groundAtOrigin = true, sockets = true }) rig.rootId, rig.standHeight, rig.legs, rig.arms, rig.tails, rig.heads local id = S.buildBone(parentId, bone) -- one bone, centred on the parent Space: the skull faces -Z, +Y up. With `groundAtOrigin` the root sits at the parent's origin with the feet on it and the skull `standHeight` above; without it the root IS the skull centre (the live physics body).
qAxis(ax: ?, ay: ?, az: ?, a: ?) → void
| arg | type | description |
|---|---|---|
| ax | ? | |
| ay | ? | |
| az | ? | |
| a | ? |
qMul(a: ?, b: ?) → void
| arg | type | description |
|---|---|---|
| a | ? | |
| b | ? |
qFromTo(a: ?, b: ?) → void
| arg | type | description |
|---|---|---|
| a | ? | |
| b | ? |
node(parent: ?, name: ?, pos: ?, rot: ?) → void
| arg | type | description |
|---|---|---|
| parent | ? | |
| name | ? | |
| pos | ? | |
| rot | ? |
part(ctx: ?, parent: ?, name: ?, mesh: ?, mat: ?, pos: ?, rot: ?, scale: ?, onSelf: boolean?) → void
| arg | type | description |
|---|---|---|
| ctx | ? | |
| parent | ? | |
| name | ? | |
| mesh | ? | |
| mat | ? | |
| pos | ? | |
| rot | ? | |
| scale | ? | |
| onSelf | boolean? |
eyes(ctx: ?, skullId: ?, r: ?, onSelf: boolean?) → void
Eyes for a skull of radius `r`: a black void filling each socket hollow and a small green ember point floating in front of it (player_skull reference).
| arg | type | description |
|---|---|---|
| ctx | ? | |
| skullId | ? | |
| r | ? | |
| onSelf | boolean? |
coneMesh( ) → void
spikes(ctx: ?, parentId: ?, a: ?, b: ?, n: ?, size: ?, onSelf: boolean?) → void
Thorny spurs along the segment a -> b (parent-local), pointing outward.
| arg | type | description |
|---|---|---|
| ctx | ? | |
| parentId | ? | |
| a | ? | |
| b | ? | |
| n | ? | |
| size | ? | |
| onSelf | boolean? |
horns(ctx: ?, skullId: ?, r: ?, onSelf: boolean?) → void
Two curling horns on a skull of radius r.
| arg | type | description |
|---|---|---|
| ctx | ? | |
| skullId | ? | |
| r | ? | |
| onSelf | boolean? |
thickMul(b: ?) → void
Hollow bones are thinner: their thickness shrinks so the creature looks lighter.
| arg | type | description |
|---|---|---|
| b | ? |
ribDims(b: ?) → void
| arg | type | description |
|---|---|---|
| b | ? |
legDims(b: ?) → void
| arg | type | description |
|---|---|---|
| b | ? |
armDims(b: ?) → void
| arg | type | description |
|---|---|---|
| b | ? |
hipDepthOf(build: ?) → void
How high the skull stands for a build: leg height from the stats, but never so low the hips sink into the floor.
| arg | type | description |
|---|---|---|
| build | ? |
standHeight(build: ?, stats: ?) → void
| arg | type | description |
|---|---|---|
| build | ? | |
| stats | ? |
build(parentId: ?, build: ?, opts: ?) → void
Build the procedural skeleton for `build` under `parentId`.
| arg | type | description |
|---|---|---|
| parentId | ? | |
| build | ? | |
| opts | ? | { groundAtOrigin?, sockets?, selfLayer?, layer?, name? } |
take(kind: ?) → void
| arg | type | description |
|---|---|---|
| kind | ? |
buildBone(parentId: ?, bone: ?) → void
A single bone's visual, centred on `parentId`, about 0.4-0.8 m across.
| arg | type | description |
|---|---|---|
| parentId | ? | |
| bone | ? |
Sub-parts
Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.
Showing up to 3 levels deep. Open a part to see what it holds further down.
Problems
Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.
agent_score is exposed.+ 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".
Scoped to this part · feeds back into the world's score.