Repository navigation
Fix pool fallback cylinders with registered cooked hosts - #150
Merged
Merged
Conversation
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.
Live testing of the full rack showed fallback cylinders: raw mesh paths did not provide the host entities needed by the deployed renderer. Register each of the fifteen object meshes with its own cooked visual entity supplied by opx_pool_assets 0.3.0, then render the opaque ID returned by the native. The existing white/cue hosts, full rack, camera framing, physics, target and menu fixes remain in place.
The available API catalogue stops at op77.148; the registration binding and exact argument/return contract were verified in the signed op77.152 client DLL. Record that evidence in docs/POOL_MODELS.md, check the native exists at runtime, and refuse the table with a friendly notice when registration is unavailable or rejected. Require asset resource 0.3.0. Optional model overrides now explicitly name registered IDs or supported aliases.
Validation: all 68 Lua audits pass; full suite 6,722 checks, zero failures. The enabled-client test forbids raw mesh creation, verifies all fifteen distinct mesh/visual-host pairs, uses opaque returned IDs, and checks registry refusal/older-client cleanup. Frame/packet callbacks remain under 5,000 instructions; complete module startup including all registrations measures 5,600 against an 8,000-instruction guard. Syntax, sandbox scan, pool UI lifecycle and diff checks pass. The companion asset PR checks all derived buffer imports/offsets/CRCs and deterministic packing.
Not yet verified in game: actual cooked-host rendering/materials and removal/rejoin. The updated preload requires fully exiting the game and starting again through the launcher after deploying both repositories; reconnect alone will not mount it. No ArchiveXL or server-security configuration change is needed.
Closes #149. Companion assets issue: opx77-framework/opx_pool_assets#8. MANUAL and native evidence updated; docs-site tracking: opx77-framework/opx77_doc#19.