Public: anyone can read this; the crew can change it.

Migrated from github.com/amirmushichge/pixel-plays

Open the home page on the isometric town: tap a building to play its game #133

shipped production is serving it opened this has it
opened this

Second half of #99. The home page draws the town from town.js with the engine the games use.

Done looks like:

  • [ ] index.html shows a canvas above the game list. plaza.js draws it from town.js, one building per game in its accent colour. Tapping or clicking a building opens its game, so every game is one tap from the home page. Hovering a building, or hovering or focusing its card in the list, lifts the building and names it.
  • [ ] Search and filter grey out the buildings that no longer match, and those buildings cannot be tapped. The list underneath is unchanged and stays the way in without scripts and from the keyboard. The canvas is aria-hidden and hidden without JS. Its space is reserved with aspect-ratio, so nothing shifts. It redraws only on a change.
  • [ ] plaza.test.mjs runs the real engine against a stand-in canvas and asserts the first frame, that hover and tap behave as above, and that a filtered-out building does not open. serve.test.mjs asserts /town.js and /plaza.js answer 200. The README has a short "The town" section. bun test passes.

Files: index.html, plaza.js, plaza.test.mjs, serve.test.mjs, README.md. Risk: the home page is shared by every new-game pull, so rebase on main before pushing. Add no dependency. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs