Commit Graph

1114 Commits (cfad03e61f2b0d8909a7d0f90e1493a0ce818d0a)

Author SHA1 Message Date
VinPropane e1beb82a75 NS-23: unstuck bump top — descend steers xz to goal; doc abs(dy)
Server already allows downward steps via abs(ΔY) vs MaxVerticalStep; document
that explicitly.

Client: when authoritative goal Y is below the body, skip nav waypoints and
steer horizontally toward the goal only — mesh waypoints under the rim
gave ~no horizontal speed (felt like wrong collision).
2026-04-05 01:29:31 -04:00
VinPropane b8176f8fa1 NS-23: simplify client movement — horizontal only, no bump nav hacks
Replace stacked NS-19 workarounds (underfoot rays, plateau nav skip, 3D
climb/descent steering, rim escape) with one rule: set horizontal
velocity toward waypoint/goal, force velocity.y = 0, move_and_slide +
floor_* handle height along geometry. Server MoveCommand remains the
single place for allow/deny on illegal steps.
2026-04-05 01:26:59 -04:00
VinPropane 2291a0ec07 NS-19: move Bump B to clear capsule between bumps
Frustum bases left ~0.33 m between closest corners while the player
capsule is ~0.8 m wide, so crossing could wedge between A and B. Shift
NS19BumpB −Z by 0.75 m (z −4.1 → −4.85) so AABB clearance ≈1 m.
2026-04-05 01:23:25 -04:00
VinPropane fba2c8e171 NS-19: large bump — wider underfoot rays + shallower frustum
- Add xz-offset down-rays (~0.42 m) so rim/lean on the 1 m Bump A still
  counts as on-bump for nav skip (single center column could miss).
- Widen Bump A convex base 0.65→0.72 (top 0.5 unchanged): gentler ~34°
  sides vs ~45° to reduce CharacterBody3D snags; mesh unchanged.
2026-04-05 01:19:28 -04:00
VinPropane 35d16d15db NS-23: harden bump departure (always skip nav on bump, steer dy<0)
- If any of three down-rays (body + two lower origins) hits ns19_bump,
  skip NavigationAgent waypoints unconditionally on that footprint.
- Steering: any goal lower than origin with same xz (dy < 0) uses rim
  escape; dy in (-0.04, 0) previously zeroed velocity and could hang.
2026-04-05 01:16:07 -04:00
VinPropane 66d7438a59 NS-23: broaden NS-19 bump nav bypass for departure
Plateau-only (strict flat normal + is_on_floor) missed rim poses and
convex top edges. Skip waypoints when a down ray from body or feet
offset hits ns19_bump and either the goal is lower than the body origin
(typical floor click off bump) or we are on a flatter floor normal
(~15°). Keeps waypoint routing on bump slopes when climbing past
obstacles unless the move is clearly downward.
2026-04-05 01:14:19 -04:00
VinPropane db1fe0f46b NS-23: skip nav waypoints on NS-19 bump plateaus only
Restore obstacle routing via waypoints elsewhere; on bump tops nav often
prefers a downward segment and breaks departure. Detect plateau with
is_on_floor + flat normal + ray down into group ns19_bump; then steer
only toward authoritative goal xz. Slopes keep waypoint pathing.
2026-04-05 01:12:11 -04:00
VinPropane a5ec8df4a7 NS-23: terminal collision, nav around obstacle, agent under region
- Add BoxShape3D to PrototypeTerminal (layer 1, walkable) so the player
  cannot pass through; matches terminal mesh size.
- Bake navigation from collision layer 1 only so the player (layer 2) is
  not merged into the mesh; reparent Player under NavigationRegion3D so
  NavigationAgent3D resolves a valid map.
- Restore nav waypoint following for long horizontal legs; keep horizontal
  steering toward next/goal so bump departure behavior stays sane.
2026-04-05 01:10:16 -04:00
VinPropane 05d7916cc7 NS-23: fix bump departure — stepped pick + goal-only steer
Ground pick: step the ray through steep walkable hits (0.09 < dot UP < 0.64)
so a view that grazes bump sides still resolves to flat floor beyond; walls
(dot ~0) stop the chain.

Player: drop NavigationAgent3D waypoint following; steer only toward the
server goal in xz so plateau paths are not dominated by vertical nav
segments. move_and_slide handles slopes and obstacles.
2026-04-05 01:07:02 -04:00
VinPropane 725bef1133 NS-23: allow ground pick on bump slopes (fix stuck departure)
MIN_WALKABLE_NORMAL_DOT_UP 0.82 is stricter than NS-19 frustum slopes
(~45° / dot 0.71 on Bump A, ~39° / 0.78 on B). Clicks off the plateau
often hit the slope first; the pick was dropped with no MoveCommand.
Lower to 0.64 so ramps register; vertical walls remain ~0.
2026-04-05 01:03:51 -04:00
VinPropane 4b9e30c624 NS-23: fix false arrival when leaving bump tops
VERT_ARRIVE_EPS (0.16) was larger than the bump rise (~0.12–0.15), so a
floor click beside the plateau often satisfied arrival (horiz + vert) on
the first frame and cleared the walk goal before any motion.

Tighten vertical arrival to 0.055. Add a steer fallback when the target
shares xz but is lower (plateau vs floor underfoot) so we still pick a
horizontal escape toward the rim.
2026-04-05 01:01:22 -04:00
VinPropane 7ffcf54d80 NS-23: horizontal nav steering so bump-top departure works
Path waypoints from the plateau often sit on the slope almost under the
player (same xz, lower y). 3D steer + y clamp gave almost no horizontal
velocity, so standing on top then clicking off looked stuck. Steer in xz
at MOVE_SPEED and let move_and_slide follow floor/slope; keep 3D only for
vertical climb when xz is aligned.
2026-04-05 00:58:10 -04:00
VinPropane f6baf3bf72 NS-23: NS-19 bump single frustum collider (fix departure edges)
Replace top slab + four ramp wedges with one ConvexPolygonShape3D frustum
per bump so plateau and slopes are one manifold (no collider seams at
table edges when walking off).

Add CharacterBody3D safe_margin to reduce edge contact with physics.
2026-04-05 00:55:15 -04:00
VinPropane 38abf6d5d2 NS-23: NS-19 bump collision top-cap only (fix ramp snag)
Full bump box shared vertical faces with convex ramp wedges, doubling
collision and snagging CharacterBody3D on and off. Replace with thin
top BoxShape3D; ramps own all side contact.

Raise Player floor_max_angle to 50° and floor_snap_length slightly for
cleaner ramp floor snapping.
2026-04-05 00:51:32 -04:00
VinPropane 0e79250f1a NS-23: NS-19 bump convex ramps; drop autostep
- Add four invisible ConvexPolygonShape3D ramp wedges per bump (walkable) so
  move_and_slide can climb/descend without test_move ledge hacks.
- Remove _try_autostep / _maybe_autostep_after_slide and LEDGE_DROP_STEPS;
  they mis-detected geometry and fought CharacterBody3D slide.
- Fix duplicate subresource unique_id on BumpA RampWest and BumpB RampSouth.
2026-04-05 00:48:51 -04:00
VinPropane 394e2a71fb NS-23: Fix const LEDGE_DROP_STEPS (Godot const expression rule) 2026-04-05 00:44:15 -04:00
VinPropane b007c7fe58 NS-23: Autostep down+forward to walk off bump edges 2026-04-05 00:42:50 -04:00
VinPropane 6fd49a2e1b NS-23: Auto-step onto NS-19 bumps via CharacterBody3D.test_move 2026-04-05 00:39:30 -04:00
VinPropane 6d00070c00 NS-23: Climb NS-19 bumps with 3D steer + vertical arrival + floor snap 2026-04-05 00:36:43 -04:00
VinPropane 510422d8a2 NS-23: Drive motion from stored server goal; ignore agent finished flag 2026-04-05 00:33:28 -04:00
VinPropane f49c8b88d2 NS-23: Fix nav movement (sync bake, map guard, path/fallback steering) 2026-04-05 00:29:58 -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 562cb09337
Merge pull request #22 from ViPro-Technologies/chore/story-end-rule
Chore/story end rule
2026-04-05 00:07:03 -04:00
VinPropane c09ea77815 chore: document protected main and -D in story-end rule 2026-04-05 00:06:29 -04:00
VinPropane ced9936414 chore: add story-end rule (main, pull, delete local branch) 2026-04-05 00:05:56 -04:00
VinPropane d064b745e2
Merge pull request #21 from ViPro-Technologies/NS-19-move-validation
NS-19 move validation
2026-04-05 00:04:18 -04:00
VinPropane 1f9260e8ba chore(client): order const/var before @onready for gdlint 2026-04-05 00:02:59 -04:00
VinPropane 7fffc3137a NS-19: auto-clear move reject label after 4s 2026-04-04 23:49:14 -04:00
VinPropane 7ac6b66b51 NS-19: ignore vertical walkable surfaces in ground ray pick 2026-04-04 23:45:54 -04:00
VinPropane 32d2153acb NS-19: server move validation, client rejection UX, scene QA props 2026-04-04 23:39:40 -04:00
VinPropane e4ebf97e28 adding gitignore 2026-04-04 23:36:08 -04:00
VinPropane 7f81378361 NS-19: plan walkable bumps and tall pedestal for manual validation 2026-04-04 23:17:16 -04:00
VinPropane 018d43b08c chore: require files/tests lists in every story implementation plan 2026-04-04 23:14:48 -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 a9d418d9c6 chore: allow agent commits at discretion; prohibit git push 2026-04-04 23:11:48 -04:00
VinPropane 39dccef39f
Merge pull request #20 from ViPro-Technologies/NS-18-interaction-request-range-check
NS-18 interaction request range check
2026-04-04 20:33:05 -04:00
VinPropane ea77495072 NS-18: gdformat — blank line after doc block (gdtoolkit 4.5.0) 2026-04-04 20:29:25 -04:00
VinPropane 679fbc46aa NS-18: gdformat prototype_interaction_constants (blank after extends) 2026-04-04 20:27:15 -04:00
VinPropane fd52cf9386 NS-18: fix gdlint (line length, const order/naming) 2026-04-04 20:24:59 -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 a2015dd4bf
Merge pull request #19 from ViPro-Technologies/chore/docs-project-axioms
chore: document governing design axioms (fun, cyberpunk theme)
2026-04-04 18:53:49 -04:00
VinPropane f762240ff8 chore: document governing design axioms (fun, cyberpunk theme) 2026-04-04 18:46:55 -04:00
VinPropane 8794aa64d6
Merge pull request #18 from ViPro-Technologies/chore/game-design-docs
Chore/game design docs
2026-04-03 22:59:51 -04:00
VinPropane 3d9ea1fc6c chore: mark vision-plan suggestion done in final docs review 2026-04-03 22:58:14 -04:00
VinPropane 53fb1d6515 chore: document E2.M2 grant channel policy in vision plan
Align neon_sprawl_vision.plan.md with E2.M2: reject skill XP when
sourceKind is not on SkillDef.allowedXpSourceKinds.
2026-04-03 22:56:50 -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