Repository navigation
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.
Compatible field rendering needs access to the actual imported effect artwork without borrowing an actor renderer or releasing the engine's cached images. This adds an owned sheet service and the resource portion of the field-effect module: native catalogue lookup, explicit cache installation, detached metadata, full-frame quads and eight-pixel front crops.
Existing imported tall-grass, surf-blob, ripple, sparkle, FRLG-bird and independent emote-strip records keep their own dimensions and frame order. Missing records stay unavailable; independent bubbles are not guessed into a combined strip. Native generated-asset overrides remain authoritative. Explicit objects.lua/RGBA providers use their original payloads without writing conversion files. Their manifests have bounded execution and typed geometry/path validation; a declared authored manifest is not silently mixed with unrelated native art.
Resources have per-mod leases and bind to the game/dataset/save/mod-set/edition cohort. Failed entry, late validation rejection, asset invalidation, replacement and teardown retire owned allocations. Preparation failures are retryable and release partial uploads. A private allocation list prevents public sheet-table mutations from transferring ownership of borrowed images. Cached sheet requests avoid repeatedly copying a manifest. The service adds no gameplay or effect clock.
Integration uses #254/#260/#265/#276 and their existing prerequisites. The #276 follow-up explicitly retires optional field providers on the public loader, including its API-2 teardown path. Edition registration remains in #183/#186/#187. The tested API-2 stack is based on upstream ed5189c and includes the preceding published transition interface; it is not a full merge of every cartridge PR.
Validation:
This implements artwork resources only. Native effect start/wait/active commands, argument stores, ground/surf/fly/heal task observations, effect phase hooks, reflections, actor collection and remaining artwork are still required. No empty animation lists, simulated effects or placeholder clocks are supplied. Complete unchanged package initialization, original effect-task parity, full renderer/shader/gameplay and mod coexistence remain unaccepted. No cartridge payload, private mod source or player data is included; QA retains the 8 GiB reserve and uses isolated identities. See docs/native-field-effect-sheets.md.