mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
To check what it kept for a live object, or for effect art made from live objects, type or symbols, the renderer walked the object in every frame to hash the symbols, patterns and placed files it shows, and it looked up each symbol instance it found by name in the list of every symbol. At 1000 x 1000 pixels, the walk took most of the frame on a page of 2,000 envelopes around instances of the last 2,000 of 10,000 symbols: 83 ms a frame when every frame walked them. The renderer now keeps what the walk found with the node, which it holds weakly, and with the document's symbols and patterns as the walk read them. A later frame makes the key from what was kept while the node and the document's symbols and patterns stay the same, and walks the node again when any of them changes. A walk that finds a placed file is not kept. An evaluation that the live cache does not keep, such as a thumbnail's copy, is no longer walked. The same page now takes 30 ms a frame, with the same pixels. Docs: docs/target-app-parity.md