Skip to content

An Apple Pencil-friendly sketchbook and jot pad. Draw with layers, share a PNG to chat, or save it to your device.

Published October 14, 2026lumink

view
1
download
Lumink

Lumink

ExtensionNo adult content

Spindle extension · works in Lumiverse

v0.1.5 · October 14, 2026

About

A Spindle extension for sketching, handwritten notes, and sharing a little drawing with a conversation. Requires Lumiverse 1.2.5 or later. The extension uses the existing host APIs and ships its own browser drawing surface.

Permissions

1 permission · 1 permission

Granted on install1 permission

  1. chat_mutation

    Read, add, change and hide chat messages.

Needs an admin to approve1 permission

  1. images

    Read, upload and delete your stored images and videos.

What it adds

2 additions

Found in the extension’s code. Anything named only while it runs is not listed.

  • UI surfaces2
  • Drawer tab: DrawingPad

  • Input bar action: Draw or jot a note

Version and source

2 details · 2 links

Details2 details

  • Version

    0.1.5

  • Minimum Lumiverse version

    1.2.5

Links2 links

What you can do

  • Draw with ink, pencil, marker, or an eraser. Blend (keyboard shortcut S) carries and mixes existing colors on the active layer with a soft edge. Adjust Size and Strength; Pencil pressure controls the amount of blending when Pressure is enabled. Blend remembers its own size/strength separately from painting, adds no selected color, and works with undo/redo, editable files, thumbnails, and PNG export.

  • Adjust color, size, opacity, and stabilization. Color opens a floating panel with a Disc color wheel, brightness slider, Classic saturation/brightness picker, and hex input; the swatches are quick shortcuts. Drag the handle to move the panel. It stays open while you draw, including with controls hidden. The color circle in the tool strip opens it in either mode.

  • The color picker keeps the last 18 distinct colors used in completed drawing strokes, newest first. Reusing a color moves it to the front; blending, erasing, and canceled strokes do not add colors. Save color pins the current color to your saved palette. Tap a swatch to reuse it, or choose Edit to remove a saved color. Both lists persist to your Lumiverse account and carry across sketchbook pages.

  • Choose an aspect-correct paper card before creating a canvas: Landscape, Portrait, Square, A4, Letter, or 4K Widescreen. Edit width and height for a custom size. There is no fixed limit per side; the dialog shows the PNG working-memory estimate and checks that the browser can allocate your chosen size. PNG export preserves the requested pixel dimensions.

  • Use Apple Pencil pressure and tilt. The pencil brush broadens with tilt; the ink brush varies with pressure. Open Pencil details to inspect the actual input your device provides.

  • Steady now applies a speed-adaptive pen filter: stronger smoothing during slow movements, less lag during quick strokes, and smoother pressure/tilt changes. Its feel stays consistent across zoom and UI scale. Set Steady to 0% for unfiltered pen samples. Lifting preserves the last contact position without adding a zero-pressure release tail. Existing saved strokes retain their original geometry.

  • Use the shared Pressure and Pen only checkboxes. Pen only lets fingers move the page without making marks. Mouse drawing still works. During a Pencil stroke, finger contacts cannot move the page.

  • Tap with two fingers to undo, including with Pen only enabled. Drag two fingers to pan, pinch to zoom, and rotate together. Navigation, long holds, and palm contacts during Pencil input do not trigger undo. Rotation softly snaps to 0°, 90°, 180°, and 270°: it locks within 3° and gently attracts within 9°, with free rotation beyond that. The angle readout resets rotation while keeping zoom and the viewport center. Pencil hover shows the brush position when the device/browser supplies hover events.

  • Open a full-screen workspace. Fullscreen canvas hides the surrounding controls while keeping drawing tools and a visible Close button; Restore controls brings them back. Fit page resets pan/zoom and returns the canvas upright. Escape returns from canvas fullscreen or the sketchbook, then closes the workspace.

  • Work with up to six independent layers, layer visibility and opacity, reordering, and undo/redo. Layers opens a draggable floating panel that also works with controls hidden. Erasing and blending affect only the active layer. Blend can smear paint into transparent areas; it does not sample paper or other layers.

  • Lasso (keyboard shortcut L) selects artwork on the active layer with a freehand loop. Drag inside the loop to move the selected area, including parts of strokes and their erased areas. Draw a new loop to replace the selection, choose Deselect to clear it, or Done to return to drawing. Moves support undo/redo and persist in editable files, thumbnails, and full-resolution PNGs.

  • Choose white, cream, ruled, grid, or transparent paper. Paper guides are included in the exported image.

  • Keep pages in your account's sketchbook without an application-imposed drawing count limit. The scrollable gallery loads page metadata and nearby thumbnails as needed; arrow keys, Home/End, and Page Up/Down also browse the collection.

  • Keep adding strokes to a page: there is no application-imposed limit on points per page, points per stroke, strokes per layer, or editable drawing file size.

  • Drafts save automatically 700 ms after the last edit, including title changes. Pending strokes, layer/paper changes, and renames share the same timer. Saving waits for an active stroke to finish, and closing, switching pages, opening the sketchbook, or hiding the page flushes pending changes immediately. Save an editable .drawingpad.json file to continue a sketch later, or open one as a new page.

  • Save PNG produces the full page resolution. On iOS/iPadOS, it opens the system share sheet when file sharing is available; choose Save Image or Save to Files. Other browsers download the PNG.

  • Share to chat sends a user message with a native PNG attachment and an optional caption. The host can display it and include it in vision context. It does not start an assistant reply automatically.

Publishing releases

To release, change the version in spindle.json, commit, and push to main. The Release Lumink GitHub Actions workflow automatically creates the matching v<version> tag on that commit and publishes the release. spindle.json is the release version source; updating package.json or creating a tag yourself is unnecessary.

The workflow validates the manifest, installs dependencies from bun.lock, runs the typecheck and unit tests, builds the extension, and publishes these release attachments:

  • lumink.zip — an installable archive with spindle.json at its root, both built dist entrypoints, the README, license, and dependency notices.

  • lumink.zip.sha256 — the archive's checksum.

The attachment name stays the same across versions so Illarin can import it. The workflow uploads both files to a draft before publishing it. Versions with a semantic-version prerelease suffix, such as 0.2.0-rc.1, produce GitHub prereleases. Manifest edits that leave the version unchanged and versions already published are skipped. A rerun can finish an interrupted draft; a tag pointing to another commit requires a new version.

You can also run Actions → Release Lumink → Run workflow on main to publish its current manifest version without another bump. To retry a failed release for an older commit, rerun that commit's workflow. GitHub's built-in GITHUB_TOKEN supplies release access; no Illarin secret is needed. Automatic tagging uses the release's target commit, so it stays tied to the version commit even if main advances during the build.

For the first Illarin upload, create the same archive locally with Bun 1.4.2 and zip installed:

bun install --frozen-lockfile
bun run package

Upload release/lumink.zip. In the published Illarin extension's GitHub source settings, connect the public repository, choose Named attachment, and enter exactly lumink.zip. Verify the repository using its .illarin-proof file on the default branch. Illarin imports eligible releases published after verification, usually on its hourly check; prereleases require opting in. See Illarin's extension publishing guide.