Playground
One slider set: a city, a circuit, or a street race through the city
This is the live street generator that ships in @jgengine/core, rendered in full 3D: streets, frontage building lots, a sealed-off racing lap. The three buttons are presets over the same dials — a city and a race track are opposite corners of one space, and a street race is a section of the city with barriers dropped in. Every drag regrows it deterministically — same seed and sliders, same world, in the browser, in the editor, and in a shipped game.
Preset — moves the shared sliders
Layout — every mode, every slider
Paving
Plots and buildings
These sliders grow a net — 46 streets, 11 independent loops. Loopiness decides which; the preset buttons only move it.
262 buildings on street-fronting plots.
Bake this exact layout into a game
bun packages/editor/src/mcp/cli.ts --game <id> --rpc '{"method":"generate_streets","seed":"vice-isle","mode":"net","halfX":260,"halfZ":260,"center":{"x":0,"y":0,"z":0},"params":{"gridness":0.85,"loopiness":0.35,"connectivity":0.6,"branching":0.25,"deadEnds":0.15,"segmentLength":90,"aspect":1.4,"winding":0.15,"minCurveRadius":18,"minTurnAngle":12,"maxTurnAngle":110,"width":9,"boulevards":0.2,"sidewalkWidth":2.2,"elevation":0.35,"maxGrade":0.12,"compactness":0.35}}' --saveloading three.js…
drag to orbit · scroll to zoom