Render: objects with plug-in effects follow the plug-ins installed

The renderer kept the shapes it drew for plug-in effects while the
object stayed the same. When a plug-in was installed for the first
time, installed again or removed, a renderer that had drawn the object
went on drawing the shapes from before the change.

When the plug-in registry's revision changes, the renderer now drops
the effect geometry and the effect art of objects with a plug-in
effect, and the cull bounds of every object that is or holds a symbol
instance or an object with a plug-in effect. Each thread then drops the
pattern tiles whose art has a plug-in effect or shows symbols or
patterns. The renderer adds the revision to the inputs of a raster
when its content has a plug-in effect, or shows symbols or patterns
while the document's symbol or pattern art has one, and to the key of
a live object's evaluation when the object, or an object it shows, has
a plug-in effect.

With other builds running, a temporary release test timed that key for
the 400 live objects in each of three documents at 11 to 609
microseconds a frame, against 9 to 433 before.

Docs: docs/target-app-parity.md, docs/gaps.md.
This commit is contained in:
dotCooCoo
2026-10-16 04:04:50 +07:00
committed by bflatastic
parent b34b9dadcc
commit c6837ca3ae
11 changed files with 363 additions and 25 deletions
+1 -2
View File
@@ -258,8 +258,7 @@ from G14 and the budget run of G15: **~170–270 h** one agent, ~50–80 h wall
rendering, the GPU backend spike (M5). Large-selection edits, cached live effects and Pathfinder Trim, Merge,
Crop and Outline landed in #1173.
- **Not redrawn:** the canvas keeps drawing these objects as they were:
in the web build, type with a geometry effect keeps a substitute font's outlines after its own font has loaded;
an object with a plug-in effect keeps the shape it was drawn with after the plug-in is installed, installed again or removed.
in the web build, type with a geometry effect keeps a substitute font's outlines after its own font has loaded.
- **Estimate:** 15–25 h (the budget run and fixes block beta).
## G16 Localization: the three missing key languages