Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
Visual user guide for the TurboWarp-Asset-Manager extension.
PluginsTypeScript · HTMLGitHub @kubohiroyaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
An IndexedDB-backed image and audio asset manager for TurboWarp projects.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
This package is deprecated. Use
@kubohiroya/turbowarp-asset-cache
for image, audio, runtime-text, rendering, playback, and verified remote-cache APIs. Use
@kubohiroya/turbowarp-kvs for portable
namespace/key persistence and binary object, bundle, and session-backing APIs. Existing releases
remain available for reproducible builds, but no new integrations should depend on this package.Read the full README ↗[!WARNING] This package is deprecated. Use
@kubohiroya/turbowarp-asset-cachefor image, audio, runtime-text, rendering, playback, and verified remote-cache APIs. Use@kubohiroya/turbowarp-kvsfor portable namespace/key persistence and binary object, bundle, and session-backing APIs. Existing releases remain available for reproducible builds, but no new integrations should depend on this package.
An IndexedDB-backed image, audio, and runtime-text asset manager for TurboWarp projects, with an explicit OPFS hybrid binary backing for composition hosts. It registers external files, project-local costumes/backdrops/sounds, and Temporary Variables text references for use from TurboWarp blocks or composition hosts.
For setup, safety notes, recipes, and the illustrated block guide, see the English user guide or Japanese user guide.
@kubohiroya/turbowarp-asset-manager/composition with
@kubohiroya/turbowarp-asset-cache/composition for asset registration, rendering, playback,
DOM image resources, and verified remote-cache lifecycle APIs.@kubohiroya/turbowarp-kvs/binary-object-store,
@kubohiroya/turbowarp-kvs/binary-bundle-store, or
@kubohiroya/turbowarp-kvs/session-binary-backing.kubohiroyaassetmanager with
kubohiroyaassetcache; keep already-published SB3 artifacts pinned to their original extension.Use the Standalone extension when a TurboWarp project should load dist/asset-manager.js directly and expose Asset Manager blocks in the palette.
Use the Composition API when another unsandboxed extension or application shell should import @kubohiroya/turbowarp-asset-manager/composition, keep its registry private, and avoid adding Asset Manager blocks to the palette.
Standalone use requires TurboWarp Desktop or another TurboWarp environment that can load unsandboxed custom extensions. Runtime text rendering additionally requires Temporary Variables (lmsTempVars2) and Animated Text (text).
SVG input is reject-by-default, remote binary cache entries are size/content-type/SHA-256 verified before storage, and IndexedDB is treated as an auxiliary cache rather than a secrecy boundary.
Maintainers use Node.js 22 or later with pnpm through Corepack. The package version in package.json is the source of truth for install examples and CDN URLs.
Download dist/asset-manager.js, then open TurboWarp Desktop and load it as a local custom extension. Enable Run extension without sandbox when prompted.
The built JavaScript file is committed to this repository so users do not need to install Node.js or run the build process.
The versioned npm package contains the same reviewed build:
pnpm add --save-exact @kubohiroya/[email protected]
Load node_modules/@kubohiroya/turbowarp-asset-manager/dist/asset-manager.js, or use the version-pinned CDN URL:
https://cdn.jsdelivr.net/npm/@kubohiroya/[email protected]/dist/asset-manager.js
dist/asset-manager.js as an unsandboxed TurboWarp extension.register resource [RESOURCE_ID] as asset [NAME].show asset [NAME] on this sprite, set stage backdrop to asset [NAME], or the audio blocks to consume the asset.import {createAssetManagerComposition} from '@kubohiroya/turbowarp-asset-manager/composition';
const assets = createAssetManagerComposition();
await assets.registerEmbeddedAsset({
name: 'Opening',
sourceName: 'opening.svg',
mimeType: 'image/svg+xml',
bytes: new TextEncoder().encode('<svg xmlns="http://www.w3.org/2000/svg"/>')
});
await assets.applyToStage('Opening');
assets.releaseAll();
corepack enable
pnpm install --frozen-lockfile
pnpm run check
src/block-definitions.json is the canonical block API source. Regenerate block documentation after changing it:
pnpm run docs
The build produces dist/asset-manager.js, dist/extension-manifest.json, dist/composition.js, and dist/types/composition.d.ts. The deterministic manifest records the extension ID, every opcode and block type, and each argument ID, type, and menu reference for compatibility checks by tools such as sb3-toolchain. Commit rebuilt artifacts whenever extension, block metadata, or Composition source changes.
Run the local release checks before publishing:
pnpm run pack:check
pnpm run release:check
The npm package archive must include README, LICENSE, the Standalone bundle, the extension API manifest, the Composition bundle, and Composition type declarations.
SPDX-License-Identifier: MPL-2.0
既定OFFの固定入力フォームと既存データの保持規則は固定入力エディターの契約を参照してください。