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:
@@ -10,20 +10,17 @@ async function setup() {
|
||||
return { entry: api.createLoginStageGameEntry(101, event => evidence.push(event)), evidence };
|
||||
}
|
||||
|
||||
test('real GameSessionHost validates and releases one diagnostic instance without entering a game', async () => {
|
||||
test('real GameSessionHost validates the diagnostic declaration without creating a game instance', async () => {
|
||||
const { entry, evidence } = await setup();
|
||||
const host = new GameSessionHost(entry);
|
||||
assert.equal(host.state, 'idle');
|
||||
assert.equal(entry.key, 'local-platform-login');
|
||||
assert.equal(entry.route, 'local-platform-login');
|
||||
assert.equal(entry.gameId, 101);
|
||||
assert.deepEqual(evidence, [
|
||||
{ kind: 'diagnostic-module', data: { instanceId: 1, state: 'created' } },
|
||||
{ kind: 'diagnostic-module', data: { instanceId: 1, state: 'disposed' } },
|
||||
]);
|
||||
assert.deepEqual(evidence, []);
|
||||
host.dispose();
|
||||
host.dispose();
|
||||
assert.equal(evidence.length, 2);
|
||||
assert.equal(evidence.length, 0);
|
||||
});
|
||||
|
||||
test('every game behavior records its operation and throws; dispose is idempotent', async () => {
|
||||
|
||||
Reference in New Issue
Block a user