• 2608-3a Stable

    ImBenji released this 2026-08-23 22:06:04 +00:00

    Canvas objects

    A new class of thing that lives on the canvas alongside lines and stations,
    with shared transform behaviour across all of them - position, rotation,
    opacity, z-index, per-object anchor point and aspect-ratio lock.

    • Decorated boxes - filled/stroked rectangles for zone shading, keys and legend backing.
    • Text labels - free-floating text with vertical alignment and micro-markdown inline formatting.
    • Reference images - drop an image on the canvas to trace over; embedded in the .ana file so the map stays portable.
    • Render targets - mark a rectangle as its own export region. Pick one in the export dialog to export just that area instead of the whole canvas, with optional aspect-ratio presets (A4, etc). Axis-aligned only, and never drawn into the export itself.

    Prefabs and scripting

    • Prefabs - build something once, stamp instances of it anywhere. Instances carry their own parameters, so one prefab can drive many variants.
    • Lua scripting - script editor with syntax highlighting and completion, entry scripts, and a typed parameter schema for driving prefab instances.

    Export

    • PDF export, alongside the existing SVG path, sharing the same draw-target pipeline.
    • Glyph and text effects now bake correctly into both SVG and PDF output.
    • Export can be scoped to a render target rather than the whole canvas.

    Text, fonts and glyphs

    • Custom font import - embedded in the map file.
    • Custom glyphs - import icons and type them inline as :alias: in station names and text labels. Renaming an alias rewrites every place it's already used.
    • Improved station label layout and cap-metric handling.

    Editor

    • The corner tool is now the bevel tool, with a dedicated bevel operator.
    • Node cap styles and segment cap styles.
    • Reworked move operator, z-order-aware segment hit testing.
    • Improved image selection and dragging.
    • Scroll edge fades and in-app toasts.
    • showQtTileBorders debug option for tile rendering.

    Reliability

    • Unsaved-changes confirmation before the window closes.
    • Shutdown guard - no more losing work to an OS shutdown or logout.
    • Session recovery store.

    Under the hood

    • UI widgets moved out into the shared garage_ui package.
    • Large test additions across prefabs, scripting, PDF/SVG export, glyphs and shutdown handling.
    Downloads