From 06556fac53b684fb20b0a9e1c9986c8ba9a537f1 Mon Sep 17 00:00:00 2001 From: Hails <26784904+Hailey-Ross@users.noreply.github.com> Date: Fri, 2 Oct 2026 08:16:21 -0600 Subject: [PATCH] Docs: PR plan after upstream merged #26/#17/#18 and its own ISO fix PR E merged upstream; PR A trimmed to the long-paths change (upstream fixed the extract-xiso order itself); new row K (solver iterations); upstream sync notes and known-failure list updated. --- docs/hails-additions/PULL-REQUESTS.md | 11 +++++++---- docs/hails-additions/README.md | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/hails-additions/PULL-REQUESTS.md b/docs/hails-additions/PULL-REQUESTS.md index e38d7809..a88bb8b0 100644 --- a/docs/hails-additions/PULL-REQUESTS.md +++ b/docs/hails-additions/PULL-REQUESTS.md @@ -8,16 +8,17 @@ verification, open questions). | PR | Type | Title | Documents | Fork commits | Depends on | Status | |---|---|---|---|---|---|---| -| A | Setup fix | Setup: ISO extraction argument order and Windows long paths | [01](01-iso-extraction.md), [02](02-long-paths.md) | `ea549ab`, `0a88f7a` | — | Draft upstream [#23](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/23) | +| A | Setup fix | Setup: enable Windows long paths for the pro roster (ISO argument-order half dropped: upstream fixed it in `713fe70`/`7ae67f2`) | [02](02-long-paths.md) ([01](01-iso-extraction.md) superseded upstream) | `0a88f7a`; PR branch `setup/xiso-option-order-and-long-paths` = `4352417` + merge of upstream `7ae67f2` (`d7cd6a2`, upstream lines at both ISO call sites) | — | Draft upstream [#23](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/23), retitled; diff vs upstream `main` = `tools/setup.py` only | | B | Feature (input) | SDL3 gamepad input with XInput fallback | [03](03-sdl3-gamepad-input.md) | `3d485c8` | — | Draft upstream [#24](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/24) | | C | Gameplay data | Authored map spawns and headings | [04](04-map-spawns.md) | `b495ed6`, `f00b329` | — | Draft upstream [#27](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/27) | | D | Gameplay data | Skip collision volumes that have no surface IDs | [05](05-collision-volumes.md) | `dec7ade` | — | Draft upstream [#25](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/25) | -| E | Performance | Indexed stock collection lookups (game startup −5.5 s) | [07](07-collections-index.md) | `810defa` | — | Draft upstream [#26](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/26) | +| E | Performance | Indexed stock collection lookups (game startup −5.5 s) | [07](07-collections-index.md) | `810defa` | — | **Merged upstream** as [#26](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/26) (2026-10-02, `4003812`) | | F | Tooling | Streaming map validator (`--validate-maps`) wired into setup | [06](06-map-validator.md) | `18f41a3` | E (speed only) | Draft upstream [#28](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/28) | | H | Gameplay + rendering | Water: detection and bail, shallow water solid / deep water floats, board floats, water camera + vignette, entry splash, water look (family 33 cube blur + tint, anti-tiling, body-size calming, slower waves), animated water (frame-state buffer fix, ocean PCA from default.xex, XEX2 unpacker), ripple scale | [09](09-water.md) | `gameplay/water` (`af1b350`…`55776dc`), upstream branch `water/retail-water` (`8a6e328`, one commit on `60efdef`) | — (carries #28's `install.py` `spawn()` split verbatim) | Draft upstream [#30](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/30) | | I | Test fix | `sky_shader_validates`: add the `VERTEX_POSITIONS` shader def Bevy sets for real meshes | [10](10-sky-shader-test.md) | `b7865d0` | — | Not opened; tiny, can go upstream alone | | J | Feature (audio) | Game audio: setup group `audio` extracts/decodes the disc's audio (vgmstream r2117), per-map ambience, water emitters, rolling by surface and speed band, trick/landing/grind/bail/splash cues, footsteps from foot strikes, volume settings and `--mute` | [11](11-audio.md) | `gameplay/audio` branch (uncommitted) | H (branched from `gameplay/water`; uses its water detection — `collision_feedback.flags.material_12`, `is_water_tag`). Overlaps upstream #4/#1 (retail-exact player audio via transcribed game code + memory image; not adopted — see doc 11): both edit `tools/asset_pipeline/asset_exports.py` and `install.py`, different asset layouts | In progress: most cues confirmed in play by the user; open items in doc 11; needs the regression pass and an installer-path refresh (only `audio` rebuilds) before opening | | G | Performance (setup) | Skip decoding duplicate stream copies; run the customiser beside the maps; parallel clothing library and pro roster, plus a native RefPack DLL in `Build.ps1` | [08](08-setup-performance.md) | `8327e94` (+ overlap hunks of `install.py` in `18f41a3`) | — | Draft upstream [#29](https://github.com/SK8-ENGINE/skate-3-rust-engine/pull/29) | +| K | Gameplay fix (physics) | Board/skater solver: 50 constraint iterations (retail live value) instead of `RWMaxIterations` = 25 | [12](12-solver-iterations.md) | uncommitted (on `gameplay/audio` working tree) | — (one-file change in `physics/settings.rs`) | Ready apart from the asset-gated `customiser_equipment_reaches_ground_force_and_torque` question (doc 12) | Opened 2026-10-01 as drafts from per-PR branches cut from upstream `60efdef` (code only; `docs/hails-additions` stays in the fork). #29 (G) is stacked on @@ -41,14 +42,16 @@ Notes for whoever opens them: is interleaved with the validator wiring in `_install`). Separate them when cutting the PR G branch. PR G now changes the customiser fingerprint (one rebuild of the customiser, with identical output). +- Upstream sync (2026-10-02, upstream `main` = `7ae67f2`; fork PR [Hailey-Ross/rusty-trucks#4](https://github.com/Hailey-Ross/rusty-trucks/pull/4) syncs our `main`): merging it into `hails-additions`, `gameplay/water` and `gameplay/audio` conflicts only in `install.py` / `customiser_setup.py` (the ISO argument order, same fix both sides — take upstream's lines). `customiser_setup.py` is in the customiser fingerprint, so the next setup refresh after the merge rebuilds the customiser once. `water/retail-water` merges clean. Upstream also created an empty `audio-integration` branch (= `main`), likely for PR #4/#1 audio. - PR F works without PR E but validates ~10× slower (each skater/camera load then takes ~5.5 s instead of ~0.2 s). - Pre-existing upstream test failures (present on untouched upstream `60efdef`, not caused by these PRs): skate-core `a_moving_group_8_body_reaches_native_impact_feedback_for_a_stationary_actor`, `predictive_contacts_and_retention_match_full_scan_for_every_primitive`; - skate-game `production_factory_routes_three_handlers_and_all_five_conditions_to_grind_owner`, - `embedded_static_rwcm_hits_distinct_actor_query_ids`, + skate-game `production_factory_routes_three_handlers_and_all_five_conditions_to_grind_owner` + and `embedded_static_rwcm_hits_distinct_actor_query_ids` (both fixed upstream by #18 / #17, + merged 2026-10-02 — gone once our branches merge upstream `7ae67f2`), `pipelines_accept_valid_group_outputs_when_fingerprint_changes`, `sky_shader_validates` (fixed on `gameplay/water`, see [10](10-sky-shader-test.md)); and three skate-data examples that do not compile diff --git a/docs/hails-additions/README.md b/docs/hails-additions/README.md index f46a54ab..9bbf7825 100644 --- a/docs/hails-additions/README.md +++ b/docs/hails-additions/README.md @@ -9,7 +9,7 @@ Each document stands alone. File paths are relative to the repository root. | # | Change | Area | Status | |---|---|---|---| -| 1 | [ISO extraction argument order](01-iso-extraction.md) | Setup (Python) | Done, verified with a real ISO | +| 1 | [ISO extraction argument order](01-iso-extraction.md) | Setup (Python) | Superseded: upstream fixed it the same way (`713fe70`, `7ae67f2`, 2026-10-02); dropped from PR A | | 2 | [Windows long paths during setup](02-long-paths.md) | Setup (Python) | Done; UAC path not exercised end to end | | 3 | [SDL3 gamepad input](03-sdl3-gamepad-input.md) | Game (Rust), build scripts, vendored `sdl3-sys` | Done, verified in play with an Xbox Elite Series 2 | | 4 | [Authored map spawns](04-map-spawns.md) | Asset pipeline (Python) | Done, all 10 maps confirmed in play | @@ -17,6 +17,7 @@ Each document stands alone. File paths are relative to the repository root. | 9 | [Water](09-water.md) | Game physics, camera and rendering (Rust), setup, diagnostics | Matched to retail footage (RPCS3): shallow water solid, deep water floats, board floats, water camera + vignette, entry splash, canal water look matched, small bodies calmer | | 10 | [Sky shader validation test](10-sky-shader-test.md) | Game tests (Rust) | Done; all six shader validation tests pass | | 11 | [Game audio](11-audio.md) | Setup (Python, vgmstream), game audio (Rust) | Tuned by ear over ~15 play sessions: rolling, pop/landing, board-down, footsteps, foot drag, splash, grab whoosh confirmed; bail impact, metal grinds, landing weight, fountains and some other cues not yet confirmed; regression pass pending | +| 12 | [Board solver: 50 constraint iterations](12-solver-iterations.md) | Game physics (Rust) | Done; maps identical, water traces as expected; one asset-gated customiser test fails (open question) | ## Environment used for verification