v1.6.0 — shapes and shadows
No 1.5.1 was released: no defect was outstanding after 1.5.0.
A rectangle, an ellipse and a line stop being things you draw elsewhere and import: they are layers the document draws itself, with fill, stroke and corner radius as ordinary properties. A drop shadow joins the effect stack, and a glow is that shadow with no offset.
Added
- Shape layers, a fifth layer kind:
rect(withcornerRadius),ellipseandline. The transform box is the geometry, somove,resizeandrotatemean what they already mean for every other layer. A line is its box:widthis the length,rotationthe angle. fillandstroke({ color, width }), either absent for no paint. Strokes are painted inward on a rect and an ellipse, so the box stays the visual box; a line's stroke is centred. Widths below 1 draw as hairlines and may spill up to half a pixel.- A
dropShadoweffect withdx,dy,blurandcolor; an#rrggbbaaalpha is its opacity. Zero offset is a glow. - Presets carry
fillandstroke, and a colour slot may target a shape's fill as well as a text layer's colour. - CLI
add-rect,add-ellipse,add-line, and--fill,--stroke,--stroke-width,--corner-radiusonset(noneclears a paint). - MCP
add_shape_layer, taking the server from 44 tools to 45;update_layergainsfill,stroke,cornerRadius,clearFillandclearStroke; layer summaries report a shape's geometry. - Interface: a Shapes row in the Add panel, a Shape inspector (Fill, Stroke, Stroke width, Corner radius), and
dropShadowin the effects editor. - Two new reference documents in the render gate,
shapesandshadow, checked byte for byte on all six release targets. - A new README hero, built with this release as the editable example project
examples/readme-hero.
Changed
- Asset uploads accept up to 64 MiB (previously the framework's 2 MB default). A body over the limit on either upload route now answers with the JSON error envelope: status 413, code
payloadTooLarge.
Fixed
- A font family literally named
catalogueorinstallcan now be removed;DELETEsits on both fixed paths.
Compatibility
schemaVersionstays 1; the operation union is additive.- 1.0 through 1.5 refuse a document that contains a shape layer — the whole document — with
unknown variant "shape", expected one of "text", "image", "group", "svg". Nothing needs migrating: open the project with 1.6.0 or newer. AdropShadoweffect is preserved by every 1.3.0-and-newer build and only its render is refused. - Rounded corners and ellipses are emitted as cubic curves rather than SVG arcs, keeping the rasteriser's arc conversion and the platform maths library off the path to a pixel; shadows get an explicit filter region.
Downloads below are built by CI for Windows, Linux and macOS on x86_64 and aarch64; SHA256SUMS covers the archives.