Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This draft implements the standalone-texture slice of PRD568: Android/iOS cooks convert the selected Basis result into raw ASTC 4x4 KTX2 with full mips, sRGB/UNORM headers and no supercompression. Web/desktop retain their Basis path. The starter contract requires a real ASTC output and validates every emitted KTX2. A separate receipt-guard regression now rejects new undeclared paths even when copied timestamps are old; child-exit diagnostics preserve existing test budgets.
Validation: full assets suite on original Debian/Node20.19.6 passed at source
90383cb3d(566 passed, 6 skipped, exit 0, 255.29 s). Fresh assets + scaffolder builds passed atac870d5db; the compiled starter mobile caller passed (1 passed, 65 skipped, exit 0, 3.07 s) within one 240 s supervisor. The earlier worker-exit cause remains unproven.Normal pre-push
pnpm ci:fastpassed agents, lint, docs and drift forac870d5db; it proves drift only, with no native or full CI qualification.OPEN: final ASTC byte caps (
maxBytescurrently measures Basis), shipped ASTC quality (floor currently measures the Basis decode), mobile decoder overrides/codec-none contracts, embedded/shared model textures, lightmaps, admission, native and visual proof. This draft is partial and remains at 0%; it makes no release or native-runtime claim.TL;DR — The cook writes Basis KTX2, UASTC or ETC1S, chosen per texture by the quality ladder (
packages/assets/src/passes/model-textures.ts:426-430). At load time three transcodes each file to whatever the GPU takes (TRANSCODE_TARGETS,texture.ts:68-71: UASTC toastc4x4orbc7, ETC1S tobc1oretc2). That transcoder is WASM.0% by the PRD's own boxes: 0/2 phases (0/4 boxes), 0/2 acceptance criteria. PRD:
docs/PRDs/unreal-source-borrowing/PRD-568-mobile-builds-ship-gpu-ready-astc.md.Phases
Phase 1: Cook and admit raw ASTC — 0/2
vkFormat, full mips and no supercompression; web and desktop output is byte-identical to before. proof: red-greenpnpm exec vitest run packages/assets/__tests__pnpm exec vitest run packages/create-threenative/__tests__/native-ktx2.spec.tsPhase 2: Load and check on the host — 0/2
texture-compression-astcfails at startup with a named error. proof: red-greenpnpm exec vitest run packages/core/__tests__/assets.spec.tsAcceptance criteria
TN_NATIVE_KTX2_UNSUPPORTED, and renders both authored checker colours on the emulator. proof:sh scripts/vq01-android-proof.sh <artifact-dir> emulator-5554withTHREENATIVE_GRADLE_ARGS=-PthreenativeJsEngine=quickjs— Evidence: pending.TN_STALL_SEGMENTS— Evidence: pending.Still open
vkFormat, full mips and no supercompression; web and desktop output is byte-identical to before. proof: red-greenpnpm exec vitest run packages/assets/__tests__pnpm exec vitest run packages/create-threenative/__tests__/native-ktx2.spec.tstexture-compression-astcfails at startup with a named error. proof: red-greenpnpm exec vitest run packages/core/__tests__/assets.spec.tsTN_NATIVE_KTX2_UNSUPPORTED, and renders both authored checker colours on the emulator. proof:sh scripts/vq01-android-proof.sh <artifact-dir> emulator-5554withTHREENATIVE_GRADLE_ARGS=-PthreenativeJsEngine=quickjs— Evidence: pending.TN_STALL_SEGMENTS— Evidence: pending.Generated from the PRD's checkboxes. Regenerate on each push so the PR and the PRD never disagree.