perf(renderer): each body's images are written on the elements that draw them, with no CSS variable; Jupiter and Saturn name each face's image - #1300
Merged
Conversation
…er's generator binds its faces; the renderer reads sizes and derives none
…exture slots replace image variables in runtimes, markup and stylesheets
# Conflicts: # src/objects/callisto/inventory.json # src/objects/ganymede/inventory.json # src/objects/iapetus/inventory.json
…sets no custom property, so the unread camera-zoom leaves 2,137 star runtimes
…records' expansion leaves the property table to the depth restore
…, so its pixels return before the paint that shows it
… through the lossy lane; faces behind a body keep their exact box leaf by leaf
… in the recipe's qualification and the README
… that replaces it, which took the decode out of Saturn's dataset switch
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.
Change
No CSS variable carries a body's image. The bake states each image's size and lists the elements that draw it; the page and the served markup write
background-imageon those elements, and a runtime that still reads one from a variable cannot be pinned or mounted. Jupiter and Saturn, imaged until now by stylesheet rules, name each face's image in the bake. A preloaded image shown again is loaded again before its paint, and a replaced image's handle is released after that paint. Saturn's ultraviolet and methane maps join the lossy lane. All 4,560 runtimes were rewritten by the bake's own step. Guide.Saturn's bake was broken by a constant read before its declaration; fixed.
Evidence and limits
Proves the change: iPad, longest frame of a repeated dataset switch. Saturn 63 to 66 ms (was 193 to 233); its two maps went from 9.7 MB to 0.37 MB with 3 of 25.6 million pixels flagged. Jupiter 69 to 70 (was 137 to 185). Io 45 to 49, unchanged. After a fling, Saturn's and Jupiter's worst frame is 21 and 25 ms (was 49 to 55). Io's first-paint markup 12,014 to 11,456 bytes brotli. Re-running the bindings on a stored body of each lane reproduces it exactly.
Clean: typecheck, lint, package, renderer and bindings tests.
Limits: mesh display and billboard variables remain. A branch that rebakes a body must re-run its bindings after merging this.
PR rules.