VinPropane
1f5c1e7619
NEON-16: harden idle jitter follow-up
...
Harden idle settling so flat ground, obstacle contacts, and rare bump-edge cases stop drifting instead of looping corrective nudges. Also resolves the saved review follow-up items and syncs the runtime docs to the final feet-height and idle-anchor behavior.
2026-04-10 00:46:53 -04:00
VinPropane
6f4f5d4350
NEON-16: code review — idle jitter follow-up branch
...
docs/reviews/2026-04-10-NEON-16-followup.md: Request changes — two
blocking gdlint issues (export var order, line-length on
vertical_arrival_error) plus suggestions and nits.
2026-04-10 00:39:14 -04:00
VinPropane
1f8c0d04d1
NEON-30: address review — check AC boxes, add manual-check section to README
2026-04-09 23:03:17 -04:00
VinPropane
f1b4e50729
NEON-27: finalise review (Approved) + Godot uid files
...
Review verdict updated to Approved; all blocking issues and suggestions
resolved and documented. Add auto-generated Godot .uid sidecar files for
occlusion_policy.gd and occlusion_policy_test.gd.
2026-04-08 23:55:29 -04:00
VinPropane
71232c36ef
NEON-27: address review suggestions — doc alignment pass
...
- Plan: reconcile null-material prose in "Material override strategy"
to match implementation (null → new StandardMaterial3D, not skipped)
- module_dependency_register.md: E1.M2 note updated — occlusion shipped,
only integration hardening (NEON-28) remains
- documentation_and_implementation_alignment.md: add E1.M2 tracking row
(NEON-25–27 shipped, NEON-28 open)
- Review: strike through both suggestions as Done
2026-04-08 23:52:46 -04:00
VinPropane
5e16fdccc8
NEON-27: restore occluders on all _process early-return paths
...
Fixes review blocking issue: when the follow target is null (freed,
renamed, or path unresolved) or the Camera3D child is missing,
_restore_all_occluders() is now called before returning so geometry
cannot be left stuck semi-transparent.
2026-04-08 23:50:48 -04:00
VinPropane
ae643bc81c
NEON-26: refresh review after follow-up fixes
2026-04-08 23:00:10 -04:00
VinPropane
ff830813c7
NEON-26: address code review follow-ups (zoom validation, docs)
2026-04-08 22:58:28 -04:00
VinPropane
b9ec6ccb0f
NEON-26: add code review notes for zoom bands
2026-04-08 22:55:37 -04:00
VinPropane
e000da20ee
NEON-15: address review nits (shutdown token, plan verification note)
2026-04-08 22:09:12 -04:00
VinPropane
adde98e4a8
chore: review follow-up uses strikethrough on suggestions, not extra section
2026-04-08 22:06:17 -04:00
VinPropane
8c3e8c0a03
NEON-15: apply code review doc suggestions (E1.M1 pointers, PR notes)
2026-04-08 21:59:53 -04:00
VinPropane
2617b65f79
NEON-15: add code review (2026-04-08)
2026-04-08 21:58:18 -04:00
VinPropane
f4b34316a6
NEON-25: add code review for isometric follow camera
2026-04-07 23:51:46 -04:00
VinPropane
fa19ab7337
chore: migrate Jira references from NS-* to NEON-* in docs and rules
...
Rename implementation plans and dated reviews to NEON issue numbers per
Atlassian project re-key. Update browse URLs, cross-links, module docs,
client/server READMEs, and Cursor rules (project key NEON).
2026-04-07 00:15:06 -04:00
VinPropane
7b11d4e238
NS-24: Eliminate idle jitter and movement QA bumps (Godot client)
...
Physics: Jolt 3D; physics_interpolation off; 120 TPS. CharacterBody3D idle
path uses dual floor_max_angle, rim/straddle and ridged-contact handling,
rim settle and random-floor-bump lip/wall escape, floor_block_on_wall,
NavigationAgent3D avoidance off, per-node interp off. No global_transform in
_process (avoid render/physics ghosting).
QA geometry: random_floor_bumps.gd (load from main.gd); each bump on its own
StaticBody3D under NavigationRegion3D; random_floor_bump_collision_constants.gd
for collider fudge and RANDOM_FLOOR_BUMP_MESH_GROUP.
Scene: player safe_margin and mesh Y lift; MoveRejectPedestal / MoveRejectFarPad
renamed from NS19*; Mat_player_capsule without polygon_offset (per follow-up).
Docs: NS-24 plan + resolution, client/README manual steps, code review
2026-04-05-NS-24.md; server/README bump height note. Code/scene identifiers
avoid ticket-based ns19_* naming.
2026-04-06 00:32:41 -04:00
VinPropane
f412da8f44
docs: Mark NS-23 code review blocking items and suggestions done
2026-04-05 15:04:39 -04:00
VinPropane
14a6813985
NS-23: Document movement tradeoff — no required obstacle auto-nav
...
Align plan, client/server README, E1.M1 snapshot, and code review note with
the chosen design: descend bypass favors smooth stepped surfaces; multi-click
around obstacles is OK. NS-24 remains for idle jitter.
2026-04-05 14:56:52 -04:00
VinPropane
2891a4553a
docs: NS-23 branch code review (2026-04-05)
2026-04-05 14:52:08 -04:00
VinPropane
b043e8ac45
NS-18: InteractionRequest, client prototype, Postgres test UX
...
Server: POST /game/players/{id}/interact, HorizontalReach, prototype registry, DTOs, tests; default spawn (-5,0.9,-5); dev HttpLogging.
Client: terminal, radius glow preview, interaction_request_client (interact/E), main wiring; obstacle moved off center.
Tests: postgres.runsettings, launchSettings, Docker compose auto-start/teardown harness, async-safe init.
Docs: plan AC, E1.M1 snapshot, alignment table, server/client README, code review 2026-04-04.
2026-04-04 20:19:33 -04:00
VinPropane
3d9ea1fc6c
chore: mark vision-plan suggestion done in final docs review
2026-04-03 22:58:14 -04:00
VinPropane
a0544f4d33
chore: final branch docs review and Epic 2 E2.M2 note fix
...
Add docs/reviews/2026-04-03-final-branch-docs-review.md. Correct epic
E2.M2 integration note: E5.M1 uses gig progression, not E2.M2 skill XP.
2026-04-03 22:55:21 -04:00
VinPropane
6b7623615d
chore: stable Epic 3 slice anchors; deep-links from gather/craft docs
...
- epic_03: HTML ids epic-3-slice-2 / epic-3-slice-3
- gathering/crafting: where-next and prototype scope use # anchors
- game-design docs review: mark slice nit done; clarify gigs-first nit
2026-04-03 22:14:47 -04:00
VinPropane
1bdc29288d
chore: note PEP 668 / venv in docs review verification
2026-04-03 22:13:56 -04:00
VinPropane
0a07f1dec9
chore: mark game-design docs review suggestions done (strikethrough)
2026-04-03 22:02:17 -04:00
VinPropane
d1138bfe62
docs: E2.M1 contract column lists allowedXpSourceKinds (nit #2 )
2026-04-03 21:34:49 -04:00
VinPropane
fe38ebeb4f
docs: drop classless terminology; rename Epic 2 to skills and progression
...
- Rename epic_02_classless_progression.md → epic_02_skills_and_progression.md
- Epic 2 / vision plan: Skills and Progression Framework; clarify gigs vs non-combat skills
- Replace classless prose in README, game-design, E2 modules, reviews, quest_scope
- Plan diagrams: SkillsProgression, SkillXpAndMastery
2026-04-03 21:33:53 -04:00
VinPropane
aceb6027bf
chore: align Epic 2 title with epic_02 filename (nit #1 )
...
- Rename to Classless Progression Framework in epic, vision plan, README, E2 modules, game-design links
- Update 2026-04-03 review nit status
2026-04-03 21:30:53 -04:00
VinPropane
6599e136d6
chore: CI check for decomposition hybrid vocabulary (suggestion 4)
...
- Add scripts/check_decomposition_language.py (stdlib); PR gate step
- CT.M1, content README, docs-review-agent, 2026-04-03 review updates
2026-04-03 21:29:28 -04:00
VinPropane
d11641159d
chore: Epic 2 E2.M1 stub, content CI validation, doc follow-ups
...
- epic_02: expand E2.M1 module breakdown (non-combat SkillDef, allowedXpSourceKinds)
- PR gate: Python jsonschema validate content/skills vs skill-def.schema.json
- Add scripts/validate_content.py, requirements-content.txt; ignore .venv-content
- CT.M1, E2.M1, internal-content-authoring, content README: document CI spine
- Update 2026-04-03 branch review (suggestions 2–3 done)
2026-04-03 21:27:52 -04:00
VinPropane
f9de62b563
chore: branch-wide docs review vs main + Epic 2 objective hybrid wording
...
- Save docs/reviews/2026-04-03-branch-chore-game-design-docs-vs-main.md
- Epic 2 Objective: skill vs gig progression; link progression + E2.M2
2026-04-03 21:23:36 -04:00
VinPropane
dd2fef797d
chore: align game-design docs, SkillDef schema, and docs review agent
...
- Hybrid progression: encounter gig XP, mission skill rewards, Slice 3 split
- SkillDef JSON Schema: stable id, gather/process/make/tech, allowedXpSourceKinds
- Prototype skills: salvage, refine, intrusion; expand E2.M1/E2.M2 contracts
- Add docs-review-agent rule, skills coherence review, AGENTS.md row
- gigs/progression/overview/skills cross-links; explicit HTML anchors in skills.md
2026-04-03 21:21:33 -04:00
VinPropane
e2d64a7a57
NS-17: PostgreSQL position persistence and integration tests
...
Wire IPositionStateStore to Npgsql when ConnectionStrings:NeonSprawl is set,
with versioned DDL under server/db/migrations and a shared PostgresPositionBootstrap
for schema plus dev-player seeding at host startup. In-memory tests override Postgres
registrations when CI sets the connection string globally.
Add GitHub Actions Postgres service for dotnet test, server README updates,
decomposition and implementation-plan docs, code review write-up, and C# brace
conventions in csharp-style rule.
2026-03-30 22:55:17 -04:00
VinPropane
3882b0e2c6
NS-16: MoveCommand → server PositionState, Godot sync, tests
...
Implement E1.M1 intent → authority: POST /game/players/{id}/move with v1 JSON
MoveCommandRequest (snap + sequence), extend in-memory store and
PositionStateApi. Godot client splits ground_pick and position_authority_client
with thin main.gd; snap_to_server on player.
Tests live under NeonSprawl.Server.Tests/Game/PositionState/ with AAA layout
and MethodName_ShouldExpectedOutcome_WhenScenario naming. Debug builds use
UseAppHost=false so Linux IDEs resolve .NET 10 from a user-local SDK.
Add NS-16 implementation plan, code review doc, godot-client-script-organization
rule, csharp test layout/naming rules, and refresh E1.M1 / alignment docs.
Server and client README updates include move API, prerequisites, and Rider
notes.
Made-with: Cursor
2026-03-30 19:54:17 -04:00
VinPropane
f7bfd7cb32
NS-15 implement position state api
2026-03-29 23:08:17 -04:00