Commit Graph

810 Commits (b233fa040d3c7d95e544e71fcd6b2000f175a080)

Author SHA1 Message Date
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 8bc2efb854 NEON-27: check off all acceptance criteria; record PR screenshots
Before/after evidence: obstacle fades to ~25% alpha when occluding the
player; restores on clear. All three ACs satisfied.
2026-04-08 23:42:31 -04:00
VinPropane 15d405261f NEON-27: implement OcclusionPolicy — RayCast-based material fade
Adds OcclusionPolicy resource and wires it into IsometricFollowCamera.
Each _process frame, iterative rays from the camera eye to the player
focus detect bodies tagged "occluder"; their MeshInstance3D surfaces are
overridden with a transparent StandardMaterial3D (fade_alpha=0.25, instant).
Materials restore when the body clears the ray. Null-material surfaces
(e.g. the prototype Obstacle with no material assigned) receive a plain
transparent StandardMaterial3D so they fade correctly.

- client/scripts/occlusion_policy.gd — new Resource (enabled, fade_alpha,
  occluder_group, occluder_collision_mask, max_occluder_cast_depth,
  occluder_count_log_threshold, is_valid)
- client/resources/isometric_occlusion_policy.tres — default instance
- client/scripts/isometric_follow_camera.gd — occlusion_policy export,
  _update_occlusion pipeline, _apply_occluder_fade/_restore_occluder helpers,
  static occlusion_policy_is_valid guard, _exit_tree cleanup
- client/scenes/main.tscn — Obstacle tagged "occluder", policy assigned
- client/test/occlusion_policy_test.gd — new GdUnit4 unit tests
- client/test/isometric_follow_camera_test.gd — policy guard static tests
- docs/decomposition/modules/E1_M2_IsometricCameraController.md — NEON-27
  snapshot + readability demo gate note
- docs/plans/NEON-27-implementation-plan.md — null-material decision recorded
2026-04-08 23:34:00 -04:00
VinPropane b2d2500e6a NEON-27: record planning decisions in implementation plan
Occluder ID: explicit group tag. Fade: instant (no Tween). Non-StandardMaterial3D
surfaces: skip + push_warning. Rationale documented in Decisions table.
2026-04-08 23:28:02 -04:00
VinPropane 185af5a7f6 NEON-27: add implementation plan for OcclusionPolicy
Documents RayCast-based material-fade approach, files to add/modify,
GdUnit4 test coverage, and readability risk gate note.
2026-04-08 23:21:51 -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 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 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 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 e96f70d889 NEON-25: follow-up from code review (missing target warn, docs, E1.M2 status) 2026-04-07 23:54:27 -04:00
VinPropane f4b34316a6 NEON-25: add code review for isometric follow camera 2026-04-07 23:51:46 -04:00
VinPropane 4930fd89a6 NEON-25: isometric follow camera, CameraState, tests, and docs 2026-04-07 23:46:04 -04:00
VinPropane 262abb5f2e NEON-29: register prototype district story in E1.M2 backlog 2026-04-07 23:38:55 -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 09257b4cc3 chore: align E1.M2 Jira table with NEON-25 summary 2026-04-07 23:21:45 -04:00
VinPropane 2b00de309b chore: expand E1.M2 module doc (Jira backlog, rotation policy)
- Link NEON-10/NEON-25–28 under parent NEON-1 in Summary and Jira backlog table
- Document mid-project-only yaw orbit compromise; post-release camera model settled
- Extend CameraState contract and slice/risk notes accordingly
2026-04-07 23:12:48 -04:00
VinPropane 175c6e0500 chore: document Jira epic→story + labels (no Feature issues)
Module/slice grouping below epics is labels on stories only; Feature
work items are not used. Cross-link from jira-git-naming, story kickoff,
and documentation alignment table.
2026-04-07 00:20:01 -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 43b58a8bc7 chore: align E1.M1 decomposition with NS-10 Done (Ready) 2026-04-05 15:16:16 -04:00
VinPropane f412da8f44 docs: Mark NS-23 code review blocking items and suggestions done 2026-04-05 15:04:39 -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 2891a4553a docs: NS-23 branch code review (2026-04-05) 2026-04-05 14:52:08 -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 f762240ff8 chore: document governing design axioms (fun, cyberpunk theme) 2026-04-04 18:46:55 -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 0dea48e9fa chore: add zones game-design doc and cross-links
Add docs/game-design/zones.md for place identity (tone, economy, faction
hooks) on the E4.M1 graph, distinct from risk-security-bands tier rules.
Link from overview, README, related vision docs, brainstorm table, and
docs-review-agent; anchor Epic 4 slice 1 for deep links.
2026-04-03 22:47:05 -04:00
VinPropane d192567f57 chore: add game-design risk-security-bands doc
- Add risk-security-bands.md (E4.M4 tiers, E6.M1/M2 PvP + consent, tier gates)
- epic_04: anchor epic-4-slice-2 for security tier slice
- Cross-link death, items, economy, gathering; overview combat stub + index
- Extend docs-review-agent ground truth
2026-04-03 22:35:03 -04:00
VinPropane 6602f78b4b chore: add game-design death-loss-recovery doc
- Add death-loss-recovery.md (E5.M1, E3.M4, E6.M3, recovery, PvE vs PvP)
- Cross-link from overview (incl. combat stub), progression, skills, gigs, items, economy, gathering, crafting, abilities, README
- Extend docs-review-agent ground truth for death/loss
2026-04-03 22:30:11 -04:00
VinPropane 81695f93e4 chore: add game-design economy doc and cross-links
- Add economy.md (faucets, sinks, trade, E3.M5/E8.M3/E6.M4, mission vs loot)
- epic_03: anchor epic-3-slice-4 for stable deep links
- Wire overview, progression, skills, gigs, items, crafting, gathering, abilities, README
- Extend docs-review-agent hybrid ground truth for economy.md
2026-04-03 22:20:39 -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 6b9f4e8b5f chore: apply game-design docs review suggestions
- overview: drop placeholder artifact table row
- skills: next-pass cites gathering/crafting + E2.M1 slice freeze
- abilities: framing links gather → craft spine
2026-04-03 21:59:39 -04:00
VinPropane 277c25fdd0 chore: add game-design crafting & recipes doc
- Add crafting.md (pipeline, E3.M2 contracts, bench vs gig, module map)
- Cross-link from overview, progression, skills, gigs, items, gathering, abilities, README
- gathering.md: point pipeline follow-up to crafting.md; where-next row
- Extend docs-review-agent hybrid progression list
2026-04-03 21:51:25 -04:00
VinPropane 8d560e0df8 chore: add game-design gathering & resources doc
- Add gathering.md (nodes, Gather skills, gig vs skill XP, E3.M1/E4.M2)
- Cross-link from overview, progression, skills, gigs, items, abilities, README
- Extend docs-review-agent hybrid progression ground truth
2026-04-03 21:47:59 -04:00
VinPropane f45a5d8c06 chore: tie items.md to Epic 3 modules; add combat pillars stub
- items.md: E3.M3 contract summary, Epic 3 module map table, expanded where-next
- overview.md: Combat pillars vision stub with Items row; fix artifact cross-links
- abilities.md: pointer to overview combat pillars stub
2026-04-03 21:44:49 -04:00
VinPropane 940cc71840 chore: add game-design items doc and cross-links
- Add items.md (buckets, acquisition, rarity, loadouts, open questions)
- Link from overview, progression, skills, gigs, abilities, README
- Include items.md in docs-review-agent ground-truth list
- Fix content README path in items.md
2026-04-03 21:42:18 -04:00
VinPropane c90c5baa41 docs: add game-design abilities.md and wire cross-links
- Taxonomy: gig combat abilities, skill interactions, item channels
- Decisions log + open questions; links to Seams, E1.M4, E5.M1, Epic 2/5/7
- overview, progression, gigs, skills, README; docs-review-agent ground truth
2026-04-03 21:39:43 -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 b7aeccafa9 chore: defer failure XP, respec, synergy to late-stage tuning 2026-04-03 20:44:04 -04:00
VinPropane c40923d1f9 chore: log Tech skill category roster as agreed solid for v0 2026-04-03 20:40:41 -04:00
VinPropane 681b9a6a95 chore: clarify Rigging vs Hardshell hybrid note in skills roster 2026-04-03 20:38:37 -04:00
VinPropane 08a9e67211 chore: non-combat Rigging use by specialty skill; utility items without hooks 2026-04-03 20:37:57 -04:00
VinPropane 3786bae41e chore: gig-gate combat deployables and default Make non-consumables in combat 2026-04-03 20:36:39 -04:00
VinPropane 9f7a1e0af8 chore: split armor into Hardshell and Softshell; powered armor on Rigging 2026-04-03 20:34:09 -04:00
VinPropane a3140e509e chore: add Edgesmith Make skill for non-gun weapons 2026-04-03 20:29:15 -04:00
VinPropane 38021311aa chore: keep Food synth Make skill; remove defer note 2026-04-03 20:28:18 -04:00
VinPropane cc71b79e78 chore: cybernetic replacement cost; old unit likely becomes scrap 2026-04-03 20:27:39 -04:00
VinPropane c21f65532c chore: Armtech swappable vs Cybernetics body-integrated—no overlap 2026-04-03 20:27:07 -04:00
VinPropane ad0d1bc2b5 chore: cybernetics semi-permanent and not gig-gated (Seams + decisions) 2026-04-03 20:26:25 -04:00
VinPropane 39ef946814 chore: add Cybernetics Make skill to skills roster 2026-04-03 20:23:56 -04:00
VinPropane f6c4cb6b52 fix: stable #seams-gigs-skills anchor for Seams section links 2026-04-03 20:22:53 -04:00
VinPropane 1757e87830 chore: separate Data scrub (data/firmware) from Fab tech 2026-04-03 20:21:23 -04:00
VinPropane e13043f09a chore: generalize multi-stage Process note; roster intro for chain shape 2026-04-03 20:20:18 -04:00
VinPropane b4f72c77e6 chore: document multi-stage Process chains (e.g. Composite work) 2026-04-03 20:19:27 -04:00
VinPropane 3d57013e14 chore: separate Fab tech (PCBs, chips, solenoids) from Refine 2026-04-03 20:17:46 -04:00
VinPropane 30d7608741 chore: split Refine (physical materials) vs Synth-chem prep (bio/chem) 2026-04-03 20:16:47 -04:00
VinPropane f8d99bfd4d chore: note overlapping Process/Make production chains in skills doc 2026-04-03 20:14:34 -04:00
VinPropane 8bcd4cba04 chore: define Salvage (consumer/vehicles) vs Quarry (urban infrastructure) 2026-04-03 20:10:42 -04:00
VinPropane aa655d7a6f chore: move grim presentation and teen rating target to game design overview 2026-04-03 20:09:02 -04:00
VinPropane 193001c92b chore: cap grim skill concepts at non-adult-only presentation 2026-04-03 20:06:48 -04:00
VinPropane ae0ca367e1 chore: document grim Harvest (bio) sourcing in skills roster 2026-04-03 20:05:32 -04:00
VinPropane b2de73bbaf chore: drop Reclaim skill; Salvage and Quarry cover the space 2026-04-03 20:04:57 -04:00
VinPropane 5fded86bca chore: clarify Extraction (earth) vs Quarry (city infrastructure) 2026-04-03 20:02:22 -04:00
VinPropane feafb4d5a0 chore: format skill roster as per-category tables like gigs 2026-04-03 19:59:40 -04:00
VinPropane eacd03e5c5 chore: document low-gig specialist path and growing skill roster 2026-04-03 19:58:16 -04:00
VinPropane 3846c23ef2 chore: drop Social skill category from game design skills doc 2026-04-03 19:54:02 -04:00
VinPropane 0fcedd5c09 chore: expand Tech roster with hacking and cyber security skills 2026-04-03 19:53:11 -04:00
VinPropane d18656d29b chore: move fab tech into Process / refine family in skill roster 2026-04-03 19:52:08 -04:00
VinPropane 714f98ae4f chore: v0 skill roster ideas by Gather/Process/Make/Tech/Social 2026-04-03 19:50:21 -04:00
VinPropane ebbe1f90b2 chore: clarify skill domains vs categories in skills.md 2026-04-03 19:49:07 -04:00
VinPropane 8fa93d6455 chore: add progression.md; make skills.md non-combat-only at top 2026-04-03 19:46:53 -04:00
VinPropane 18f3635fbe chore: flesh out skills.md — domains, categories, XP, gates, mastery, epics 2026-04-03 19:43:27 -04:00
VinPropane 68419d0396 chore: add docs/game-design/brainstorm/ for loose ideas 2026-04-03 19:41:30 -04:00
VinPropane 8bc7018776 chore: capture hack + bodyguard mission idea (skills + gigs) 2026-04-03 19:40:22 -04:00
VinPropane 49ee930f5d chore: note likely fourth damage gig later; keep 9-gig v1 roster 2026-04-03 19:29:03 -04:00
VinPropane 29838c8627 chore: cyberpunk-themed gig names (Breach, Cascade, Sightline, …) 2026-04-03 19:27:27 -04:00
VinPropane 4c8239b3bf chore: add third damage gig Reach (ranged) 2026-04-03 19:25:32 -04:00
VinPropane 6b59ebbbe4 chore: first-draft 8-gig roster (2 per archetype) 2026-04-03 19:23:48 -04:00
VinPropane a6b33d8a30 chore: PvP gig rules open indefinite pending PvP scope 2026-04-03 19:22:33 -04:00
VinPropane 4c6dc94d5e chore: defer recruitment channel until broader vision 2026-04-03 19:22:03 -04:00
VinPropane c07237db39 chore: conditional LFG design — niches, gig+loadout eligibility, multi-select 2026-04-03 19:17:59 -04:00
VinPropane 1ff835dd91 chore: decouple party recruitment from assumed LFG UI 2026-04-03 19:16:21 -04:00
VinPropane 31e7361ab3 chore: passive consumable amp applies from main or sub-gig 2026-04-03 19:13:48 -04:00
VinPropane a204fb12e3 chore: gig XP only on main gig; sub earns none 2026-04-03 19:12:54 -04:00
VinPropane 8b97835189 chore: add game-design gigs.md artifact; link from overview and skills 2026-04-03 19:09:36 -04:00
VinPropane 8d5974fb74 chore: agree per-gig combat progression 2026-03-31 23:31:15 -04:00
VinPropane 6114dc613c chore: agree hub-only gig swap (no on-the-fly) 2026-03-31 23:30:06 -04:00
VinPropane 975acf267b chore: agree soft skill caps with escalating XP per level 2026-03-31 23:29:13 -04:00
VinPropane 72526ebc11 chore: clarify failure XP is per-skill, open; not death penalty 2026-03-31 23:27:15 -04:00
VinPropane d30ee1c291 chore: agree primary skill XP from doing the activity 2026-03-31 23:25:51 -04:00
VinPropane 0766bbcc9b chore: mark combat vs non-combat split agreed in decisions log 2026-03-31 23:24:59 -04:00
VinPropane 0f90f9500e chore: agree sub-gig; drop combinatorial emphasis 2026-03-31 23:23:32 -04:00
VinPropane e815b42734 chore: document optional FFXI-style sub-gig slot 2026-03-31 23:18:13 -04:00
VinPropane f41426cdee chore: multi-gig mastery OK; time-gated by slow gig leveling 2026-03-31 23:16:35 -04:00
VinPropane db452e9c56 chore: rep character-wide, gig-scoped storylines and main quests 2026-03-31 23:13:48 -04:00
VinPropane 3d3de5b85e chore: agree consumables baseline + gig amplification seam 2026-03-31 23:12:26 -04:00
VinPropane a855551a6b chore: combat gear crafting has no gig dependency 2026-03-31 23:10:49 -04:00
VinPropane 36533a5f98 chore: seam decision — combat gear is gig-restricted 2026-03-31 23:07:58 -04:00
VinPropane bb23b155a6 chore: lock game-design vocabulary (gig vs skill) 2026-03-31 23:06:10 -04:00
VinPropane 08673b6e59 chore: document hybrid combat gigs + classless non-combat skills 2026-03-31 23:00:46 -04:00
VinPropane e929f60e8a chore: add game-design skills vision doc 2026-03-31 22:44:10 -04:00
VinPropane 55c4396da7 chore: fold professions into skills stub in game-design overview 2026-03-31 22:40:46 -04:00
VinPropane afe6eed53c chore: expand game-design overview planned topic stubs 2026-03-31 22:35:58 -04:00
VinPropane a8dd1b22cd chore: add game-design overview as master index 2026-03-31 22:33:39 -04:00
VinPropane ff60b129cd chore: add docs/game-design for vision and mechanics notes 2026-03-31 22:32:09 -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 813baa670d docs: tidy data_and_ops_policy table and vision plan links
Widen content-reload policy table columns; use proper markdown links to
neon_sprawl_vision.plan.md (not code-span wrapped URLs).

Made-with: Cursor
2026-03-30 19:05:49 -04:00
VinPropane c47892c782 docs: documentation vs implementation alignment (#7)
Add documentation_and_implementation_alignment.md: register Status
semantics, Planned vs partial work, per-module snapshot guidance,
implementation tracking table (E1.M1 + NS-15).

Expand register Status legend; set E1.M1 to In Progress; E1.M1 module
doc Implementation snapshot and status. Link from contracts,
decomposition README, tech_stack.

Made-with: Cursor
2026-03-30 19:03:03 -04:00
VinPropane 4a510847b7 docs: data reload and telemetry operations policy (#6)
Add data_and_ops_policy.md: boot-time content load, optional dev
reload, E9.M3/E2.M4 for live tuning; telemetry PII rules, sampling,
retention principles; baseline events from vision plan with future
catalog as field source of truth.

Register cross-cutting + intro; E9.M1, E2.M2, contracts, decomposition
README, tech_stack (Related + Observability pointer).

Made-with: Cursor
2026-03-30 19:00:59 -04:00
VinPropane 0f25edb86a docs: drop conversation-only (#4)/(#5) from module doc titles
Made-with: Cursor
2026-03-30 19:00:06 -04:00
VinPropane 137da33dcc docs: quest scope and party rules (#5)
Add quest_scope_and_party.md: per-character QuestStepState default;
QuestDef modes for solo vs party credit and optional leader turn-in;
E8.M1 dependency for party features; E7.M2 per-character rewards;
open-world prototype default; instance_id binding deferred; edge cases
and telemetry.

Register cross-cutting subsection + intro link; update E7.M1, E7.M2,
E8.M1; contracts, decomposition README, tech_stack related docs.

Made-with: Cursor
2026-03-30 18:58:23 -04:00
VinPropane c9765da311 docs: PvP × combat engine integration (#4)
Add pvp_combat_integration.md: single E5.M1 pipeline for PvE/PvP;
E6.M1 gate before player-target hostility; stub for PvE-only milestones;
shared kernel + profiles escape hatch; deny reason / telemetry notes;
E6.M3 ordering after resolution.

Register cross-cutting subsection; links from E5.M1, E6.M1,
client_server_authority, contracts, decomposition README, tech_stack.
Fix E6.M1 master plan link markup.

Made-with: Cursor
2026-03-30 18:55:46 -04:00
VinPropane 837251d439 docs: client vs server authority (#3) policy
Add modules/client_server_authority.md: default server truth for
persistence/economy/combat; intents vs state table; E1.M1–E1.M4 and
E5.M1 ownership; economy/quest/zone/PvP blanket; deferred tick rate
and lag comp.

Link from contracts.md, register, decomposition README, tech_stack;
one-line Authority pointers in E1_M1, E1_M2, E5_M1. Fix contracts.md
baseline link formatting.

Made-with: Cursor
2026-03-30 18:53:29 -04:00
VinPropane 8ac9953c92 docs: define contract kinds and artifacts (wire, content, telemetry)
Add modules/contracts.md: Protobuf wire vs server-internal vs JSON Schema
content vs telemetry catalog; mapping Key contracts to kinds; proposed
contracts/ repo layout; versioning and Ready criteria.

Link from dependency register, decomposition README, tech_stack Related
docs; pointer from E9.M1 module doc.

Made-with: Cursor
2026-03-30 18:51:35 -04:00
VinPropane 293b8a4c79 docs: expand module register to full epic catalog (37 modules)
- Split dependency table by epic; every Depends On ID is a register row
- Add InteractionRequest to E1.M1 contract column per epic 1
- Footnote E4.M3 backend world services; E4.M3 register deps E4.M1 only
- Add 28 new module markdown files (E1.M3–E9.M4 gaps)
- Link per-module docs index to all 37 files
- Cross-link existing module docs; remove obsolete E1.M3 register note from E5.M1
- Update decomposition README modules blurb

Made-with: Cursor
2026-03-30 18:48:07 -04:00
VinPropane 93eb1fc936 docs: add per-module decomposition docs and register links
Add nine module documents aligned with module_dependency_register rows
(E1.M1, E1.M2, E2.M2, E3.M2, E4.M4, E5.M1, E6.M1, E7.M1, E9.M1) with
purpose, contracts, dependencies, dependents, slices, and risks.

Link register and decomposition README to the new files; note E1.M3
as E5.M1 dependency without a register row yet.

Made-with: Cursor
2026-03-30 18:41:57 -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
don cbf15fc8bb chore: retarget server to .NET 10 and update stack docs
- NeonSprawl.Server: net8.0 -> net10.0
- README, tech_stack, server README, vision plan: .NET 8 -> .NET 10

Made-with: Cursor
2026-03-29 19:49:45 -04:00
don 31bce2b344 Lock client scripting to GDScript; document in README and tech stack
- State GDScript as the locked choice for Godot client code
- Summary tables and client README note standard (non-.NET) Godot build
- Server/client contract via Protobuf or JSON spike, not shared C# on client

Made-with: Cursor
2026-03-29 19:36:18 -04:00
don 8199dab748 Complete Neon Sprawl rename and server project defaults.
Remove legacy vision plan filename; epics already reference neon_sprawl_vision.plan.md.
Add launchSettings and appsettings for NeonSprawl.Server.

Made-with: Cursor
2026-03-29 17:24:35 -04:00
don 09a4106543 Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00
don 25c0dd37e2 Document tech stack, README, and align prototype critical path with modules.
Add locked C# / .NET 8 + Godot baseline in docs/architecture/tech_stack.md and
README; link stack from vision plan and decomposition index. Fix vision plan
module graph and lists: include E1.M4 (AbilityInputScaffold) after E5.M1 and
E2.M3 in pre-production additions; update Solo-Dev build order accordingly.

Made-with: Cursor
2026-03-29 17:04:37 -04:00
don b616b741ac Update module dependency register and README with new epic documentation and refined next actions. Added SecurityTierZoneFlags module and clarified dependencies in the planning documents. 2026-03-29 16:47:37 -04:00
don 328aec3a60 Initial project vision and decomposition planning baseline.
Capture the finalized MMO vision document and structured decomposition workspace for epics, modules, and milestones.

Made-with: Cursor
2026-03-29 16:09:57 -04:00