New primitive shapes
Ten 3D primitives and six 2D ones, paths given thickness, booleans in both dimensions, a cloner, and a word as a mesh.

What landed
-
Primitives. Torus, pyramid, prism, tube, rounded cuboid; ellipse, star and ngon in 2D.
segments,rings,sides,corner_radiuson all of them.
-
Paths.
path2dandpath3dassets. Extrude with a bevel, lathe, sweep along a rail, stroke.
-
Booleans.
boolean3dandboolean2dover a node's children: union, difference, intersection. Operands stay editable; moving one recomputes. Booleans nest.
-
In 2D.
shape2dgainedellipse,starandngon, andboolean2djoins, cuts and intersects filled outlines the same way. The 2D booleans run oni_overlay, which works in fixed-point integers and so lands on the same vertices on every platform. -
Cloner. Linear, radial, grid.
seedandrandomscatter the copies. A thousand copies are one draw call, custom materials included.
-
Text.
kind = "text"on ameshasset: a word as geometry, counters kept as holes, sized in world units, sitting on its baseline. -
Colours and morph targets. Both survive a glTF import now. A morph weight is a property, so a clip drives it as
mesh/morph.<name>. Vertex colours reach a material that asks:features = { vertex_color = true }.
Why one mesher
- A collider fitted to a torus is a torus, not the box around one.
- A ray picks the shape that is drawn.
- Tests measure meshes: closed, outward-facing, the exact volume a boolean should have.
- Deterministic by construction:
libmfor the curves, and a BSP that is dot products and lerps with no transcendental to pin. - The meshers are the engine's own, not a renderer's and not parry's: core
builds the triangles, and physics fits its colliders to them. Parry stays
where it belongs, under the colliders and the
geometry3dtoolkit.
[[assets]]
id = "ring"
type = "mesh"
kind = "torus"
radius = 1.1
tube_radius = 0.28
[nodes.mesh]
source = "#ring"
[nodes.collider3d]
kind = "trimesh"
mesh = "#ring"
Try it
examples/objects: five rows, one per category, then the 2D layer, and the camera walks them. It runs in the browser too.- The manual and the generated asset and component references.
