Gaitkit Open the lab
Castle Wall, A modular stone curtain wall for a 4 m castle grid: 4 m long, 2 m thick, with a wall walk 6 m up behind a corbelled, crenellated parapet facing +Z. Pieces: straight, corner (L with a corner turret), broken (ruined top with rubble) and stairs (a two-flight stone stair up to the walk on the -Z courtyard side). Torches glow at night.
Building · Still

Castle Wall

A modular stone curtain wall for a 4 m castle grid: 4 m long, 2 m thick, with a wall walk 6 m up behind a corbelled, crenellated parapet facing +Z. Pieces: straight, corner (L with a corner turret), broken (ruined top with rubble) and stairs (a two-flight stone stair up to the walk on the -Z courtyard side). Torches glow at night.

Size
4.0 × 7.8 × 2.7 m
Triangles
1,352
Open in the lab Ready for any engine. The download carries the knobs you set here.

Tune it

5 knobs: Piece, Stone, Crenellations, Torches, Seed.

Specs

Size
4.0 × 7.8 × 2.7 m
width × height × depth
Triangles
1,352
of 6,000
Draw calls
1
one vertex-colour material
Knobs
5
3 presets
Night lights
1
torch

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/castle-wall.mjs';

const castleWall = createAsset();
scene.add(castleWall);                      // rests on y = 0, front faces +Z

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
piecechoicestraight corner broken stairsstraightstraight (4 m wall section), corner (L piece: one arm to +X, one to -Z, outer faces +Z and -X, with a round corner turret), broken (ruined top and fallen stones; its left end stays whole to meet an intact neighbour), stairs (straight wall with a two-flight stone stair up to the wall walk on the -Z courtyard side; the stair reaches 2.4 m behind the wall).
stonechoicelimestone granite sandstone slate redstonelimestoneStone for the whole kit: limestone (pale warm grey, classic), granite (neutral grey), sandstone (warm tan, desert fort), slate (dark blue-grey, grim northern hold), redstone (red-brown). Use the same value on every Castle piece so they match.
crenelstoggleon / offtrueMerlons with arrow slits along the parapet (the classic notched battlement). Off gives a plain solid parapet with slits.
torchestoggleon / offtrueAn iron torch sconce on the outer face that burns after dark.
seedrange1 to 50, step 19Reshuffles block shades, proud stones and, for broken, the ruined outline and rubble. Course heights and the 4 m length never change, so any seeds tile.

Presets: ruined curtain {"piece":"broken","stone":"slate","seed":21} · desert rampart {"piece":"straight","stone":"sandstone","crenels":true} · corner bastion {"piece":"corner","stone":"granite"}

Files

FileWhat
castle-wall.glbGLB, default look · 172 KB
castle-wall.mjsES module, every knob live
castle-wall.objOBJ, static, no colour
castle-wall-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.