Repository navigation
fix(rig): validate native material and texture bindings - #206
CompleteDotTech wants to merge 3 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
# Conflicts: # scripts/test_rig_gate.py
CompleteDotTech
left a comment
There was a problem hiding this comment.
Repository triage review at d932d08a781e5c37a472a595b238972799f8bbf4.
The bounded material/index/UV validation change is supported by 10 passing focused Windows regressions. Current mergeability is dirty: reconcile the shared importer and test_rig_gate.py changes with main and sibling #211, preserving both material and texture/codec test families, then rerun exact integrated-head checks. This does not complete #44, #52 or #139. No new Blender/browser run was performed by this review.
This is an evidence-bounded agent COMMENT review, not a native approval or merge authorization. Historical artifacts and review claims remain tied to their original revisions.
Current published integrated head
PR #206 now contains the published integrated head
d932d08a781e5c37a472a595b238972799f8bbf4, a normal merge of actualmaindcba9123c4b70fc2caa7b56267920f239fb35c12into the originally reviewed1d3480f0e4cb0a0431ab86120f65e25048badac6. Material runtime, tests and documentation are unchanged; gate resolution preserves all current-main operations/correction validation and Model3D isolation, plus the material interoperability family. No other branch was edited.Frozen current-candidate validation: 58 Model3D/correction tests passed in 11.427s; 52 material/core/interoperability tests passed in 30.349s with real Blender/browser/Khronos enabled, zero skips. All 355 tracked script/profile/test hashes are identical before/after. Exact local evidence:
/tmp/hatch-fleet/native-material-d932-integration.json.Fresh independent actual
gpt-6-astrareview returned PASS with zero findings at exactd932d08a781e5c37a472a595b238972799f8bbf4: 125 selected tests passed in 40.146s with zero skips, plus fresh actual material consumers, decoder, color and baseline probes. Report:/tmp/hatch-fleet/review-native-material-d932.md, SHA-256fcaed217e3a46c1f1fcb8427832daad594eca9b5c48e5e7e2556d011edc6b5d5. Old1d3480fapproval and all 21 successful CI checks are historical evidence, not current-candidate CI. The head was published under an individual root lease. New exact-head CI and the final controller merge gate remain required; no merge is authorized by these local results.Original scope and historical publication evidence
Problem and scope
Refs #52, #44, #139 (partial import safety correction; none is closed by this PR).
Native GLB/glTF import admitted material texture indices that do not exist, missing per-primitive UV bindings, and dangling image/sampler references. The same malformed material could be saved in a native geometry bundle or exported. This change enforces those boundaries in the shared
rig_models.validate_geometryowner, so import, native storage and export use one validation rule.Changes
KHR_texture_transform.texCoordoverrides and preserving valid transform/extension dictionaries.COLOR_0RGB/alpha components while preserving valid RGB→RGBA promotion._indexprofile; adapters admitting integral JSON floats must normalize them first.Validation
At local candidate
1d3480f0e4cb0a0431ab86120f65e25048badac6(source hashes intests/results/native-material-safety-verification.json):RIG_TEXTURE_REFERENCE, no traceback, requested run absent, source unchanged.Independent reviewer
/root/review_native_material, actual modelgpt-6-astra, returned PASS with zero findings at exact1d3480f0e4cb0a0431ab86120f65e25048badac6. The reviewer independently reran all 41 tests with zero skips and added real-file/consumer probes. Full report:/tmp/hatch-fleet/review-native-material.md(SHA-25678047b1d3cef36c9eee53e8b2794cf3a80eae9025b097f3ed6c6a1ce63607490). This is an independent model code review, not native GitHub approval or human/production signoff. Published-head CI and integrated-main verification remain separate gates; no merge is claimed.Compatibility, limits and rollback
This intentionally rejects malformed previously accepted references. Valid material/image/sampler data and both supported UV sets roundtrip through native storage and GLB/glTF. Extension-specific numeric domains beyond finite JSON, full glTF compliance, rendered PBR equivalence and visual/production approval are outside this correction. Existing fixture integrations do not prove rendered equivalence for every new textured case.
The interoperability gate list must retain other concurrently added import-transform tests during integration. No
rig_import.py, source archive format, schema, original asset or dependency pin changes. Rollback is the cohesive validation/test commit; retained source bytes are unaffected.