Back to Outbreak: Soycoon City
SOURCE / PINNED RELEASE

Made of little things.

Outbreak: Soycoon City

Release
db7750b1d009…
Author-recorded commit
3ee3f5fd27a6…
License
LICENSE
Author’s source reference
nostr://npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf/wss%3A%2F%2Fgit.napplet.soy%2F/n-b87c04571a9

Archive hash verified: dbebdc772b142a1c…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

src/assets.ts
import type { BundledImage } from './level-files.js';
import { parseStage } from './world.js';
const levels = import.meta.glob('../levels/*.json', { eager:true, import:'default' });
export const repositoryLevels = Object.entries(levels).filter(([path])=>!path.endsWith('.schema.json')).map(([,value])=>parseStage(JSON.stringify(value)));
const files = import.meta.glob('./art/*.{png,jpg,jpeg,webp}', { eager:true, query:'?url', import:'default' });
export const bundledImages: BundledImage[] = repositoryLevels.flatMap(level=>level.assets??[]).filter(asset=>asset.path).map(asset => {
  const url = files[asset.path!.replace(/^src\//,'./')];
  if (typeof url !== 'string') throw new Error(`Missing checked-in asset: ${asset.path}`);
  return { asset, url };
});