Repository navigation
Master plan, coin economy, daily goals, sound and weather - #37
Merged
Merged
Conversation
Buildings are named when their lot gets its design, from one pile per class in crates/daemon/names/ (houses, apartments, offices, shops, workshops, towers), loaded with include_str!. A design's own names come first, so a diner gets a diner's name; a name already in the city is skipped. Piles are append-only so names folded from the ledger never change. Existing buildings keep their names: the daemon writes a names_by_design event once at startup, and lots whose design was set before it keep the plan's names. Backups carry the event; the earliest one counts. In the app, NameSheet paints each building's name into a shared sign sheet the first time it is asked for, so S1's fascia, the café, diner and works friezes and O1/L1's name panels show the building's own name. The mock deals names the same way. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Layout (layout.rs): the plan's blocks on a grid, by district, with named streets between them; every lot has a slot, the street it fronts and a real address (odd numbers north, even south). The Hamlet strings along Main Street, the Town fills the south side, downtown grows two rows further south; five parks open by level. Economy (economy.rs, folded in world.rs): - Prices are list price plus 10% of the day's opening balance. - Land: the first plot is free, every other one is bought deliberately; a site starts only on bought land, focus waits as crew hours. - Paid repairs; streets upgrade lane > street > boulevard > avenue; decorations on park spots. - Stakes: a countdown at least as long as the recent median session can carry a bet; finishing doubles it, surrender loses it. - Daily goals (2 h of focus, a 90-minute session, three sessions) each open a box once a day: repair kit, hired help, or rarely a master crew, with a pity counter. Help adds build time, never focused time. Requests BuyLand, Repair, UpgradeStreet, Decorate, UseItem, and a stake on Start; `deepwork start --stake N`. Fire and quakes use the layout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- plan.ts lays lots out from the daemon's layout; a block shows once land in it is bought, parks once their level opens. Unbought plots carry a FOR SALE board. - Streets draw by class per block side: gravel lanes; tarmac, centre lines, crossings and lamps for a street; trees on a boulevard; edge lines on an avenue. - Parks from the plan have five spots (none on the sports ground) for the mayor's trees, benches, fountain, statue or bandstand. - Desk: Buy plot on needs, today's goals and items, a Town hall sheet for street upgrades and decorations; deed: paid repair and repair kits; start card: a stake on long enough countdowns. - The mock uses the daemon's layout (ui/src/layout.json, kept current by a Rust test) and mirrors land, repairs, streets, decorations, goals, items and stakes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ather Bells for a finished building and a repair, rubble for a collapse, a rumble for a quake, a fanfare at level-up and a clink for purchases, synthesised at play time (no audio files). A mute button sits by the menu. Each local day is clear, hazy, overcast or rainy; clouds dim the sun and thicken the haze, rain is one shader-animated draw. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Works through the roadmap's Ideas, not designed, with the design answers given in the thread. Builds on the names work this PR started with.
Daemon
crates/daemon/names/), dealt when a lot gets its design; never two buildings with the same name. No cutover marker: cities can start fresh.layout.rs): blocks on a grid by district, named streets, and for each lot its slot, the street it fronts and a real address. The Hamlet strings along Main Street, the Town fills the far side, downtown grows south. Five parks open by level.economy.rs, folded inworld.rs):BuyLand,Repair,UpgradeStreet,RenameStreet,Decorate,UseItem, andstakeonStart(deepwork start --stake N).App
ui/src/layout.json, which a Rust test keeps current) and mirrors the new mechanics.Not done (left in the roadmap)
Neighbourhood names and corner signs, junctions, traffic with trips, congestion (deferred as asked), seasons and quests, collection sets, residents, and land beyond the plan. Endowed progress is on hold.
Checks
cargo test: 149 pass.cargo clippy --all-targetsandcargo fmtare clean.bun test(45 pass) andtscpass.🤖 Generated with Claude Code