feat: integrate room framework and isolated subgame bundles
Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env node
|
||||
import {fileURLToPath} from 'node:url';
|
||||
import {resolve} from 'node:path';
|
||||
import {loadRoomAssetInventory,loadRoomAssetDefinitions,validateRoomAssets} from './lib/room-assets.mjs';
|
||||
|
||||
try {
|
||||
if(process.argv.length>4)throw Error('Usage: node scripts/check-room-assets.mjs [assets-directory] [game-definitions.ts]');
|
||||
const assetsDir=process.argv[2]?resolve(process.argv[2]):fileURLToPath(new URL('../YouleNexus/assets/',import.meta.url));
|
||||
const definitionFile=process.argv[3]?resolve(process.argv[3]):resolve(assetsDir,'games');
|
||||
const definitions=loadRoomAssetDefinitions(definitionFile);
|
||||
const errors=validateRoomAssets(loadRoomAssetInventory(assetsDir),definitions);
|
||||
if(errors.length){console.error(errors.join('\n'));process.exitCode=1;}
|
||||
else console.log(`Room asset composition checks passed (${definitions.length} games).`);
|
||||
} catch(error){console.error(`Room asset composition check failed: ${error.message}`);process.exitCode=1;}
|
||||
Reference in New Issue
Block a user