Commit Graph

58 Commits (68419d03964b112237eb861a4da1649b962ed653)

Author SHA1 Message Date
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