▣
module · drop-in viewer
What it does
game.stage.tentGeometry
The shapes the big top is made of, as pure geometry.
Every function returns a MeshGeometry — flat positions / indices /
normals / uvs arrays, the shape renderer.mesh.create and
asset.create("mesh", …) both take. Nothing here touches the scene;
game.stage.Tent turns these into meshes and stands them up.
| Call | Shape |
|---|---|
revolve(profile, segments, axisX, axisZ) | A surface of revolution wound and normalled to be seen from INSIDE — the canvas. profile is { r, y } from the apex outward and down. UV.x is the fraction round the tent, UV.y climbs apex to hem, which is what lets a shader stripe it. |
bleachers(opts) | Raked plank seating swept round an arc: a seat board and its riser per tier. Angles are measured the way the ring is — 0 is +Z, toward the seat. |
house(seats, opts) | The whole audience as two geometries — cloth and faces — with every sitter's place, turn, lean and size baked into the vertices where they sit. A seat is { angle × π, tier, slouch, size, hat }. Nothing in the house moves, so nothing in it needs to be an entity. |
pushEllipsoid(g, cx, cy, cz, rx, ry, rz, segments, rings, yaw) | Appends a sphere with a radius per axis, carrying true ellipsoid normals — so one flattened into a hat brim still lights like one. |
pushCylinder(g, cx, cy, cz, rBottom, rTop, height, segments, yaw) | Appends a capped cylinder, or a frustum when the radii differ. cy is the bottom, so a thing that sits on a plank is placed at the plank. |
cone(topRadius, bottomRadius, height, segments) | An open shell seen from outside — the shaft of a spotlight. UV.y is 0 at the lamp and 1 at the pool. |
disc(radius, segments) | A flat disc facing +Y. |
pushBox(g, cx, cy, cz, sx, sy, sz, yaw) | Appends a box, each face carrying its own normal, to a geometry empty() made. |
triangleCount(g) | What a build produced — the cheap sanity read. |
Discussion
Scoped to this part · feeds back into the world's score.
Sign in to post.sign in
No comments yet. Be the first.