Skip to content

Releases: lznnnnn1998/dsh-artcraft

v0.2.7 — live preview: watch the document change

Choose a tag to compare

@lznnnnn1998 lznnnnn1998 released this 03 Nov 15:40

What this release adds

Watch the document change (layer A)

Every call that writes a document now renders it with the application's own renderer, saves step-NNN.png under $DSH_HOME/artcraft/preview/<craft>/, and returns the image with the tool result — so each step of the work is visible in the transcript instead of a wall of JSONL.

Ten of the fourteen crafts have a verified render recipe: WordCraft render, DeckCraft render, CADCraft/FigCraft/PhotoCraft convert, TextureCraft render, EffectCraft render-frame, LightCraft render, VectorCraft export. PdfCraft, DesignCraft, FilmCraft (need an MCP/PDF hop) and SoundCraft (no page) record the step without an image, and say so.

A local preview panel (layer B)

scripts/preview/ adds a dependency-free read-only server (/, /state, /events over SSE, /img/...), loopback-only with traversal and symlink guards, plus a self-contained panel: step list, current render, a filmstrip of earlier steps, document metadata, and a video timeline when a craft reports one.

node scripts/preview/server.mjs      # then open http://127.0.0.1:4177

The panel inside the DSH Web GUI (layer C)

dsh-artcraft-preview-panel (new, 0.1.2) is an out-of-tree dsh.client plugin: a sidebar launcher and a keyed main panel that read layer B. Its host half starts the preview server when nothing answers on 4177, and the package ships the server, so a profile install is self-contained.

Verified in a real dsh web instance: the boot graph includes the row, the bundle is served and materialized, the panel opens in the main column, and 14/14 browser assertions pass against the live server (5 steps, current step, 800×1036 render, filmstrip, film timeline, one owned stylesheet, no console errors).

Fixes found while integrating

  • Step numbers continue across processes (a restart used to overwrite earlier steps).
  • timeline is a document property, not a step property.
  • The profile installer selects packages by dsh.bundle instead of the plugin- prefix, so the panel installs.
  • scripts/verify.mjs accepts node:* builtins.
  • Layer B allows loopback framing for the iframe fallback and echoes loopback CORS for layer C.

Install

dsh plugin --profile web add dsh-artcraft-plugin-gridcraft   # npm, 0.2.7
node scripts/install-into-profile.mjs --profile web          # or from this checkout

Skills live in a separate repository: dsh-artcraft-skills.

Full verification: node scripts/verify.mjs → all 14 plugins pass against the 2026-11 CLI releases.