Skip to content

Prepare Game 0.17 packages with Box2D and portal consumer qualification - #699

Merged
EHotwagner merged 4 commits into
mainfrom
routine/game-box2d-release-portal-20261004
Oct 4, 2026
Merged

EHotwagner merged 4 commits into
mainfrom
routine/game-box2d-release-portal-20261004

Conversation

@EHotwagner

Copy link
Copy Markdown
Contributor

Prepares the stable Game 0.17.0 coherent set on the protected Box2D/portal source: Core, Render, Harness and Physics.Box2D. Existing packages compare against their published 0.16.0 API baseline; the adapter's first release validates its current package without requesting a nonexistent predecessor. Updates the four-package custody/readback gates while retaining one coherent preparation, original bytes, GitHub Packages before public NuGet/OIDC and authenticated recovery without repacking.

The independent package consumer copies both real headless scenes outside the checkout and compiles solely against restored packages. Candidate qualification uses a fresh cache and candidate-only mapping for Game packages; public qualification uses only nuget.org after genuine both-feed publication/readback. It exercises the falling body/joint/sensor scene and the rotated whole-body portal scene, with exact recorded-input replay and package dependency/API checks.

Validation:

  • Existing-path static preflight runs before expensive release restore/build/tests. Good configuration passed; disabled first/second/both pushes, wrong scalar/API baseline, missing fourth-package custody and missing/foreign/wrong-version artifacts refused before consumer work. Custom modeling was deferred because the existing effect ordering and recovery route are unchanged.
  • Actual restore regenerated eight version-induced lockfiles, including the new portal example; only project dependency versions changed.
  • This exact source packed a fresh four-package 0.17.0 candidate once with API/package validation and source-bound metadata. Exact roster, required .fsi entries including AreaRuntime.fsi, Core's FSharp.Core-only dependency boundary, adapter engine pin/no rendering dependency and the independent Journey consumer all passed.
  • A fresh copied package-only consumer proved exactly adapter/Core/Box2D.NET/FSharp.Core and ran both scenes on .NET 10.0.12 / Arch Linux / X64. The 240-tick falling scene reported final height 0.39992859959602356 m, maximum joint error 0.00008517808537522598 m, sensor enter/exit and floor contact. The five-tick portal scene retained one live traveller, one committed traversal, one step per local world, destination position (9.899999618530273, 5.150000095367432) and transformed velocity (-1, 4). Both fresh-world replay comparisons passed.

Original fresh candidate artifacts bind 5589dc7213077faa3b9e5c22dc2ae55415abef16; the earlier 2eaca027 candidate is preserved independently and does not qualify the expanded area-transfer API. This PR prepares release source. Native checks, release selection, collision/trust admission, both-feed publication/readback and public installed execution remain separate. Product/template opt-in remains a subsequent selected follow-up.

@EHotwagner
EHotwagner merged commit 0807133 into main Oct 4, 2026
34 checks passed
@EHotwagner
EHotwagner deleted the routine/game-box2d-release-portal-20261004 branch October 9, 2026 16:27
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