module
Celestine::Docs::B_SPEC_REFERENCE::SVG_ELEMENTS
Overview
SVG Elements & Spec Checklist
Celestine aims for high-fidelity compliance with W3C SVG 1.1 and SVG 2 specifications. This reference catalogues all standard SVG elements, their implementation status in Celestine, and their corresponding Crystal classes and DSL methods.
Executive Summary & Key Topics
| Topic | Method / Anchor | Description |
|---|---|---|
| Element Parity & Status Matrix | .topic_01_element_checklist |
Element-by-element status table showing implemented, planned, and out-of-scope tags. |
| Supported Presentation Attributes | .topic_02_presentation_attributes |
Styling and geometric presentation attributes available across drawables. |
Related Guides & Source References
- src/drawables/
- src/effects/
- src/modules/
Defined in:
docs/b_spec_reference/svg_elements.crClass Method Summary
-
.topic_01_element_checklist : Nil
Element Parity & Status Matrix: Element-by-element status table showing implemented, planned, and out-of-scope tags.
-
.topic_02_presentation_attributes : Nil
Supported Presentation Attributes: Styling and geometric presentation attributes available across drawables.
Class Method Detail
def self.topic_01_element_checklist : Nil
#
Element Parity & Status Matrix: Element-by-element status table showing implemented, planned, and out-of-scope tags.
| Status | SVG Tag | Celestine Class | DSL Helper | Notes |
|---|---|---|---|---|
| ✓ | `` | `Celestine::Anchor` | `ctx.anchor` | Hyperlink container |
| ✓ | ` |
`Celestine::Animate` | `shape.animate` | SMIL attribute animation |
| ✓ | ` |
`Celestine::Animate::Motion` | `shape.animate_motion` | Motion path animation |
| ✓ | ` |
`Celestine::Animate::Transform::*` | `shape.animate_transform_*` | Rotate, scale, translate, skew |
| ✓ | ` |
`Celestine::Circle` | `ctx.circle` | cx, cy, r, diameter |
| ^ | ` |
Planned | `ctx.clip_path` | Vector path clipping |
| ✓ | ` |
Handled implicitly | `ctx.define` / `define: true` | Collected into ` |
| ✓ | ` |
`Celestine::Ellipse` | `ctx.ellipse` | cx, cy, rx, ry |
| ✓ | ` |
`Celestine::Group` | `ctx.group` | Structural grouping container |
| ✓ | ` |
`Celestine::Image` | `ctx.image` | Bitmap/vector image embed |
| ✓ | ` |
`Celestine::Line` | `ctx.line` | x1, y1, x2, y2 |
| ✓ | ` |
`Celestine::Gradient::Linear` | `ctx.linear_gradient` | Linear color transitions |
| ✓ | ` |
`Celestine::Marker` | `ctx.marker` | Arrowheads and path markers |
| ✓ | ` |
`Celestine::Mask` | `ctx.mask` | Alpha & luminance masking |
| ✓ | ` |
`Celestine::Path` | `ctx.path` | Full SVG 1.1 path command support |
| ✓ | ` |
`Celestine::Pattern` | `ctx.pattern` | Repeated visual tile patterns |
| ✓ | ` |
`Celestine::Polygon` | `ctx.polygon` | Closed multi-point shapes |
| ✓ | ` |
`Celestine::Polyline` | `ctx.polyline` | Open multi-point stroke lines |
| ✓ | ` |
`Celestine::Gradient::Radial` | `ctx.radial_gradient` | Radial color transitions |
| ✓ | ` |
`Celestine::Rectangle` | `ctx.rectangle` | x, y, width, height, rx, ry |
| ✓ | ` |
`Celestine::Gradient::Stop` | `grad.stop` | Gradient color stops |
| ✓ | ` | `Celestine::Svg` | `Celestine.draw` | Document root & nested viewports |
| ✓ | ` |
`Celestine::Text` | `ctx.text` | Typography & layout attributes |
| ✓ | ` | `Celestine::Use` | `ctx.use` | Reusable element instantiator |
| ^ | ` |
Planned | `ctx.symbol` | Reusable icon symbols with viewBox |
| ^ | ` |
Planned | `text.tspan` | Inline sub-string text styling |
| ^ | ` |
Planned | `text.text_path` | Text aligned along curved path |
| ^ | ` |