Skip to content

feat(town): add stable fullscreen and compact map overview - #15

Merged
jack-arturo merged 3 commits into
mainfrom
feat/townmap-overview
Sep 23, 2026
Merged

jack-arturo merged 3 commits into
mainfrom
feat/townmap-overview

Conversation

@autojack-bot

@autojack-bot autojack-bot Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Fullscreen previously stretched the map and entered native browser fullscreen. Towns also occupied a narrow, vertically growing map. This change preserves cottage scale while filling the browser window, and packs compact towns across the available width so working agents are easier to survey.

The Townmap gets zoom controls, keyboard shortcuts, and an Overview action that frames working and blocked households. Existing details become a collapsible floating panel in fullscreen, retaining drafts, tabs, and reading position. Town signs count working and blocked residents; known branch labels group neighboring cottages on initial placement. Feed updates and display changes preserve existing cottage positions.

Review contract

  • Fullscreen stays within the browser window and never calls native fullscreen APIs. Resize and mode transitions preserve map scale and world-space center, subject to edge clamping.
  • Zoom uses 50%, 75%, 100%, 125%, 150%, and 200%; browser shortcuts and editable fields retain their normal behavior. Interior rooms retain their fit-to-room presentation.
  • The single inspector remains usable in standard, desktop fullscreen, and narrow-screen layouts. Explicit inspections reopen it; background updates do not. Opening details does not resize or rescale the map.
  • Compact district allocation preserves existing plots, room identity, navigation, and historical/live inventory separation. Relationship paths use recorded metadata; branch grouping does not infer Git ancestry.
  • Overview respects filters, includes active roommates and shed residents, accounts for panel coverage, and keeps the 50% zoom floor.

Validation

  • npm test: 341 passing tests in an isolated Townmap-only snapshot.
  • Viewport, packing, and full browser smoke journeys passed on the scoped PR checkout in isolated Google Chrome using local demo/fixture data. The extension bridge was unreliable, so a temporary CDP adapter drove the existing journey scripts.
  • Local Codex review returned one P2 finding: relationship routes were rebuilt on every feed poll. Fixed with geometry-keyed route caching and invalidation coverage; a 100-town/99-relationship fixture measured 914 ms uncached versus 2 ms for an unchanged cached poll. No P0/P1 findings.
  • Desktop and 390px visual inspection completed. No messages were sent to real agents.

No feed/API contract changes, new dependencies, or breaking public changes are included. Wheel/pinch zoom, panel dragging, persistent zoom preferences, and Git-history ingestion remain outside this change. No related issue was supplied.

Large-PR override: the operator explicitly approved --allow-large for this cohesive 17-file change.

Implementation harness: Codex desktop via AutoJack GitHub App.

@autojack-bot
autojack-bot Bot requested a review from jack-arturo as a code owner September 23, 2026 00:16
@autojack-bot autojack-bot Bot added babysit:active Babysit agent is actively working this PR babysit:waiting-codex 👀 Codex reviewing current head and removed babysit:active Babysit agent is actively working this PR labels Sep 23, 2026
@jack-arturo

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-23T00:32:02.499700Z 7608353 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 7608353b8f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@autojack-bot autojack-bot Bot added babysit:ready 👍 Codex all clear + gates pass; human may merge and removed babysit:waiting-codex 👀 Codex reviewing current head labels Sep 23, 2026
@autojack-bot

autojack-bot Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Babysit ready — verified green at 7608353b8f85f276848adc733da46095a3d653ac. The PR is open, non-draft, and mergeable. CI smoke passed. Hosted Codex finished clean with a current-head reviewed-commit marker and 👍; there are no review threads or residual findings. No merge was performed.

Validation: npm test passed all 341 tests, including the new route-cache invalidation regression. The focused route/layout/observatory checks passed all 32 tests. The viewport, packing, and full browser smoke journeys passed on the scoped checkout in real isolated Google Chrome using demo/fixture data. The full journey was repeated after the route-cache fix. A temporary CDP adapter was used because the Browser Hand extension bridge was unreliable; its tab activation was corrected during verification. No real-agent messages were sent.

Local review: one Codex built-in review pass (18m 24s; configured reviewer gpt-5.6-terra, no model override). It reported zero P0/P1 findings and one P2 about rebuilding relationship routes on every poll. That finding was fixed before publication with geometry-keyed caching and invalidation coverage. A 100-town, 99-relationship fixture measured 914 ms uncached versus 2 ms for an unchanged cached poll. No second local iteration or pre-push remediation gate was needed. Grok/shadow and Codex fallback were not used; no local gate was skipped. Hosted Codex reported zero findings, so there are no hosted misses to reconcile.

Run details:

  • Mode: create PR; branch feat/townmap-overview; 17 files, three commits, one push.
  • Size log: start=1591, 7608353b8f=1621 changed lines. The operator explicitly approved --allow-large; the 900-line gate was overridden.
  • Hosted review: one window, convergence clean; one guarded baseline request after the initial automatic-review grace expired. No further requests or later heads, no quota skip.
  • Babysit remediation pushes: 0 this run / 0 in the PR lifetime. No budget reset, trivial-fix exception, tracked residual issues, or unresolved scope decisions.
  • Execution: Tier A scripts handled status, size, labels, and polling; Codex desktop handled review triage, the fix, and verification. No Tier B executor or Grok harness was used.
  • Final state: babysit:ready, no blocker, no merge.

Implementation and babysitting: Codex desktop via AutoJack GitHub App. The one baseline review request used the operator identity through Babysit's guarded helper.

@jack-arturo
jack-arturo merged commit e5ed56e into main Sep 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

babysit:ready 👍 Codex all clear + gates pass; human may merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant