VinPropane
ff830813c7
NEON-26: address code review follow-ups (zoom validation, docs)
2026-04-08 22:58:28 -04:00
VinPropane
753ce84861
NEON-26: ZoomBandConfig, discrete zoom input, CameraState sync
2026-04-08 22:32:45 -04:00
VinPropane
f4a30b1b9d
NEON-26: add implementation plan for zoom bands
2026-04-08 22:17:36 -04:00
VinPropane
e000da20ee
NEON-15: address review nits (shutdown token, plan verification note)
2026-04-08 22:09:12 -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
62ff210830
NEON-15: log plan decisions; require docs sync for planning/implementation
2026-04-08 21:49:56 -04:00
VinPropane
abffd29299
NEON-15: add implementation plan for NpgsqlDataSource shutdown
2026-04-08 21:16:50 -04:00
VinPropane
4930fd89a6
NEON-25: isometric follow camera, CameraState, tests, and docs
2026-04-07 23:46:04 -04:00
VinPropane
644bfc8c3d
NEON-25: lock low-controversy camera defaults in implementation plan
2026-04-07 23:34:20 -04:00
VinPropane
00c2c4520e
NEON-25: add implementation plan for isometric follow camera
2026-04-07 23:27:44 -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
791c7dad1b
Merge branch 'main' into NS-21-gdscript-unit-testing
2026-04-06 22:22:16 -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
a02e54da2d
NS-21: fold test CI into gdscript.yml; document test-with-scripts policy
2026-04-05 21:21:58 -04:00
VinPropane
6ff0c77da5
NS-21: add implementation plan for GDScript unit testing
2026-04-05 21:03:12 -04:00
VinPropane
d22d252b59
docs: Link NS-24 for idle jitter (plan + client README)
2026-04-05 15:04:09 -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
0ac059fa3b
NS-23: NavigationAgent3D path-follow with server move authority
2026-04-05 00:23:03 -04:00
VinPropane
1f4e3c49f6
NS-23: Resolve agent tuning and nav sync risks in implementation plan
2026-04-05 00:14:37 -04:00
VinPropane
ec3c0ee4fe
NS-23: Add implementation plan and E1.M1 snapshot for path-follow kickoff
2026-04-05 00:10:11 -04:00
VinPropane
32d2153acb
NS-19: server move validation, client rejection UX, scene QA props
2026-04-04 23:39:40 -04:00
VinPropane
7f81378361
NS-19: plan walkable bumps and tall pedestal for manual validation
2026-04-04 23:17:16 -04:00
VinPropane
8e421d09c1
NS-19: add files to add/modify and tests sections to plan
2026-04-04 23:14:47 -04:00
VinPropane
95f770d8ea
NS-19: lock move validation plan to reject policy
2026-04-04 23:13:10 -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
06f9ce8647
NS-18: add implementation plan for InteractionRequest range check
2026-04-04 18:55:13 -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
107eda77d8
chore: add CT content-tooling track and vision plan tooling epic
...
- Add docs/decomposition/tooling/internal_authoring.md and CT.M1–M3 module stubs
- Register CT modules and cross-cutting section in decomposition README
- Add internal-content-authoring execution plan
- Extend neon_sprawl_vision.plan.md with Tooling epic (CT) in Core Epic Map and modules
2026-03-30 23:18:40 -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
don
a48da30f2e
NS-15: add implementation plan and story-branch workflow rules
...
Made-with: Cursor
2026-03-29 22:31:31 -04:00
don
64092566a4
fix(client): reliable NS-14 click-to-move without NavigationMesh
...
- Drive movement with horizontal steering + move_and_slide toward click goal
- Remove NavigationRegion3D / NavigationAgent3D; obstacle interaction is slide
- main.gd: raycast to walkable, Player.set_move_goal; viewport camera + mouse
- Scene: explicit physics layers/mask on floor, obstacle, player
- Docs: Godot 4.6 baseline, README + NS-14 plan + tech_stack; Godot .import/.uid
Made-with: Cursor
2026-03-29 22:08:25 -04:00
don
343592541a
feat(client): NS-14 click-to-move with NavigationAgent3D
...
- Main scene: floor, obstacle, nav mesh, camera, CharacterBody3D + agent
- Click-to-move on walkable group; pick mask avoids avatar self-hit
- player.gd drives path following; README and plan AC updated
Made-with: Cursor
2026-03-29 21:19:52 -04:00
don
9a9f4ab3ad
docs: add NS-14 click-to-move implementation plan
...
Made-with: Cursor
2026-03-29 21:09:43 -04:00