You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
0.9.1 — pixel scenes, install location, two new workshop packs
工坊安装位置可以更改 / 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.