Commit Graph
17 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.7 335ee9a242 docs(decisions): economic-built-world workshop — fill-seam records + trait-template flavor model
Rounds 2-3 of the economic & built-world workshop (Phase 4 fill seam). New records: D-229 building-property-tag schema (resolves Q-104 via FloorExtent), D-230 FillChunk two-phase execution, D-231 DoorSpec/InteriorDescriptor (the Phase-6 interior seed), D-232 architecture-flavor as an economically-gated / seed-drawn / wiki-biased trait-template catalog, D-233 economic block-fill (BulkClass x ProductionUbiquity), D-234 morphology->street/footprint constraints, D-235 exterior visual grammar + asset fallback hierarchy. Amended D-097/D-198/D-199/D-184; superseded in part D-101-A/D-104/D-105/D-107. Q-104 + Q-106 resolved; Q-107 (wiki->Atlas content consolidation) opened.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 22:37:46 +02:00
jpmschweitzerandClaude Opus 4.7 f1c1d2c8f0 docs(decisions): atlas-to-tile derivation model — D-227/D-228 + Q-100..105
Atlas-derivation workshop output (Jeroen + Tyre / Nigel / Burnelli / Gestalt).
The foundational world-derivation model:

- D-227 deterministic-rebuild world model: world = pure function of seed+atlas,
  derived on demand + cached, only tile mutators persisted, fully volumetric
  (voxel / subvoxel), vertical extent physical not floor-count, variable-height
  floors (cave/basement/built all count).
- D-228 composite tile schema: orthogonal axes (TerrainMaterial / FloorMaterial /
  Vegetation / Water / elevation), derived shape + tactical form, region-level
  morphology zones, cohesion matrix, dynamic clock-bound region seasonal state
  (water-height / snow / weather / crop-cycle from one cheap per-region calc).
- Q-100..Q-105: biome authority, refinement contract (+ body-class river density
  + ocean mask), cohesion-matrix algorithm, mutator op schema, floor-to-voxel-z
  mapping, region seasonal/clock state.
- Workshop brief: docs/workshops/atlas-derivation-model.md.

Epic #974 + ocean-mask story #975 track implementation (Phase 4 milestone).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 12:55:57 +02:00
jpmschweitzerandClaude Opus 4.7 53263492ab docs(decisions): D-225 atlas layer-stream proxy — resolves Q-098, adds Q-099
Resolves how per-body cascade layer data reaches the Godot Atlas viewer (#960),
on the lead's mod-first directive + Tyre's design pass:
- No bake (privileges first-party content + ~100MB install bloat). A server-side
  layer-stream proxy computes on demand from moddable source files and streams
  Layer1Output to the client.
- Transport: additive message tag on the existing IPC stream (no second socket);
  single framed MessagePack response; raster stays a disk load.
- Mod-first BodySourceResolver: mod dirs override base install; heightmap.png is
  the sole source of truth.
- Cache via the D-206 background queue on miss (never blocks the tick thread,
  D-203); eviction -> recompute (deterministic, ~45ms).
- Whole Layer1Output per response; client composites additive overlays.

Q-098 resolved against its own premise (no durable store needed — recompute on
eviction is fine for a viewer). Q-099 spun off: mods adding new bodies need
terrain_reference rows in the binary systems.db (D-189), out of scope for #960.

Implementation decomposed into #968 (activate AnalyzeBody cascade run + cache
populate — the long pole) -> #969 (proxy + bridge protocol) -> #960 (viewer).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 16:39:41 +02:00
jpmschweitzerandClaude Opus 4.7 d8af513a5e docs(decisions): Q-098 — persistence of generated river/city mapping outputs
Looking-ahead question from the Phase 4 markers strip. Generated mapping (rivers via
drainage, cities via econ sim + placement) is deterministic so always recomputable,
but expensive — should be computed once per body and kept, not volatile. Refines D-203
(LRU evicts) and D-200 (build-time bake vs runtime persist). Gates the atlas viewer
(#960). To resolve during the execution-model work (#952).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 19:55:01 +02:00
jpmschweitzerandClaude Opus 4.6 db241b88bd refactor(schema): rename biome_summary to planet_class (D-188)
"Biome" describes per-zone vegetation classification (Whittaker table).
"Planet class" describes overall planetary character. The conflation
caused the planet generator to misclassify ~270 bodies as barren.

Scope: systems.db column, schema SQL, Rust atlas code, wiki table
headers (Biome → Class), atlas proposal JSONs, all docs/decisions,
tooling scripts. Also normalizes atmosphere vocabulary (breathable →
standard) and expands planet class mapping to all 26 wiki values.
Unknown classes default to temperate for modder safety.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 17:10:35 +02:00
jpmschweitzerandClaude Sonnet 4.6 1cffc83dd7 feat(assets): procedural planet renders for wiki/GTTR — #779
7 planet type PNGs (512×512px RGBA) covering all biome_summary values:
temperate, temperate_terminator, oceanic, arid, frozen, volcanic, barren.

Pure Python ray-sphere renderer (spikes/planet-renders/generate_planets.py)
— numpy/PIL only, no Godot dependency, ~2s for all 7 types. Seeded from
body_id for reproducibility. Resolves Q-064 (Godot 3D planet plugin
evaluation — superseded by headless Python approach).

Assets at client/assets/planets/, 512×512 RGBA, displayed at 240×240 in
the body-info-panel navigator and GTTR arrival window.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 08:19:06 +02:00
jpmschweitzerandClaude Opus 4.6 f1b97d4a88 fix(economics): address 17 PR review comments on #114
Blocking fixes:
- V-13: legal_services demand_model compliance→market (build-breaker)
- D-184: political flag names match TOML (commission_certified etc.)
- D-184: professional services list matches TOML
- D-173: elasticity count 5→4, cross-ref to D-184
- Workshop outcomes: fix self-contradicting fusion fuel statement
- R-011: move to end of file (was between D-183 and D-184)

Should-fix:
- D-166 domain link scope.md→architecture.md
- Sprint briefing counts updated (13→17 D-records, #801 marked done)
- Burnelli-Sheldon added to agent roster + briefing created
- questions-architecture.md footer tally updated
- medical_services demand_model utility→market
- timber display name drop "/Biomass"

Polish:
- D-171 Groombridge clarified (clearing house, not co-issuer)
- hospitality description has Reach texture
- commission_certification shadow_viable=false rationale in description
- Ticket #801 description updated
- Wiki pages regenerated

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 22:18:41 +02:00
jpmschweitzerandClaude Opus 4.6 9b1258568e docs(decisions): economics design workshop #796 — D-171 through D-187
Workshop #796 produced 13 D-records (D-171–D-183) defining the Phase 2
economics layer: three-currency system, commodity taxonomy, shadow
economy, corporation tiers, productivity seeding, simulation
architecture, TOML data pipeline.

Workshop #801 added D-184–D-187: commodity catalog (36 types), brands
are not commodities, gate transmission levels (mass+data+energy),
fusion fuel as intermediate (8:1 water yield).

R-011 filed (single currency rejected). Burnelli-Sheldon agent added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 22:00:18 +02:00
jpmschweitzerandClaude Opus 4.6 8b78614934 docs(decisions): file Q-093 and Q-094 — tile map + chart widgets
Q-093: Tile-based exploration map in player insert (MapTileProvider
reference — Google Maps style pan/zoom with fog-of-war).
Q-094: Chart widgets for economy/market insert UI (Easy Charts
reference — commodity prices, faction rep, supply/demand curves).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:13:58 +01:00
jpmschweitzerandClaude Opus 4.6 e77f66d53a docs(workshops): create world generation workshop brief from Q-077
Q-077 promoted to full workshop brief with 9 reference implementations,
7 key questions, 5 zone types, and agent assignments (Tyre, Gestalt,
Nigel, Miri, Ozzie).

Also: Q-089 through Q-092 filed (starfield, Markov names, event audio,
modular settings menu), make clean-imports target added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 20:48:19 +01:00
jpmschweitzerandClaude Opus 4.6 4bb05e6b1a docs(decisions): file Q-081 through Q-088 + tickets #722-735
Plugin research session — Q-records for architectural evaluation:
Q-081: VisionCone3D client-side fog refinement (high priority)
Q-082: VoronoiShatter destruction effects
Q-083: ThemeGen dynamic insert styling
Q-084: Isometric point-and-click navigation pattern
Q-085: Portal rendering for server-side visibility
Q-086: Day/night cycle — server time driving client lighting
Q-087: Water shader for environment zones
Q-088: Spatial audio for information-aware sound

Q-077 expanded with Retro Terrain + Spatial Gardener references.

Tickets: DB tooling --help (#722), decision coverage report (#723),
version display (#724), auto-size labels (#725), cargo deny config
(#726), icon fonts (#727), resolution testing (#728), install wizard
(#729), license screen (#730), konami code (#731), minimap (#732),
nested tooltips (#733), speech bubbles (#734), settings epic (#735).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 20:01:44 +01:00
jpmschweitzerandClaude Opus 4.6 4d1a29bcc1 chore(config): add gdlint + gdformat + cargo-deny to pre-push hook
Pre-push now runs 6 checks:
- GDScript: parse check, gdlint (static analysis), gdformat (style)
- Rust: clippy, fmt, cargo deny (license/advisory/deps)
All tools degrade gracefully if not installed.

Also files Q-065 through Q-080: shooting mechanics, procedural terrain,
cloth sim, vehicle physics, PathMesh3D, NobodyWho vs voice pipeline,
BitTorrent distribution, BehaviourToolkit patterns, screenshot manager,
RichText3D, DeformableMesh, GridMapLayer, mod loader, god rays,
Steam multiplayer, CityCrafter3D, planet generator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 19:06:03 +01:00
jpmschweitzerandClaude Opus 4.6 ec88afaf07 docs(decisions): add Q-064 planet generator for wiki screenshots
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 17:47:39 +01:00
jpmschweitzerandClaude Opus 4.6 093b24e38e feat(assets): face-based segmentation pipeline + solidify for hair/clothing
Segmentation:
- Face-based exclusive assignment (no overlap, no caps needed)
- Hips split from torso (pelvis as own segment)
- Torso_upper independent (spine_03 + clavicle, not a variant)
- Clavicle moved from arm_upper to torso_upper

Hair pipeline:
- Solidify modifier (20mm) for scalp hair volume
- Normal recalculation before solidify for consistent direction
- Eyebrows/facial hair NOT solidified
- Fixed mask generation (was outputting black, now white)

Clothing pipeline:
- Solidify modifier (25mm) for clothing thickness
- Peasant shoes added from Fantasy pack

Tooling:
- convert_outfit.py with solidify support
- inspect_glb.py, check_hair_symmetry.py for debugging
- Segment reference distribution locked
- Q-063 footsteps VFX filed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 17:43:04 +01:00
jpmschweitzerandClaude Opus 4.6 63b7d69535 docs(decisions): add character pipeline decisions from Quaternius spike
D-158: Frontal camera angle for editor/mugshot UI
D-159: Character body type enum (4 adult × 2 genders + 1 child)
D-160: Body meshes segmented into 15 bone-group regions
D-161: Head always separate mesh on Head bone
D-162: Clothing pre-baked per body type via Blender Surface Deform
D-163: Trellis generates unique heads via BoneAttachment3D
D-164: Fork Quaternius skeleton, replace all body meshes

Q-060: Surface Deform quality at extreme body types
Q-061: Base clothing mesh count for v0.2
Q-062: Quaternius Source tier body type coverage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 13:28:35 +01:00
jpmschweitzerandClaude Opus 4.6 623e2e2f16 docs(decisions): D-141 PlatformInfo OS abstraction, resolve Q-059
D-141: client-side PlatformInfo autoload centralizing all OS queries.
Q-059: resolved — full interface scope (23 properties, 7 categories).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:55:34 +01:00
jpmschweitzerandClaude Opus 4.6 f63691069c docs(docs): split questions.md into per-domain files
Mirror the D-record pattern: questions.md becomes an index,
full question content moves to questions-architecture.md,
questions-perception.md, questions-content.md, questions-scope.md.

Also incorporates final Sprint 22 team findings into Q-053/Q-054:
- Q-053: transit map as incidental discovery surface, confidence
  signal, boards as entitlement map (Paula round 3)
- Q-054: stateless DiagramData renderer architecture, annotation
  event model (Gestalt round 3)

Corrects question counts: 16 resolved, 4 partially resolved,
34 open (previously undercounted).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:25:22 +01:00