Chromium SVG — Module Structure
How Blink's SVG implementation is split across third_party/blink/renderer/.
SVG import, parsing, and SVG-aligned rendering behavior.
Voir toutes les étiquettesHow Blink's SVG implementation is split across third_party/blink/renderer/.
Two mechanisms that create cross-tree references in SVG:
How SVG elements appear in Blink's accessibility (AX) tree. SVG is a
Every animatable SVG attribute is exposed to JavaScript as an
How Blink animates SVG. Two engines coexist: SMIL (`, `,
Three deployment modes for SVG content, with differing pipelines:
How Blink resolves and applies the clip-path property — both the SVG
How Blink tracks transforms and coordinate spaces from the outer `` down
How Blink resolves a point in SVG space to an element. Different from HTML
A snapshot of which Blink rendering systems SVG participates in fully, which
How fill="url(#id)" and stroke="url(#id)" resolve into Skia shaders. Paint
How ` data becomes an SkPath`, and how SVG stroke properties
How Chromium handles the SVG `` element. The pattern element is a
The end-to-end pipeline for rendering SVG inside Blink. Emphasis on where the
How Blink (Chromium's rendering engine) renders SVG. These documents describe
`, , , ` — the four non-paint-server
SVG text is the most intricate part of SVG rendering because it combines:
How `` is laid out and painted in Blink, with side-by-side notes on
RFD for the open problem behind #775: NodeId is parse-ephemeral, so there is no reference that survives a load() — let alone an external rewrite of the file. Frames the gap, scopes the candidate identity contracts (positional path, id attribute, semantic anchor), and sets the promotion gate before any public API lands.
Proposal for a typed per-node element IR that replaces tag-switch intent dispatch in @grida/svg-editor with capability-gated records, centralising round-trip invariants.
How Chromium/Blink and resvg/usvg implement `` —
How Blink (and resvg/usvg) decide which rectangle to repeat and
Investigation, bugs, and architectural lessons from a v1 hit-test implementation in @grida/svg-editor — input to the v2 hit-test architecture.
The structure-and-semantics study that informs the Skia-backed SVG
Defined term — the minimal partition of editable SVG elements such that every editing intent admits the same set of legal solutions within a class.
RFD for editing the non-path SVG shapes (rect, circle, ellipse, line, polyline, polygon) as vector geometry: native writeback while the tag can express the edit, promotion to <path> when it cannot — the timing, target, conic representation, and round-trip invariants that keep the conversion honest.
Index of design notes for the @grida/svg-editor TypeScript SDK — element IR proposal, hit-test architecture, transform pipeline critique, Policy Class glossary.
Spec-grounded reference for the SVG element surface a graphical editor IR must expose: per-element geometry, presentation hooks, local frames, and round-trip hazards.
SVG → Grida IR property mapping and TODO tracker.
Pattern fills for SVG shapes — tiling a subtree as a repeating paint
A cross-engine comparison of how SVG rendering is factored across three
This document describes the testing methodology and tools used to evaluate SVG rendering accuracy in Grida Canvas.
Status: Active — describes the current import strategy.
Reference for SVG transform-attribute syntax, viewport / viewBox, and use-instance coordinate frames — feeds an IR redesign that must refuse-vs-normalize rotation and pivot.
Current-state inventory of what @grida/svg-editor's public commands do today on each SVG element type — input to the IR redesign.
Why creating text in an SVG editor is click-to-place rather than drag-to-size, and why an empty text element is treated as a deletion.
Context dump on the transform pipeline in @grida/svg-editor — what's done, what's broken, what's load-bearing for the IR redesign.
What resvg's usvg IR normalises away and what an editor IR must refuse — comparative read informing the @grida/svg-editor IR proposal.