Document the gear-fit pass and add the changelog
Create CHANGELOG.md with the post-0.6.0 gear-fit entries and backfill the recent release history. Update the implemented-features list, asset-tooling notes, README links and verification counts (headless 229, Python 87).
This commit is contained in:
1 parent
a7ca698f73
commit
6100d19a25
5 files changed
+102
-8
No files matched your search
@@ -0,0 +1,87 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable user-facing changes to Gig Line. The format follows
|
||||||
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions use
|
||||||
|
Semantic Versioning.
|
||||||
|
|
||||||
|
## [Unreleased] — planned 0.6.1
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Gear-fit checks: `tools/blender_assets.py fit` reports head/skirt clearance,
|
||||||
|
and the headless suite verifies that head and back gear clears the body
|
||||||
|
silhouette.
|
||||||
|
- A refreshed Influencer portrait and gallery captures with a before/after
|
||||||
|
report in `docs/screens/realism/2026-11-01-gear/`.
|
||||||
|
- An explicit `--portrait-type` override for capturing hooded roles when a
|
||||||
|
scenario spawns one.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Narrowed the sunglasses so they sit inside the face silhouette.
|
||||||
|
- Moved the shoulder bag outboard so it clears both the coat and dress skirts.
|
||||||
|
- Raised the firefighter helmet so the brim no longer sits on the brow.
|
||||||
|
- Portrait captures now turn the subject toward the camera and hide the blue
|
||||||
|
focus overlay, so close-ups show the character rather than the UI.
|
||||||
|
- The README now links to focused docs pages for gameplay, architecture, setup,
|
||||||
|
asset tooling, development status and the manual smoke checklist.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The shoulder bag no longer clips through the coat's skirt.
|
||||||
|
- The firefighter helmet no longer cuts into the brow ridge.
|
||||||
|
- The portrait subject no longer faces away from the camera.
|
||||||
|
- `--portrait-type` is now parsed and applied instead of being ignored.
|
||||||
|
|
||||||
|
## [0.6.0] — 2026-11-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Blender-authored character, gear and prop library with baked ambient occlusion.
|
||||||
|
- Higher-resolution environment textures with tangent normal maps.
|
||||||
|
- Phase-driven emissive details on library props, characters and street dressing.
|
||||||
|
- Dedicated README docs for gameplay, architecture, setup, asset tooling,
|
||||||
|
development status and manual smoke testing.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Environment lighting, fog, sun angle and night glow were retuned for the new
|
||||||
|
skyline and surface assets.
|
||||||
|
- The flashlight beam is visible at night and the NPC detail pass adds faces,
|
||||||
|
hands and cuffs.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The body-camera overlay no longer covers the shift status.
|
||||||
|
- Selecting a venue releases the menu input lock and recaptures the mouse.
|
||||||
|
|
||||||
|
## [0.5.0] — 2026-11-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Articulated NPC characters with layered outfits, hand items, face/hair variety,
|
||||||
|
idle behaviour, reaction symbols, queue offsets and three LOD tiers.
|
||||||
|
- Player acceleration/braking, step-up assist, head bob, landing dip,
|
||||||
|
precision-walk feedback and surface-aware footsteps.
|
||||||
|
- Remappable keyboard and gamepad controls.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Crowd roles now select deterministic character variants and props.
|
||||||
|
|
||||||
|
## [0.4.0] — 2026-11-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Collision and navigation footprints for every street prop.
|
||||||
|
- Zoned prop placements with deterministic variants and small clutter.
|
||||||
|
|
||||||
|
## [0.3.0] — 2026-10-31
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Surface-material profiles, ACES tonemapping, glow, aerial fog and phase-based
|
||||||
|
colour grading.
|
||||||
|
- Framed facade windows, door trim, curb and lane markings.
|
||||||
|
- Generated street-furniture models and the Web export.
|
||||||
|
- Aim-free targeting, a focus cone and precision walk.
|
||||||
@@ -74,7 +74,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
|
|||||||
|
|
||||||
- **Status (2026-11-01, after the NPC detail pass):** v0.6.0 is released. Post-v0.6.0 the
|
- **Status (2026-11-01, after the NPC detail pass):** v0.6.0 is released. Post-v0.6.0 the
|
||||||
realism pass, the visual-alignment pass and the NPC face/hand pass all landed. Headless
|
realism pass, the visual-alignment pass and the NPC face/hand pass all landed. Headless
|
||||||
**228/228**, Python tooling **86/86**, `tools/check_screenshots.sh` **11 good / 0 bad**,
|
**229/229**, Python tooling **87/87**, `tools/check_screenshots.sh` **11 good / 0 bad**,
|
||||||
`screen_designs.py compare` 11 good / 0 bad, `scene_concepts.py audit` all GOOD,
|
`screen_designs.py compare` 11 good / 0 bad, `scene_concepts.py audit` all GOOD,
|
||||||
`blender_assets.py audit` exit 0, `smoke_npc_budget` OK (16 avatars, 6.94 ms of 50 ms).
|
`blender_assets.py audit` exit 0, `smoke_npc_budget` OK (16 avatars, 6.94 ms of 50 ms).
|
||||||
`PLAN.md` is compact; README/architecture track the current controls, asset pipeline, CI and
|
`PLAN.md` is compact; README/architecture track the current controls, asset pipeline, CI and
|
||||||
@@ -618,7 +618,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
|
|||||||
- Joke Shop `door_staff_lines` are logged through `GameManager` (inspect / wand / refuse). They are not a separate dialogue UI.
|
- Joke Shop `door_staff_lines` are logged through `GameManager` (inspect / wand / refuse). They are not a separate dialogue UI.
|
||||||
- Access loadout is implemented; do not re-fix `override_access` as if it were still unread.
|
- Access loadout is implemented; do not re-fix `override_access` as if it were still unread.
|
||||||
- `Save.SETTINGS_FILE` is declared and unused; settings persistence goes through `Save.load_settings()` / `save_settings()`.
|
- `Save.SETTINGS_FILE` is declared and unused; settings persistence goes through `Save.load_settings()` / `save_settings()`.
|
||||||
- Headless suite is **228/228**; the windowed smokes, screenshot compare and judge pass. Remaining visual follow-ups are in `TODO.md`.
|
- Headless suite is **229/229**; the windowed smokes, screenshot compare and judge pass. Remaining visual follow-ups are in `TODO.md`.
|
||||||
- Typed spawn signal extra args: handlers must accept the 4th `event: Dictionary` or Godot will not call them (`test_shift_coordinator_runs_a_shift` failed until `_on_spawn` took four args).
|
- Typed spawn signal extra args: handlers must accept the 4th `event: Dictionary` or Godot will not call them (`test_shift_coordinator_runs_a_shift` failed until `_on_spawn` took four args).
|
||||||
- GDScript inference trap that broke the main scene: a `var` typed as a base class
|
- GDScript inference trap that broke the main scene: a `var` typed as a base class
|
||||||
(`radial: CanvasLayer`) exposes script members as `Variant`, so `var x := radial.is_open` is a
|
(`radial: CanvasLayer`) exposes script members as `Variant`, so `var x := radial.is_open` is a
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ The central design goal is simple:
|
|||||||
> `REQUIRE_SIGNIN_VIEW` was disabled on 2026-10-31.
|
> `REQUIRE_SIGNIN_VIEW` was disabled on 2026-10-31.
|
||||||
>
|
>
|
||||||
> **Latest: v0.6.0** — Blender-authored character/gear/prop library with baked AO, higher-resolution environment textures, and phase-driven library props.
|
> **Latest: v0.6.0** — Blender-authored character/gear/prop library with baked AO, higher-resolution environment textures, and phase-driven library props.
|
||||||
> `main` also contains the post-v0.6.0 realism and visual-alignment pass (v2 skylines/textures,
|
> `main` also contains the post-v0.6.0 realism, visual-alignment and gear-fit passes
|
||||||
> UI mockup art, flashlight beam, HUD fixes); the next release will package it.
|
> (v2 skylines/textures, UI mockup art, flashlight beam, fitted NPC gear, HUD fixes);
|
||||||
|
> the next release will package them.
|
||||||
> Releases are built automatically when a `vX.Y.Z` tag is pushed
|
> Releases are built automatically when a `vX.Y.Z` tag is pushed
|
||||||
> (see [`docs/RELEASING.md`](docs/RELEASING.md)); manual builds use
|
> (see [`docs/RELEASING.md`](docs/RELEASING.md)); manual builds use
|
||||||
> `./tools/build_releases.sh`. Installer/AppImage packaging runs in the same pipeline
|
> `./tools/build_releases.sh`. Installer/AppImage packaging runs in the same pipeline
|
||||||
@@ -103,6 +104,7 @@ Full setup, every run/test/smoke command, and the controls table are in
|
|||||||
- [`TODO.md`](TODO.md) — Active checkbox task list.
|
- [`TODO.md`](TODO.md) — Active checkbox task list.
|
||||||
- [`DONE.md`](DONE.md) — Completed task sections.
|
- [`DONE.md`](DONE.md) — Completed task sections.
|
||||||
- [`MEMORY.md`](MEMORY.md) — Persistent session notes.
|
- [`MEMORY.md`](MEMORY.md) — Persistent session notes.
|
||||||
|
- [`CHANGELOG.md`](CHANGELOG.md) — User-facing changes by version.
|
||||||
- [`docs/architecture.md`](docs/architecture.md) — arc42-style architecture documentation.
|
- [`docs/architecture.md`](docs/architecture.md) — arc42-style architecture documentation.
|
||||||
- [`docs/gameplay.md`](docs/gameplay.md) — Gameplay systems, venues, and the escalation model.
|
- [`docs/gameplay.md`](docs/gameplay.md) — Gameplay systems, venues, and the escalation model.
|
||||||
- [`docs/asset-tooling.md`](docs/asset-tooling.md) — Asset pipelines, model tools, and screenshot gates.
|
- [`docs/asset-tooling.md`](docs/asset-tooling.md) — Asset pipelines, model tools, and screenshot gates.
|
||||||
@@ -116,8 +118,8 @@ Full setup, every run/test/smoke command, and the controls table are in
|
|||||||
## Development Status
|
## Development Status
|
||||||
|
|
||||||
v0.6.0 shipped (Blender character/gear/prop library, baked AO, environment
|
v0.6.0 shipped (Blender character/gear/prop library, baked AO, environment
|
||||||
lift); the realism and visual-alignment pass is adopted on `main` and packages
|
lift); the realism, visual-alignment and gear-fit passes are adopted on `main`
|
||||||
in the next release. See
|
and package in the next release. See
|
||||||
[`docs/development-status.md`](docs/development-status.md) for the full
|
[`docs/development-status.md`](docs/development-status.md) for the full
|
||||||
implemented list and [`TODO.md`](TODO.md) for what's next. Manual verification
|
implemented list and [`TODO.md`](TODO.md) for what's next. Manual verification
|
||||||
uses the [`docs/smoke-checklist.md`](docs/smoke-checklist.md).
|
uses the [`docs/smoke-checklist.md`](docs/smoke-checklist.md).
|
||||||
|
|||||||
@@ -194,7 +194,11 @@ compares the pre-adoption captures with the current build: on the shots both set
|
|||||||
judge's like-for-like means rose on every sub-score (overall 0.8 → 1.0, backdrop 0.6 → 1.6) and
|
judge's like-for-like means rose on every sub-score (overall 0.8 → 1.0, backdrop 0.6 → 1.6) and
|
||||||
the Pillow metric gap fell 0.444 → 0.348. The character pass
|
the Pillow metric gap fell 0.444 → 0.348. The character pass
|
||||||
([`2026-11-01-npc/`](../docs/screens/realism/2026-11-01-npc/report.md)) adds the portrait shot and
|
([`2026-11-01-npc/`](../docs/screens/realism/2026-11-01-npc/report.md)) adds the portrait shot and
|
||||||
records the new faces, hands and sleeve cuffs.
|
records the new faces, hands and sleeve cuffs. The gear-fit run
|
||||||
|
([`2026-11-01-gear/`](../docs/screens/realism/2026-11-01-gear/report.md)) checks
|
||||||
|
the sunglasses, bag and helmet against measured head/skirt bounds with
|
||||||
|
`python3 tools/blender_assets.py fit`; it also fixed the portrait yaw and hid
|
||||||
|
the focus overlay so the close-up shows the avatar.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Implemented so far:
|
|||||||
- Godot 4.3 project scaffold, input map, procedural world builder
|
- Godot 4.3 project scaffold, input map, procedural world builder
|
||||||
- Venue-driven simulation core: `ShiftCoordinator`, `VenueScenario`, `EventScheduler`, `NPCController` + FSM, `AccessVerifier`, `EscalationManager`, `RadioSystem`, `IncidentRecorder`, `ReputationEvaluator`, `CrowdSystem`
|
- Venue-driven simulation core: `ShiftCoordinator`, `VenueScenario`, `EventScheduler`, `NPCController` + FSM, `AccessVerifier`, `EscalationManager`, `RadioSystem`, `IncidentRecorder`, `ReputationEvaluator`, `CrowdSystem`
|
||||||
- Three authored scenarios (Hollywood Boulevard building, The Joke Shop, Late Night TV Studio) with access policies, NPC archetypes, and event pools
|
- Three authored scenarios (Hollywood Boulevard building, The Joke Shop, Late Night TV Studio) with access policies, NPC archetypes, and event pools
|
||||||
- Headless unit tests: **227 passing** (access rules and venue-correct access loadout, escalation, radio cooldown/battery, NPC reaction determinism, door lock, flashlight perception, persistence round-trip, settings round-trip, input remaps, navmesh, step colliders, skyline alpha, scenario data, full-shift simulation, wand screening, responder dispatch, localization strings, focus cone, action wheel, session shell, PLAN verbs and incident recording, crowd presentation, emergency aftermath, body-camera timeline, NPC theater poses, audio, accessibility, authored scenario content, string formatting, `.tres` venue round-trip, surface materials and environment, focus ranking and outfit/gait helpers, generated prop models, web export preset, prop atlas material, player movement, NPC character layers/LOD/queue, input bindings)
|
- Headless unit tests: **229 passing** (access rules and venue-correct access loadout, escalation, radio cooldown/battery, NPC reaction determinism, door lock, flashlight perception, persistence round-trip, settings round-trip, input remaps, navmesh, step colliders, skyline alpha, scenario data, full-shift simulation, wand screening, responder dispatch, localization strings, focus cone, action wheel, session shell, PLAN verbs and incident recording, crowd presentation, emergency aftermath, body-camera timeline, NPC theater poses, audio, accessibility, authored scenario content, string formatting, `.tres` venue round-trip, surface materials and environment, focus ranking and outfit/gait helpers, generated prop models, web export preset, prop atlas material, player movement, NPC character layers/LOD/queue, input bindings)
|
||||||
- Simulation extras: protester archetype, CALL_SOMEONE reaction, door lock/secure mechanic (visual indicator), flashlight with night perception bonus, LATE shift phase reaching the violent-threat event
|
- Simulation extras: protester archetype, CALL_SOMEONE reaction, door lock/secure mechanic (visual indicator), flashlight with night perception bonus, LATE shift phase reaching the violent-threat event
|
||||||
- First-person prototype with interaction HUD, access inspection, wand screening, radio report form (incl. emergency hold-to-confirm), dispatched responder avatars, aim-free targeting, venue cycling between all three scenarios, color-coded escalation feedback, procedural audio cues, navigation-mesh NPC paths, JSON-backed localized strings, persisted shift history, debug overlay, and shift review
|
- First-person prototype with interaction HUD, access inspection, wand screening, radio report form (incl. emergency hold-to-confirm), dispatched responder avatars, aim-free targeting, venue cycling between all three scenarios, color-coded escalation feedback, procedural audio cues, navigation-mesh NPC paths, JSON-backed localized strings, persisted shift history, debug overlay, and shift review
|
||||||
- Control pass: focus cone on NPC heads with a billboarded blue circle in front of the face and name, action wheel (LMB/Space) with de-escalation-first slices, mouse-look freeze while a panel is open, acceleration-based walking, and named input actions (`action_menu`, `confirm`, `cancel`, `inspect`, `wand`)
|
- Control pass: focus cone on NPC heads with a billboarded blue circle in front of the face and name, action wheel (LMB/Space) with de-escalation-first slices, mouse-look freeze while a panel is open, acceleration-based walking, and named input actions (`action_menu`, `confirm`, `cancel`, `inspect`, `wand`)
|
||||||
@@ -41,5 +41,6 @@ Implemented so far:
|
|||||||
- Visual alignment: start/venue menu, pause, settings, shift review, radio, wand, inspection, timeline, HUD target chip/escalation bar, and radial menu now use or match their AI references in `assets/images/ui/`. The runtime art loader (`src/game/ui/art.gd`) falls back cleanly when a file is missing.
|
- Visual alignment: start/venue menu, pause, settings, shift review, radio, wand, inspection, timeline, HUD target chip/escalation bar, and radial menu now use or match their AI references in `assets/images/ui/`. The runtime art loader (`src/game/ui/art.gd`) falls back cleanly when a file is missing.
|
||||||
- Realism adoption (post-v0.6.0): v2 per-phase skylines and surface tiles with normal maps, retuned sun/exposure/fog, wet asphalt, denser foliage, a visible additive flashlight beam, and refreshed staging captures. `tools/check_screenshots.sh` is the repeatable capture/compare gate; judge is clean of `diff` verdicts.
|
- Realism adoption (post-v0.6.0): v2 per-phase skylines and surface tiles with normal maps, retuned sun/exposure/fog, wet asphalt, denser foliage, a visible additive flashlight beam, and refreshed staging captures. `tools/check_screenshots.sh` is the repeatable capture/compare gate; judge is clean of `diff` verdicts.
|
||||||
- Input/reliability fixes: selecting a venue now releases the start-menu input lock and recaptures the mouse; the body-camera overlay no longer covers the shift status.
|
- Input/reliability fixes: selecting a venue now releases the start-menu input lock and recaptures the mouse; the body-camera overlay no longer covers the shift status.
|
||||||
|
- Gear fit (post-v0.6.0): Blender gear is measured against the avatar head/skirt silhouette and the checks run in both the Python tooling and the headless suite. Sunglasses, the shoulder bag and the firefighter helmet were fitted to the new faces; the Influencer portrait and gallery were recaptured with a before/after report.
|
||||||
|
|
||||||
Not yet implemented: a desktop-only Forward+ preset (the renderer stays GL Compatibility for Web parity), live 3D body-camera replay, editor-based GUT integration, and crowd performance profiling/LOD (see [`TODO.md`](../TODO.md)).
|
Not yet implemented: a desktop-only Forward+ preset (the renderer stays GL Compatibility for Web parity), live 3D body-camera replay, editor-based GUT integration, and crowd performance profiling/LOD (see [`TODO.md`](../TODO.md)).
|
||||||
Reference in new issue
Block a user