Skip to content

Major overhaul - #116

Open
vladtrc wants to merge 2 commits into
masterfrom
major-overhaul
Open

vladtrc wants to merge 2 commits into
masterfrom
major-overhaul

Conversation

@vladtrc

@vladtrc vladtrc commented Nov 3, 2026

Copy link
Copy Markdown
Owner

Summary

Overhaul the runtime architecture, asset pipeline and workspace layout, bringing all unpublished work from local master and implementation/monorepo-content-tools into one commit.

  • Give simulation, client entities, render products and audio explicit ownership and lifetimes; simplify prediction and frame scheduling.
  • Reorganize the workspace into applications, shared runtime crates and IW5/T5/T6 extensions, with family-specific asset decoding and gameplay policies.
  • Refactor material compilation and classification, model preparation and world loading.
  • Add procedural content tooling, map composition and random-door connections, and expand native Perfetto diagnostics.

Validation

  • cargo fmt --all -- --check passed.
  • git diff --check origin/master HEAD passed.
  • make publish-check passed.
  • cargo clippy --workspace --all-targets --locked passed with warnings.
  • cargo build --profile play -p launcher --locked passed on Linux.
  • Verified the squashed commit has exactly the same Git tree as the source branch and includes all 57 unpublished master commits plus 34 additional branch commits.

Fresh gameplay scenarios, Windows builds and independent-machine testing were not run for this PR.

vtroc7 added 2 commits November 3, 2026 17:18
- Paginate room adverts by encoded byte budget, follow continuation cursors
  in CLI and GUI browsers, and keep local encoding failures from closing
  healthy control connections. Bound long browser cell labels.
- Parse composed maps through one typed SceneRecipe. Include every world's
  collision, portal transforms, access parameters and versions in map identity.
  Freeze authority-generated door scenes with a shared seed/template key.
- Retain additional-world collision from the first load and finish atlas
  trimming, validation and simulation conversion on the original background
  task. Install the prepared atlas without loading the worlds again.
- Select material environments by physical WorldId for main and portal views.
  Key static-model GPU index uploads by world owner and layout revision.
- Separate latest source snapshots from bounded ordered audio starts/resets.
  Preserve cancellation across overflow, stale snapshots and source reuse;
  expose pressure refusals and a normal sound-alias diagnostic command.
- Resolve workspace Clippy warnings with scoped, explained exceptions, add PR
  quality/feature/Windows checks, and extend the two approved scenarios with
  room, scene admission, lighting, audio pressure and GPU ownership boundaries.

Compatibility: master protocol/ALPN 12, game protocol 125 and recording format 1.
Recordings preserve full composed-scene keys; old headers are explicitly rejected.

Validation:
- fmt, workspace/all-targets Clippy with -D warnings, structure and publish checks.
- Independent IW4, IW5, T5 and T6 play builds; Windows MSVC cross-build (8 MiB stack).
- heavy_gameplay_lifecycle: 68/68; master_duo_chaos: 40/40.
- Real Vulkan same-family direct/portal views, matching clients and flip refusal;
  record/playback, loading cancellation, audio pressure and GPU readback probes.
- Native IW5 Dome and T6 Aftermath spawn/render/teardown checks.

Windows runtime was not exercised. The T6 gameplay check enabled T5 content
for its existing crossbow FX dependency. GitHub Actions execution is pending publication.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant