memory: wrap session 5 — movement smoothing + republished 3-platform builds

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-07-12 19:05:58 +01:00
parent 44048708b8
commit e43e2ce14f

View file

@ -43,7 +43,9 @@ Durable memory for this project. Read at session start, update before session en
- **Prefab editing: use `PrefabUtility.LoadPrefabContents(path)` → mutate → `SaveAsPrefabAsset(root, path)` → `UnloadPrefabContents`.** The `InstantiatePrefab`+unpack+`SaveAsPrefabAsset(instance)` path DROPPED the components I'd added to the instance root — LoadPrefabContents is the reliable editor for an existing prefab asset.
- **Owner-authoritative NetworkTransform** = subclass `NetworkTransform` and `protected override bool OnIsServerAuthoritative() => false;` (right for player avatars; the bot/ball stay server-auth default).
- **`HostGame()` races the async sign-in on Start** — calling it too early throws "player is already signing in". Poll `AuthenticationService.Instance.IsSignedIn` (or just retry) before hosting in a fresh play session.
- **▶ RESUME:** arena + avatar are in. Still owed / next: build **player stands** around the arena (drive-from-stand flow that gates avatar-vs-tread input), swap the grey bot chassis/treads + shove ball for scrap models, and the real 2-human playtest. Screenshots this session confirmed the look (container ring + dirt + character all cohesive).
- **Player movement smoothing (2026-07-12):** initial `PlayerAvatar` felt "jerky/jarring" because it applied velocity INSTANTLY (full 5m/s on press, dead-stop on release) → also popped anim Idle→Run. Fixed: `Vector3.MoveTowards`-ramp horizontal velocity (`acceleration` 45, `deceleration` 60 m/s², inspector-tunable) so starts/stops ease and Idle→Walk→Run blends. Diagnosed first (applyRootMotion already False, NT.Interpolate True/correct, TickRate 30) — the instant-velocity was the cause, not netcode. Committed `4404870`. **Still open:** no player-follow camera (camera locked to Bot), which makes on-foot movement awkward to judge — offered to add a 3rd-person player-follow cam (retarget FollowCamera to the local avatar during the on-foot phase), user hasn't decided.
- **Republished all 3 platform builds (2026-07-12) with the arena+walls+avatar content** to release `m1-playtest-2026-07-12` (id 19): rebuilt Win/OSX/Linux (0 errors each), deleted the 3 old assets via API (`DELETE /releases/19/assets/{id}`, need Basic-token; got asset ids from the release JSON), uploaded fresh zips, updated notes (you now spawn as a runnable character; bot+ball in the walled arena; WASD-overlap caveat noted). Builds live OUTSIDE the repo in `F:/jankenbots/builds` (not committed). Publish script: `scratchpad/republish_builds.sh` (gotcha: to pass a multiline body to `python3 -c` use `BODY="$B" python3 -c "...os.environ['BODY']..."`, NOT an argv trailing arg).
- **▶ RESUME:** everything committed (`4404870`) + all 3 fresh builds on the release. Next: **player-follow camera** (offered, pending user OK), **player stands** + drive-from-stand flow (gates avatar-vs-tread WASD overlap), swap grey bot chassis/treads + shove ball for scrap models, and the real 2-human playtest. Screenshots confirmed the look (container ring + dirt + character cohesive).
### 2026-07-12 (session 4 — M1 build finished: shove ball + follow camera)
- **▶ RESUME HERE next session:** the entire M1 build is done (bot drives, shove ball, follow camera — all in `M1_Arena`, all smoke-verified). **The ONE thing left in M1 is the real 2-human friends playtest over Relay** — flip off any `debugAutoDriveFull`, don't rely on scripted proxies, get two actual people each on one tread pushing the ball around. That playtest is the true fun verdict. After it → **M2 = add a hammer** (first weapon). See the "SHOVE BALL + FOLLOW CAMERA" ✅✅✅ block above for every value/gotcha.