Skip to content

Windows on buildings, a Midnight theme, and a timeline colour fix - #1

Open
ryanjones97 wants to merge 3 commits into
icydotdev:mainfrom
ryanjones97:building-windows
Open

ryanjones97 wants to merge 3 commits into
icydotdev:mainfrom
ryanjones97:building-windows

Conversation

@ryanjones97

Copy link
Copy Markdown

Buildings get windows, there is a new Midnight theme, and a timeline colour bug is fixed. Each is its own commit, so they can be reviewed or taken separately.

Windows on buildings

Every building now has windows and a parapet round its roof, so the map reads as a city rather than a bar chart.

  • Windows and parapets only make a surface lighter or darker, never another colour, so every lens means what it did.
  • Windows are drawn in the building shader (no textures), sized in the map's own units, and grow with the building: towers get bigger windows and fewer, taller storeys.
  • Generated slabs and binary tiles stay plain, since they are too short for a storey.
  • Further off, a storey's windows run together into a band of glass, then into an even shade of the wall, so nothing shimmers or jumps as you zoom.

Midnight theme

A city of the future at night: towers of dark glass banded with light, neon trim along building edges, districts outlined in pink and cyan, a neon edge round the board, and a faint grid on the ground.

  • Every light is the colour of its own building, so the lens still says what it says. Changed lately is neon pink, new is neon green, uncommitted is amber.
  • A bloom pass makes the neon glow. It only runs for a land that asks for it, and only the neon lines bloom: walls and windows stay below the threshold, so busy views do not turn to glare.
  • Available from the theme menu and as --theme midnight.

Lands gain settings for this (glass, neon, lit, bands, trim, kerbs, bloom). All are off in Light, Dark and Beach.

Fix: buildings not yet built coloured as just built

In the history, a file born after the day being shown can still be standing while it sinks into the ground, for example when playback starts again from the first commit. eraColor mixed its colour past 100% of "just built", by as much as the time since the window began allowed. In the existing lands this showed as a flash of over-saturated colour on the sinking buildings. Such a building now takes its plain colour.

Testing

  • npm run typecheck and npm test pass.
  • Checked by hand in the browser on a 900-file repository, in every land, at near, middle and far zoom, in the Changed and Type lenses, and through timeline playback.

Notes

  • The README promises that recently changed files are warm; Midnight shows them in hot pink rather than orange-red. Happy to change that if you would rather keep the warm hue.
  • site/index.html still says there are three themes. I have left the site to you.

🤖 Generated with Claude Code

Windows only lighten or darken a wall, so the colour is still the lens. They grow with the building, and from far off run together into bands of glass and then an even shade, so nothing jumps as you zoom. Each land sets how bright its glass is.
In the history, a file born after the day shown can still be standing while it sinks into the ground, for example when playback starts again from the first commit. Its colour was mixed past 100% of 'just built', by as much as the time since the window began allowed, so it flashed far brighter than any colour should. It now takes its plain colour.
Towers of dark glass banded with light, neon trim along every edge, districts outlined in pink and cyan, and a bloom so that the neon glows. Every light is the colour of its own building, so the lens still says what it says. Lands gain settings for this (neon, lit, bands, trim, kerbs, bloom), all off in Light, Dark and Beach.
@vercel

vercel Bot commented Oct 23, 2026

Copy link
Copy Markdown

@ryanjones97 is attempting to deploy a commit to the icydev's projects Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
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