You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Flutter backend currently provides a bounded synchronous SVG mask parser for untransformed filled path/rect/circle/ellipse/polygon elements. Groups, transforms, fill rules, strokes, defs/use, and CSS inheritance fail closed, while the Skia backend uses the complete shared SVG renderer.
Focused implementation
Move synchronous SVG mask compilation into a reusable cached resource abstraction rather than reparsing renderer-specific markup.
Add bounded group and affine transform stacks, even-odd/nonzero fill rules, inherited opacity/fill, and safe defs/use expansion.
Support stroked geometry by converting the bounded stroke subset into alpha coverage or an equivalent cached picture.
Enforce depth, element, path-command, use-reference, and decoded-byte caps; cycles and unsupported external resources fail closed.
Keep cache keys, eviction, reset, detach, and memory accounting aligned with Skia resource lifetime.
Gates
Shared SVG corpus pixels across Skia/Flutter/Chromium, adversarial depth/reference/cycle limits, cache-hit and parse-time counters, mutation/replacement tests, 4,096-icon memory/CPU benchmarks, and 100 renderer reset cycles returning to baseline.
Implementation is active in an isolated worktree from WebScene 276d5b77737927a4bd67bfeb523b8a515a7b115f. The focused slice owns Flutter SVG group/transform/fill/stroke/defs/use geometry, bounded cache/lifecycle behavior, and authored corpus/adversarial/performance regressions. It does not overlap the active #519 selector work. No branch has been pushed and no PR exists at this checkpoint. Per the current implementation-first direction, only git diff --check will run locally; execution and Release gates remain deferred.
Completed by #524 and merged to WebScene main as 4bc5f11cc3aa177a834adfcdc0a6049fe6f7d212. Bounded Flutter SVG mask geometry, caching, counters, and authored pixel/adversarial/lifecycle sources landed. Only git diff --check ran; execution debt remains tracked in #256/#503.
Activity
wieslawsoltes commentedon Sep 19, 2026
Completed by #524 and merged to WebScene main as
4bc5f11cc3aa177a834adfcdc0a6049fe6f7d212. Bounded Flutter SVG mask geometry, caching, counters, and authored pixel/adversarial/lifecycle sources landed. Onlygit diff --checkran; execution debt remains tracked in #256/#503.