GameSurface Layering

This repo intentionally separates the generic game surface from the current staged mission fixture.

Layer 1: Generic Game Surface

The RG40XXV client in ports/game-surface/ should stay reusable for any 36-tile graph correspondence.

It owns:

It should not hard-code keyboard-mission task meaning into visible UI labels. Mission-specific language should come from the server response and appear only as node names, output summaries, or review text.