Skip to content

0.9.1 — pixel scenes, install location, two new workshop packs

Choose a tag to compare

@Alice-Marx Alice-Marx released this 04 Oct 11:36
· 7 commits to main since this release

0.9.1 — 2026-10-04

  • 工坊安装位置可以更改 / choose where workshop packs are installed: the 创意工坊 page now shows the install folder with 打开文件夹, 更改… and 恢复默认. Type any full path, including other drives (F:\MV\workshop, D:\dsh-mv) or a UNC share; the Host normalises it (forward slashes, quotes and a bare F: are fine), refuses relative paths, .., reserved names (CON, NUL…) and invalid characters, creates the folder and writes a test file before switching, with a readable reason when it cannot (no such drive, no write permission, read-only disk, a file in the way). After a change you choose 移动到新位置 (each pack is copied, every file checked against the sha256 recorded at install, then the old copy is deleted; progress per pack, failures listed and their originals kept) or 留在原处 (old packs stay in the library and keep working; the page offers to move them later). Library entries and the open pack follow moved packs. The choice is stored by the Host in %LOCALAPPDATA%\dsh-mv\settings.json (not in the browser), so it survives panel reloads, skins and devices sharing the Host; the new plugin config field workshopDir sets the default folder (the panel setting wins). New Host calls workshopDirInfo, workshopDirSet, workshopDirMove, workshopDirOpen (31 in total); 打开文件夹 runs explorer.exe <folder> without a shell.
    创意工坊页底部新增「安装位置」:显示当前文件夹,可打开、更改(支持其他磁盘如 F:\,先检查能否写入)或恢复默认;更改后可选择把已安装的包移动过去(复制并校验 sha256 后再删除旧文件,显示进度和失败原因)或留在原处(曲库照常能找到)。设置保存在插件后台的 %LOCALAPPDATA%\dsh-mv\settings.json,插件配置里也可用 workshopDir 设定默认位置。
  • Pixel scene scripts / 像素场景脚本 (canvas.output: "pixels", canvas.size: [w, h], 160×90 – 1920×1080, default 1280×720): a script may define paint(g, t, w, h, ctx) and draw on a 2D OffscreenCanvas inside the same sandboxed Web Worker (no network, DOM, storage, fonts or WebGL — getContext gives only '2d'); frames are sent back as ImageBitmaps and letterboxed on the stage. Budget 100 ms per frame. The agent tool mv_pack_preview_frame and the workshop CI check pixel scenes against a recording stand-in canvas (an empty frame is reported).
  • Scene assets / 场景资源: script scenes now receive canvas.assets in setup(info) as info.assets (JSON parsed, shards merged; PNG / WebP as ImageBitmap).
  • requires: packs that need a newer plugin carry x-dsh-mv-workshop.requires (pixel scenes and asset-reading scripts → 0.9.1, computed automatically), also in index.json; the workshop shows 需要插件 vX+ and disables install / update on older clients.
  • Two new workshop packs / 两个新的工坊包 (ported from MIT-licensed projects, both need 0.9.1, no audio and no lyric text):
    • world-execute-me-wallpaper — the world.execute(me) wallpaper MV by seasnakes/world.execute-me-wallpaper (MIT), its canvas scenes running as a pixel scene at 1920×1080, synced by the original BPM grid and sections; the lyric card shows your lyrics. Bring your own copy of Mili's song.
    • polytech-tree — the tour of secwind7/polytech-tree (code MIT, data CC BY 4.0; only the structured fields are used, not the CC BY-SA descriptions): 3862 technologies in 11 eras, revealed year by year as the camera rises. Not a song — play silently or with any music.
  • Tests: pixel worker and host checks, canvas.output / size validation, requires / too-old detection, scene asset merging, both ports build and pass the workshop rules and the sandbox, install-folder validation (drive letters, UNC, errors), change / keep / move / reset / uninstall across folders, settings persistence and library relocation.