Skip to content

Gate 0B: claim → place → earn → collect vertical slice (k claim) - #99

Merged
BrandDead merged 4 commits into
main-tL2525from
feat/gate-0b-vertical-slice
Aug 6, 2026
Merged

Gate 0B: claim → place → earn → collect vertical slice (k claim)#99
BrandDead merged 4 commits into
main-tL2525from
feat/gate-0b-vertical-slice

Conversation

@BrandDead

Copy link
Copy Markdown
Owner

Summary

  • Lands the Gate 0B claim-to-save loop on current main-tL2525: Flask DBAdapter is authoritative for claim / place / tick-income / collect + GET /player/state, with shared CLAIM_BLOCK_COST = $5000.
  • Adds typed BlockSceneManifest / LiveBlockState / AttackSnapshot contracts (TS + Python) and vertical-slice tests.
  • Wires TerritoryMap / BlockModeView / ClaimBlockModal + useEmpireHydration to Flask; keeps main’s address→DNA/satellite claim path while replacing the local $2000 claim with the Gate 0B API.

Why this branch (not old feat/mvp-vertical-slice)

feat/mvp-vertical-slice was 28 commits behind main-tL2525 (Phaser sprints #90/#93, art wiring #82/#83, raids, trap app, etc.) and duplicated Las Olas history already squash-merged via #76. This PR cherry-picks Gate 0B onto today’s default branch for a clean review.

Test plan

  • cd backend/python && ./venv/bin/python -m pytest -q tests/test_gate_0b_vertical_slice.py tests/test_block_contracts.py (5 passed locally)
  • Blank SUPABASE_URL in backend/python/.env; start Flask; claim eligible block for $5000; place dealer; tick/collect; refresh — cash + placements hydrate
  • Confirm claim UI shows $5,000 (not $2,000); weekly payroll remains separate
  • Smoke TerritoryMap claim still applies DNA + satellite background after API success

Out of scope

Made with Cursor

Steven Wessel and others added 4 commits August 6, 2026 17:12
PEP604 union syntax blocked auth import so every /api route 404'd in local pytest.
Pillow 12 is unavailable on py3.9; pin a compatible range for baseline health.

Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce typed BlockSceneManifest, LiveBlockState, and AttackSnapshot on
frontend and backend with unit tests, plus CLAIM_BLOCK_COST=5000 shared constant.

Co-authored-by: Cursor <cursoragent@cursor.com>
Rewrite block claim/my-blocks onto the mock/Supabase adapter, add player state
and placement/income endpoints, and prove claim→deploy→earn→reload in pytest.

Co-authored-by: Cursor <cursoragent@cursor.com>
TerritoryMap claims through blocksApi, placements/collect sync to the server,
and useEmpireHydration reloads cash and blocks after refresh.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Aug 6, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
slide Ready Ready Preview Aug 6, 2026 9:15pm

@BrandDead
BrandDead merged commit f500462 into main-tL2525 Aug 6, 2026
3 checks passed
@BrandDead
BrandDead deleted the feat/gate-0b-vertical-slice branch August 10, 2026 17:05
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