Conversation
Add HONOR_CACHE_AS_BITMAP (default true) so AS3 cacheAsBitmap sticks without requiring USE_UNSAFE_CACHE_AS_BITMAP. Timeline update_mtx_* / colorTransform skip identical hold-frame rewrites that previously dirtied parent CacheRenderers every tick (E8 Diggy).
DisplayObject.blendMode getter returned "" unless USE_UNSAFE_BLENDS, so Diggy GroundFG LAYER + ERASE child never engaged CacheRenderer. HONOR_NATIVE_BLENDS (default true) lets Flash-native blends through while non-native still need USE_UNSAFE_BLENDS. Kill-switch: false.
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.
Summary
HONOR_CACHE_AS_BITMAP(default true): SWF-safe path so AS3cacheAsBitmapsticks without requiringUSE_UNSAFE_CACHE_AS_BITMAP. Legacy unsafe flag still OR-enables.update_mtx_all/scale_rot/pos/ colorTransform skip identical hold-frame rewrites that previously dirtied parent caches every tick.HONOR_NATIVE_BLENDS(default true): Flash-nativeblendModevalues (LAYER/ERASE/…) return through the getter so DiggyGroundFGLAYER + ERASE child engagesContainerNode.renderToImage/ sticky CacheRenderer. Non-native blends still needUSE_UNSAFE_BLENDS. Kill-switch:HONOR_NATIVE_BLENDS=false.Pairs with awayjs/renderer#35 and awayjs/view#7 (E8 sticky CacheRenderer).
Test plan
cacheAsBitmapsetter roundtrips (honored: 20/20)Settings.HONOR_CACHE_AS_BITMAP=falserestores legacy no-opblendMode==="layer", ERASE child,renderToImage=true, CacheRenderer sticky (contentDirty=false)Settings.HONOR_NATIVE_BLENDS=falserestores blend getter empty-string gateDiggy gameplay unlock (2026-09-09)
Coolmath host:
http://localhost.coolmathgames.com:8080/Diggy_fixed.html. HoleCircle remains BitmapData stamp (off-list). E9 LAYER path is the in-level CacheRenderer engagement.E10 Diggy menu (authoring / harness — no new scene commit)
cacheAsBitmap: 100 → 16.7 ms, draws 370 → ~53 GL / ~105 away,cacheRenders=0, 30/30 fps.cacheRenders=1thrash from UI templates).m_mask.graphics→ GroundFG LAYER RTT ~10–20 ms/rebuild (expected).