A Sims-style building tool that lives in god mode. Lay out lots on the City Planner tab, then build on the armed lot: drag walls along a one-metre grid, fill floors and ceilings from a material catalogue, drag doors and windows straight into a wall (each one cuts its own opening…
A Sims-style building tool that lives in god mode. Lay out lots on the City Planner tab, then build on the armed lot: drag walls along a one-metre grid, fill floors and ceilings from a material catalogue, drag doors and windows straight into a wall (each one cuts its own opening and hangs a leaf that swings and blocks you when it is shut), run stairs between storeys — up to twelve of them — and cap it with a roof — gable, hip, shed, flat, thatch, conical — per storey. Furnish it from an 80-piece catalogue — sofas, beds, kitchens, lamps that light, patio sets — and when the catalogue lacks something, press the + at the end of any shelf and describe it: your game grows its own book of furniture, roof shapes and doors that ships with your saved lots. Roads and rivers draw as splines with their own ditches and crossings, and saved lots go to a shelf you can drag back into the world anywhere. Everything derives: the wall/floor/stair/roof meshes are one scripted mesh per storey, re-derived from the record whenever the record changes, so nothing accumulates junk objects. The x-ray storey view cuts the house open to the storey you are working on and puts it back when you step out.
Versions
1.5.1
Fixed plot copying and pasting leaving furniture behind. Copies now take the current furniture record on every storey, including rotations, variants and frozen library recipes; removed furniture stays removed. The creator confirmed pasting works, and all 15 package-level copy checks pass. Preserves the 1.5.0 Home, wall-picking and furniture-settling repairs. This patch changes only the copy function; the separate source-record save gap and existing cold-reload/integration acceptance limitations are not claimed fixed.
1.5.0
Engine 6-compatible SimpleCity update. Repairs Home startup and editor bench recovery, per-player selected-storey visibility, wall-face selection and painting in installed games, and furniture placement animations restarting after pieces settle. Bundles literal-resolved dependencies and scoped panel action delivery. Package/API checks pass and the creator verified building tools in the acceptance world. Cold-reload, remove/reinstall cleanup and optional companion-integration coverage remain pending.
1.4.1
Furniture and catalogue reliability update.
- Improved furniture placement persistence and cleanup of orphaned furniture lights and colliders.
- Strengthened recovery of saved custom catalogue rows after host changes.
- Preserves the existing building controls, furniture catalogue and saved-plot format.
Furniture changes were confirmed to persist after reloading the authoring world. Experimental replacement furniture tooling and its test stand are excluded from this release.
FURNISH + THE BOOK.
Furnish: a furniture catalogue on the Home tab (~80 pieces across seating, tables, beds, storage, kitchen, bath, lighting, decor, patio; lamps really light), pieces armed in hand, rotated, placed on the storey you are working on, and derived by one keeper per lot — saved lots carry their furniture.
The Book: every shelf — each furniture sub, the roof style strip, the door and window strips — ends in a "+" cell. Describe what you want; the ask reaches Savi, who answers with a row (a parametric piece from a shipped family, a conjured or uploaded model, a roof PROFILE polyline drawn as a real shape, or a door/window recombined from the shipped vocabulary) and it lands straight in your hand. Custom rows live in your game's book (60 per shelf) and ride along inside saved plots. Removing a row never breaks what stands. Door: SC.book.* (API 1.2.0; the 1.0.0 contract still holds, /sc check audits it and reports the book).
Also: a SIZE LAW for resolvers in skills/simplecity-book.md (a one-person piece fits 1×1, seats 0.5×0.5, copy the closest shipped sibling); the book desk heals a stale shelf copy after a host change; run_script door loads no longer log a caller probe error; plot lane detection is exec-seat aware.
1.3.0
The material book. Walls, floors, roads, rivers, ditches and roofs now share one book of materials: the shipped rows are read-only (lock glyph), and every game keeps its own custom rows beside them. A dashed "+" cell in each picker takes a plain-language ask ("wet black cobbles with moss in the joints") — the material cooks, lands in the book, and is handed straight to the surface you had armed. Roads and rivers get a material selector on the SPLINES tab; roofs get one on the Home tab. Custom roof rows carry a real /cdn/ albedo with a hex tint at one tile per metre; shipped roofs draw exactly as before. /sc-material export|import moves rows between games as JSON. A public door (lib/sc-api.js, manifest-frozen) lets other mods read the book, set materials and draw/erase runs; /sc check audits the door for drift. Also fixes the albedo repeat on custom road surfaces (one tile per metre, no stretch).
Show 10 older versions
1.2.7
Roads now land on their carved bed in every game. Each stretch of asphalt used to be a child of its road object and drew relative to it; in a host game where that parent failed to resolve at boot, the asphalt fell to the world origin plus its local offset while the carved path stayed where you drew. Every stretch is now a standalone object placed in world coordinates from the same points as the carve, so nothing can pull it off its bed. Erasing a road still takes its asphalt, lamps and kerbs with it (new sc-road eraseRun), and old parented stretches are migrated on the keeper's first pass.
1.2.6
Drawing a road no longer floods the world: the preview ribbon is lean (no lamps, walks or lane paint while you drag) and only the tail between your last corner and the cursor follows the hand — a drag is a couple of redraws, not thousands of spawns. The bridge keeper now holds a road–river crossing through a read that blinks instead of splitting and unsplitting the road save after save, and logs one line whenever the crossing set really changes.
1.2.5
The same fix, everywhere else it was hiding.
Roads, rivers and ditches were only the loudest case. The tool asked "what already exists here?" the same bubble-around-its-own-hand way when it hid and unhid storeys, when it swept door and window leaves, when it named lots, and when it checked whether a new lot overlaps one you already own — so in another game those reads could come back empty and take work away with them.
Every one of them now reads the whole place you are building in. The three reads that are genuinely about nearness — picking the door you're looking at, listing what stands on one lot — keep their reach, and now name their place. And any pass that would delete something refuses to run at all while the world is only answering in part.
1.2.4
Fixed: drawing a road, river or ditch in a game other than the one SimpleCity was built in could land on top of an earlier run and sweep away its bed, banks and crossings.
The tool used to ask "which runs already exist?" by looking in a bubble around its own hand, in a world it assumed was called "main". In another game that answer came back empty, so every new run took a number that was already standing — and the street keeper, reading the same empty answer, reaped the asphalt and the carved ground of everything it couldn't see.
Now the registry is read for the whole place you are actually building in, with no bubble, and the saved plan is counted alongside what is standing — so a new run can never take a name that is spoken for. And when the world only answers in part, the keeper adds but never takes away.
1.2.3
Portability fixes for installs in other games.
Cursor: every drawing gesture (roads, rivers, lots, the plot shelf, the house cursor) used to aim at a flat plane at y=0.09 — true only in the game the tool was authored in. On any ground that isn't dead flat at zero, corners landed sideways of where you pointed, so streets refused to snap and their panels read as disconnected. Aim now solves against the host game's actual terrain (new lib/sc-aim.js).
Windows: the hole was cut on the wall's plane (anchored at the lot corner) while the glass leaf was placed on the terrain height under its own spot — the same number on flat ground, up to metres apart on a slope, so the hole appeared and the glass hung out of it. Leaves and the hover ghost now use the lot's own ground column, on placement and on session reopen.
Ground: roads, rivers and ditches now ensure their own terrain material rows in the host game instead of assuming they exist, never overwrite a row the host already defines, and skip bed marks (with one honest hint on the SPLINES strip) on ground that can't take them. Every "places.main" assumption is gone — the tool asks which place it's writing into.
Long streets: centre-line dash cadence widens past ~450 m so a long run stays under the engine's geometry cap instead of truncating.
1.2.2
Fixes an installed copy drawing no wall, floor or roof surfaces and no wall ghost — only the flat-coloured tops. Texture refs now carry the "scripts/" head the engine's texture gate requires, so a mod-folder copy bakes its brick, boards and shingles the same way the dev copy does. Entering god mode also names the folder the tool resolved, on the first hint line.
1.2.1
Works in other games now. Three things kept SimpleCity working only in the game it was built in:
- The tool assumed nine rig objects existed (the wall ghost, the hover highlight, the floor and face washes, the stair preview pair, the paint ripple, the cursor pin and the build manager). They were authored objects in the home game and the mod ships no objects, so an installed copy had nothing to preview on. The tool now stands up its own bench on first use — idempotent, through persistence, invisible to players.
- Three keepers (storeys, roofs, stair colliders) hang off the build manager, so an installed copy never re-derived them. The bench spawns it with those behaviors attached.
- The folder probe that resolves texture and generator refs asked require() for a module the generators do not already hold; in an installed game that ask is refused and the tool fell back to its dev folder, which is why wall and floor materials never appeared. It now asks about a module every caller already holds, so it answers from cache in every realm.
1.2.0
Buildings go tall, doors act like doors, and the hands stop fighting over F.
- Storeys up to twelve, with a storey rail on the Home tab and Q/T to hop between them; the drag ghost and the x-ray cut now ride the armed storey instead of falling back to the ground floor.
- A shut door or window leaf carries the wall's collider again — closed means closed, walk into one and it stops you.
- New opening kit: garage doors, arched doorways with voussoirs, portcullis, shutter slits — every catalogue row draws its own picture in the picker.
- The land verbs follow the armed hand: with a wall, door, roof or stair tool armed, F belongs to the house tool alone, so a stroke that runs past the lot line no longer re-arms the neighbouring plot. FLOOR, or the City Planner tab, still selects land with F.
- Roofs, roads and storeys re-derive more reliably; picker art, textures and swatches share one recipe per pattern, so new catalogue rows arrive already drawn.
1.1.0
SPLINES: new road and river tools — draw a run with a 45° magnet aim, streets bridge water, ditches and crossings derive themselves; road and cross nodes are kept by their own keeper.
PLANNER: lots plan flush to their neighbours and refuse overlaps. New CATALOG side (LAND | CATALOG) — save a finished lot by name and size, see it as a drawn row, hold F to drag it back out and let go where it goes; Q/E turn it, V puts it back. Plots save to the creator's own desk, bound to their account, never into the mod folder.
Roofs got a set with swatches; openings (doors and windows) draw their own previews; stairs, floors and walls all re-derive from their keepers.
Fixes: restored plots stand at their lot instead of the world origin; the plot desk now speaks one identity spelling, so saves land.
1.0.0
First release. A god-mode building tool: lay lots on the PLANNER tab, drag walls on a 1 m grid, fill rooms with floors and ceilings, paint materials, drag in doors and windows that cut their own opening, stack storeys, drop stairs, cap it with a roof.