Learning in public — this reference is being written in the open. Unfinished pages are excluded from search engines.
paged.IDML Reference
Plugins

paged.draw — vector

The vector drawing plugin — pen and path tools, pathfinder booleans, live corners, stroke/fill, and SVG import/export, rendered on-canvas through the engine's vector scene layer.

Tier: IntermediateIntermediateIIexplanation

In short paged.draw brings Illustrator-class vector editing into paged — a pen tool with anchor editing, curvature/pencil tools, a shape builder, pathfinder booleans, live corners, and SVG round-trip — all rendered on-canvas via the engine's vector scene-layer surface.

What it does

  • Pen / anchor editing (add/delete/convert), curvature and pencil tools, shape builder, select-same.
  • Stroke / fill panels, dash presets, path ops, live corners, gradient annotation.
  • A vectorGraphic edit context (double-click into a focused anchor toolset).
  • SVG import + export (the interchange round-trip).

How it's built

A host-agnostic core (draw-geometry pure math, draw-tools state machines) plus a draw-bundle (manifest + activate + React panel) — the incubate-then-extract pattern. Tested as unit suites and an end-to-end editor journey.

Capability state

shipped & verified · shipped, untested · partial · failing · · planned

Plugin · draw 39 features · 53% green

FeatureRendererMutationCanvasShellAPIDraw
Add-anchor plan (split segment at on-curve click)
plugin-draw.anchor-add
Convert-anchor plan (corner ↔ smooth)
plugin-draw.anchor-convert
Delete-anchor plan (nearest within tolerance, contour floor)
plugin-draw.anchor-delete
Appearance model — multi fill/stroke metadata stack + baked top layer (Tier B)
plugin-draw.appearance
Appearance panel v0 — the metadata stack, with the bake limit stated in the UI
plugin-draw.appearance-panel
Blends v1 — three spacing modes over a real spine (grew the tool-wave-2 blend v0)
plugin-draw.blends
Brush tools v0 — paintbrush, blob brush, eraser (calligraphic nib sweep)
plugin-draw.brush-tools
paged.draw bundle manifest (media.paged.draw) + activate skeleton
plugin-draw.bundle-manifest
Compound paths — make / release, with real non-zero holes
plugin-draw.compound-paths
On-canvas corner-radius tool — the live-corners row's predicted handle
plugin-draw.corner-radius-tool
vectorGraphic edit context — live enter/exit via contribute.editContext
plugin-draw.edit-context-live
Eyedropper — sample element properties and apply to the selection
plugin-draw.eyedropper
Fill panel as a declarative schema panel — the second W3.1 consumer, with a published binding
plugin-draw.fill-schema-panel
Cubic bezier kernel — de Casteljau split, eval, closest-t, flatten
plugin-draw.geometry-bezier
Anchor/handle math — corner, mirror, smooth-from-drag, angle constrain, affine
plugin-draw.geometry-handles
RDP polyline simplification + perpendicular segment distance
plugin-draw.geometry-rdp
Graphic styles — a named, LINKED complete appearance with override DETECTION
plugin-draw.graphic-styles
Headless conformance corpus over published canvas-wasm
plugin-draw.headless-conformance
Image Trace v0 — raster to editable vector over visioncortex
plugin-draw.image-trace
Layers BINDING PROVIDER — paged.draw serves the HOST Layers panel (ADR 023 phase D)
plugin-draw.layers-binding-provider
Layers panel — the panels/layers.panel.json prototype made real (expert-leaf React)
plugin-draw.layers-panel
Live Corners — Rounded/Inverse/Bevel/Fancy/None presets via frameCornerOption*/Radius* + live marker (Tier B)
plugin-draw.live-corners
Live Paint v0 — regenerable face paint over the planar arrangement (NOT live)
plugin-draw.live-paint
Measure readout drawn on-canvas via the overlay text primitive
plugin-draw.measure-overlay-text
Objects on a Path — distribute / align / pivot / reorder by TRANSFORM; it moves your objects and creates none
plugin-draw.objects-on-path
Opacity-mask commands — the paged.draw consumer of the C-28 protocol-58 door
plugin-draw.opacity-mask-commands
True Join — closePath / joinPaths over the v56 engine ops
plugin-draw.path-weld
Pattern editing v1 — a re-editable tile field (step-and-repeat artwork, NOT a pattern swatch)
plugin-draw.pattern-bake
·
Pen tool state machine (click/drag anchors, modifier matrix, close, commit)
plugin-draw.pen-machine
Pressure-aware pencil — variable-width strokes via outlineStrokeVariable
plugin-draw.pencil-pressure
Phase 4c pro path toolset — curvature/pencil/measure machines + simplify/join/average/offset/outline/pathfinder/gradient/arrowheads commands
plugin-draw.pro-path-toolset
Repeats v1 — radial / grid / mirror, and the repo's first ONE-undo build
plugin-draw.repeats
Select-same by fill / stroke / stroke-weight (Tier A — pure selection, no mutation)
plugin-draw.select-same
Shape Builder gesture tool — drag-unite / Alt-drag-subtract over pathfinderBoolean (Tier B)
plugin-draw.shape-builder
Stroke dash-pattern command presets (Solid/Dashed/Dotted/DashDot)
plugin-draw.stroke-dash-commands
Stroke panel as a declarative schema panel (W3.1 adoption)
plugin-draw.stroke-schema-panel
SVG import + export — the K-2 interchange round-trip (Phase 8)
plugin-draw.svg-io
Symbols v0 — a named artwork DEFINITION and instances that follow it
plugin-draw.symbols
Width, blend, lasso-select, parent-group cycling, parametric generators
plugin-draw.tool-wave-2

Recent activity

On this page