Skip to content

Fixes: new icon, no scatter on roads, cars roam the streets - #36

Merged
Sagyam merged 1 commit into
mainfrom
claude/fixes
Nov 7, 2026
Merged

Sagyam merged 1 commit into
mainfrom
claude/fixes

Conversation

@Sagyam

@Sagyam Sagyam commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Clears the roadmap's Fixes section.

  • Icon: ui/scripts/icon.sh renders the icons from assets/logo.svg (rsvg-convert); notifications pass --icon=deepwork.
  • Stones and bushes on the road: tuft scatter now uses onStreets() (the full asphalt slab plus 1.5 m), tested against every road strip.
  • Traffic loops forever: new pure roads.ts lane graph. Cars go straight or turn at each crossing, obey the same signal cycle the lenses show (from a town on), give way at unsignalled crossings, and keep a gap. A 10-minute simulation in tests at tier 0 and tier 2 checks spacing (>2.5 m), no entry on red, and that every car keeps moving. 0.03 ms a step at 330 cars.

Trips with destinations, buses on lines and roundabouts stay in the Streets ideas, since they need the street graph.

Not yet looked at in the real window: worth checking bun run dev with ?mock=city / ?mock=metropolis for how the turns look.

🤖 Generated with Claude Code

- Icons: ui/scripts/icon.sh renders the window, tray and notification
  PNGs from assets/logo.svg with rsvg-convert, replacing the old night
  skyline drawn by icon.mjs. The agent passes --icon=deepwork to
  notify-send, which the packages install into hicolor.
- Town-grass tufts and rocks skipped only a block's pitch less 1 m, so
  every street's centre line and the outer streets got them. onStreets()
  in plan.ts matches the asphalt slab (the whole pitch), with a 1.5 m
  margin for crowns; tested against every road strip.
- Traffic: cars drove one loop round their block forever. roads.ts builds
  a lane graph (a lane per block side, block on the right) with straight,
  right and left turns at each crossing that stay on the asphalt. Cars
  pick turns at random, stop at red on the signal cycle the lenses show
  (signal(), now shared with real.ts), give way inside unsignalled
  crossings, wait for room beyond and keep a gap. Simulated 10 minutes
  in tests at tier 0 and 2: no car within 2.5 m of another, none enters
  on red, all keep moving. Indexed by lane: 0.03 ms a step for 330 cars.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Sagyam
Sagyam merged commit 82a0a4d into main Nov 7, 2026
6 checks passed
@Sagyam
Sagyam deleted the claude/fixes branch November 7, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant