Skip to content

feat(inner-keep): add free-placement construction and a larger living town - #182

Draft
ael-dev3 wants to merge 19 commits into
mainfrom
agent/inner-keep-construction-v1
Draft

feat(inner-keep): add free-placement construction and a larger living town#182
ael-dev3 wants to merge 19 commits into
mainfrom
agent/inner-keep-construction-v1

Conversation

@ael-dev3

@ael-dev3 ael-dev3 commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

Redesign the inactive Inner Keep V1 as a larger, mostly empty town where players choose what to build and where to place it. The walled compound is now 96 × 80 meters, supports continuous snapped placement across its usable interior, and renders all six constructible buildings at their authored scale. Barracks and Cathedral are no longer prebuilt landmarks.

The feature remains inactive. This draft does not merge, deploy, publish, seed, backfill, or activate Inner Keep.

Player-facing changes

  • Replaces twelve undersized fixed plots with free placement across the buildable yard: 0.5-meter snapping, four quarter-turn rotations, clear green/red previews, keyboard/touch nudging, rotate controls, and explicit confirmation.
  • Adds six unique constructibles: City Mill, Lumber Camp, City Stoneworks, City Goldworks, City Barracks, and Grand Covenant Cathedral. Existing buildings can be selected and upgraded without relocation.
  • Starts with an open town yard instead of prebuilt Barracks/Cathedral or decorative construction pads. Only basic nonfunctional civic dressing remains around the permanent gate road and commons.
  • Expands the palisade to a 96 × 80-meter enclosure and uses native-scale building footprints, including the full Cathedral and Barracks envelopes.
  • Expands the detailed estate to 144 × 144 meters and the presentation-only countryside to 416 × 544 meters. Fields, hedgerows, roads, houses, graveyard, water, resources, wildlife, and forest continue well beyond the wall so the camera never exposes a hard map edge.
  • Keeps camera movement deliberately limited and screen-directional while allowing enough zoom to inspect placed buildings.
  • Retains the brighter, coherent Warpkeep town palette, natural wall joins, continuous roads, detailed cottages, warm graveyard masonry, planted grass, wetlands, wildlife, workers, and quality-tier presentation.
  • Makes grass, trees, shrubs, rubble, and eligible civic dressing yield reversibly to valid placement previews and authoritative buildings, so presentation scenery never clips through legal construction.
  • Sizes the functional 2D fallback from the same canonical building envelopes, including rotation, instead of showing misleading generic rectangles.

Authority and integrity

  • Redesigns the still-unpublished additive V15 suffix in place: authoritative building rows and receipts store quantized X/Z microunits plus enumerated rotation, with no active slot authority.
  • Keeps inner_keep_slot_v1 as an exact empty compatibility table; active UI, picking, commands, buildings, and receipts contain no slot semantics.
  • Validates wall bounds, permanent roads/commons, rotated maximum building envelopes, and building-to-building overlap on the server before settlement or deduction.
  • Binds construction idempotency and private receipts to building kind and transform. A reused request key cannot target a different location.
  • Binds fresh starts to the reviewed target level, aggregate project revision, policy digest, and layout digest. Stale quotes or layout changes roll back transactionally before any settlement/deduction commits.
  • Keeps the client placement evaluator as feedback only; the server independently validates exact integer inputs and never accepts client Y, scale, footprint, cost, duration, or outcome authority.
  • Normalizes generated flat SpacetimeDB building rows at the browser boundary before projection and reconciliation.
  • Preserves fail-closed publication, migration, operator, asset-integrity, and production-confirmation gates. No activation state or live backend was mutated.

Presentation and performance

  • Removes initial Cathedral/Barracks models and fallbacks, separates constructible-prefab availability from static scenery coverage, and loads completed project visuals at their authoritative transform.
  • Rebuilds walls, gate, terrain, roads, outer settlement, ambient routes, ecology clearances, camera framing, fog, shadows, QA telemetry, and accessibility around the larger compound.
  • Keeps the initial scene lighter despite the larger world; reviewed High/Balanced/Reduced scene and renderer ceilings remain fail-closed in QA.
  • Keeps all countryside, ambient actors, decorative resources, wildlife, water traffic, vegetation, and yielding yard dressing presentation-only, non-pickable, deterministic, and outside gameplay authority.
  • Reuses the exact authorized Inner Keep, population, rabbit, resource, wagon, and tree registries without changing installed binary bytes.

Validation

  • Root suite: 300 files / 3,330 tests passed.
  • SpacetimeDB suite: 380 / 380 tests passed; client and module TypeScript checks passed.
  • Rendered Inner Keep browser QA: all 18 WebGL, construction, completion, conversation, reduced-motion, missing-asset, responsive, empty-start, and 2D fallback scenarios passed.
  • Exact SpacetimeDB 2.6.1 binding regeneration matched the committed tree.
  • Populated additive V14 → V15 migration rehearsal passed and cleaned up its temporary server/state.
  • Production build passed, including exact static (114 GLBs + 6 previews), population (40 GLBs), rabbit (3 GLBs), resource, wagon, and 66-tree verification; production exclusions, Mini App integrity, and file-size policy passed.
  • All 42 terrain/building Level-1 affordability combinations are reachable; no building is a mandatory first choice, and the maximum Level-5 resource component remains below 5% of the account cap.
  • Deterministic collision sweeps found no remaining legal-building conflict with routes, wagons, resources, wildlife, water/marsh scenery, outer trees, or non-yielding fixed assets. Yielding grass, trees, and décor restore exactly when a preview/building is removed.
  • License policy and staged-diff integrity checks passed.

Release boundary

This remains one draft PR for review. Inner Keep stays hidden and inactive by default. Merge, Pages deployment, backend publication, catalog seeding, Builder backfill, and activation require separate owner-reviewed actions.

@ael-dev3
ael-dev3 force-pushed the agent/inner-keep-construction-v1 branch from 322bd47 to 3f047bf Compare August 4, 2026 15:34
@ael-dev3 ael-dev3 changed the title Build the inactive Inner Keep construction foundation feat(inner-keep): add persistent construction and a living authored compound Aug 4, 2026
@ael-dev3 ael-dev3 changed the title feat(inner-keep): add persistent construction and a living authored compound feat(inner-keep): add persistent construction and a living authored estate Aug 4, 2026
@ael-dev3 ael-dev3 self-assigned this Aug 4, 2026
@ael-dev3 ael-dev3 changed the title feat(inner-keep): add persistent construction and a living authored estate feat(inner-keep): add free-placement construction and a larger living town Aug 10, 2026
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