@react-text-game/core 0.5.10 → 0.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/game.d.ts CHANGED
@@ -47,6 +47,8 @@ export declare class Game {
47
47
  private static unsubscribeFunctions;
48
48
  private static readonly AUTO_SAVE_KEY;
49
49
  private static readonly SAVE_DEBOUNCE_MS;
50
+ private static pendingInitialState;
51
+ private static pendingStartPassage;
50
52
  /**
51
53
  * Ensures the game has been initialized before allowing method calls.
52
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../src/game.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../src/game.ts"],"names":[],"mappings":"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"}
package/dist/game.js CHANGED
@@ -58,6 +58,8 @@ export class Game {
58
58
  static unsubscribeFunctions = [];
59
59
  static AUTO_SAVE_KEY = "gameAutoSave";
60
60
  static SAVE_DEBOUNCE_MS = 500;
61
+ static pendingInitialState = {};
62
+ static pendingStartPassage = null;
61
63
  /**
62
64
  * Ensures the game has been initialized before allowing method calls.
63
65
  *
@@ -83,6 +85,26 @@ export class Game {
83
85
  const proxiedObject = proxy(object);
84
86
  objectRegistry.set(object.id, proxiedObject);
85
87
  logger.log(`Registered entity: ${object.id}`);
88
+ // Check if there's pending initialState for this entity
89
+ if (Game.pendingInitialState[object.id]) {
90
+ const pendingState = Game.pendingInitialState[object.id];
91
+ logger.log(`Applying pending initialState for late-registered entity: ${object.id}`);
92
+ // Save entity to establish baseline
93
+ object.save();
94
+ // Get current storage state
95
+ const currentState = Storage.getState();
96
+ // Merge pending initialState for this entity
97
+ const mergedState = deepMerge(currentState, {
98
+ [object.id]: pendingState,
99
+ });
100
+ // Apply merged state
101
+ Storage.setState(mergedState);
102
+ // Reload entity to apply the new values
103
+ object.load();
104
+ // Remove from pending queue
105
+ delete Game.pendingInitialState[object.id];
106
+ logger.log(`Successfully applied pending initialState: ${JSON.stringify(pendingState)}`);
107
+ }
86
108
  });
87
109
  }
88
110
  /**
@@ -103,6 +125,12 @@ export class Game {
103
125
  }
104
126
  passagesRegistry.set(passage.id, passage);
105
127
  logger.log(`Registered passage: ${passage.id}`);
128
+ // Check if this passage is the pending startPassage
129
+ if (Game.pendingStartPassage === passage.id) {
130
+ Game.setCurrent(passage.id);
131
+ Game.pendingStartPassage = null;
132
+ logger.log(`Applied pending startPassage: ${passage.id}`);
133
+ }
106
134
  });
107
135
  }
108
136
  /**
@@ -464,6 +492,8 @@ export class Game {
464
492
  }
465
493
  newOptions(opts);
466
494
  Game.initialized = true;
495
+ // Store whether user explicitly provided startPassage
496
+ const userProvidedStartPassage = opts.startPassage !== undefined;
467
497
  await initI18n(opts.translations);
468
498
  // Apply initialState if provided
469
499
  if (opts.initialState && Object.keys(opts.initialState).length > 0) {
@@ -478,19 +508,26 @@ export class Game {
478
508
  // Skip system paths (_system) and unknown entities
479
509
  const registeredEntityIds = new Set(Array.from(objectRegistry.keys()));
480
510
  const filteredInitialState = {};
511
+ const queuedInitialState = {};
481
512
  for (const key in opts.initialState) {
482
513
  // Skip system paths
483
514
  if (key.startsWith("_system") || key.startsWith("$")) {
484
515
  logger.warn(`Skipping system path in initialState: ${key}`);
485
516
  continue;
486
517
  }
487
- // Skip unknown entities
488
- if (!registeredEntityIds.has(key)) {
489
- logger.warn(`Skipping unknown entity in initialState: ${key}`);
490
- continue;
518
+ // Check if entity is registered
519
+ if (registeredEntityIds.has(key)) {
520
+ // Apply immediately for registered entities
521
+ filteredInitialState[key] = opts.initialState[key];
522
+ }
523
+ else {
524
+ // Queue for entities that will register later
525
+ queuedInitialState[key] = opts.initialState[key];
526
+ logger.log(`Queuing initialState for not-yet-registered entity: ${key}`);
491
527
  }
492
- filteredInitialState[key] = opts.initialState[key];
493
528
  }
529
+ // Store queued state for later application
530
+ Game.pendingInitialState = { ...queuedInitialState };
494
531
  // Deep merge filtered initialState into current state
495
532
  const mergedState = deepMerge(currentState, filteredInitialState);
496
533
  // Apply merged state
@@ -500,7 +537,10 @@ export class Game {
500
537
  for (const [, object] of objectRegistry) {
501
538
  object.load();
502
539
  }
503
- logger.log(`Applied initialState: ${JSON.stringify(filteredInitialState)}`);
540
+ logger.log(`Applied initialState immediately: ${JSON.stringify(filteredInitialState)}`);
541
+ if (Object.keys(queuedInitialState).length > 0) {
542
+ logger.log(`Queued initialState for late-registering entities: ${JSON.stringify(queuedInitialState)}`);
543
+ }
504
544
  }
505
545
  if (Game.options.isDevMode) {
506
546
  logger.warn("Game is running in dev mode, do not use in production!");
@@ -517,7 +557,24 @@ export class Game {
517
557
  logger.log("Migration validation passed");
518
558
  }
519
559
  }
520
- Game.setCurrent(SYSTEM_PASSAGE_NAMES.START_MENU);
560
+ // Check if user explicitly provided startPassage option
561
+ if (userProvidedStartPassage) {
562
+ // If passage is already registered, set it immediately
563
+ if (passagesRegistry.has(Game.options.startPassage)) {
564
+ Game.setCurrent(Game.options.startPassage);
565
+ logger.log(`Set startPassage: ${Game.options.startPassage}`);
566
+ }
567
+ else {
568
+ // Passage not registered yet, queue it for later
569
+ Game.pendingStartPassage = Game.options.startPassage;
570
+ logger.log(`Queuing startPassage for late registration: ${Game.options.startPassage}`);
571
+ // Keep currentPassageId as null to wait for registration
572
+ }
573
+ }
574
+ else {
575
+ // No startPassage specified, use default START_MENU
576
+ Game.setCurrent(SYSTEM_PASSAGE_NAMES.START_MENU);
577
+ }
521
578
  const initialState = Game.getState(true);
522
579
  await createOrUpdateSystemSave(initialState);
523
580
  if (!Game.options.isDevMode) {
@@ -567,6 +624,10 @@ export class Game {
567
624
  passagesRegistry.clear();
568
625
  // Reset initialization state
569
626
  Game.initialized = false;
627
+ // Clear pending initialState queue
628
+ Game.pendingInitialState = {};
629
+ // Clear pending startPassage queue
630
+ Game.pendingStartPassage = null;
570
631
  // Reset state
571
632
  Game.state.currentPassageId = null;
572
633
  }
package/dist/game.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../src/game.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../src/game.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ describe("Game", () => {
73
73
  expect(Game.options.author).toBe("Test Author");
74
74
  expect(Game.options.isDevMode).toBe(true);
75
75
  });
76
- test("sets start menu as current passage on init", () => {
76
+ test("sets start menu as current passage on init when no startPassage specified", () => {
77
77
  expect(Game.selfState.currentPassageId).toBe(SYSTEM_PASSAGE_NAMES.START_MENU);
78
78
  });
79
79
  test("ignores subsequent Game.init() calls after first initialization", async () => {
@@ -324,6 +324,226 @@ describe("Game", () => {
324
324
  expect(player.getHealth()).toBe(100);
325
325
  expect(player.getName()).toBe("DefaultName");
326
326
  });
327
+ test("queues initialState for entities registered after Game.init()", async () => {
328
+ Game._resetForTesting();
329
+ setupMockStorage();
330
+ // Initialize game with initialState for entity that doesn't exist yet
331
+ const playerId = uniqueId("player");
332
+ await Game.init({
333
+ gameName: "Test Game",
334
+ isDevMode: true,
335
+ initialState: {
336
+ [playerId]: { health: 75, name: "QueuedHero" },
337
+ },
338
+ });
339
+ // Now register the entity AFTER init
340
+ const player = new TestEntity(playerId, 100, "DefaultName");
341
+ // The queued initialState should have been applied
342
+ expect(player.getHealth()).toBe(75);
343
+ expect(player.getName()).toBe("QueuedHero");
344
+ });
345
+ test("applies initialState immediately for registered entities and queues for unregistered", async () => {
346
+ Game._resetForTesting();
347
+ setupMockStorage();
348
+ // Register one entity before init
349
+ const player1Id = uniqueId("player1");
350
+ const player1 = new TestEntity(player1Id, 100, "Hero1");
351
+ // Init with state for both registered and unregistered entities
352
+ const player2Id = uniqueId("player2");
353
+ await Game.init({
354
+ gameName: "Test Game",
355
+ isDevMode: true,
356
+ initialState: {
357
+ [player1Id]: { health: 50, name: "UpdatedHero1" },
358
+ [player2Id]: { health: 25, name: "QueuedHero2" },
359
+ },
360
+ });
361
+ // First player should have state applied immediately
362
+ expect(player1.getHealth()).toBe(50);
363
+ expect(player1.getName()).toBe("UpdatedHero1");
364
+ // Register second player after init
365
+ const player2 = new TestEntity(player2Id, 100, "DefaultName");
366
+ // Second player should have queued state applied
367
+ expect(player2.getHealth()).toBe(25);
368
+ expect(player2.getName()).toBe("QueuedHero2");
369
+ });
370
+ test("handles multiple late-registering entities", async () => {
371
+ Game._resetForTesting();
372
+ setupMockStorage();
373
+ const player1Id = uniqueId("player1");
374
+ const player2Id = uniqueId("player2");
375
+ const player3Id = uniqueId("player3");
376
+ // Init with state for entities that don't exist yet
377
+ await Game.init({
378
+ gameName: "Test Game",
379
+ isDevMode: true,
380
+ initialState: {
381
+ [player1Id]: { health: 10, name: "Late1" },
382
+ [player2Id]: { health: 20, name: "Late2" },
383
+ [player3Id]: { health: 30, name: "Late3" },
384
+ },
385
+ });
386
+ // Register entities in different order
387
+ const player2 = new TestEntity(player2Id, 100, "Default2");
388
+ const player1 = new TestEntity(player1Id, 100, "Default1");
389
+ const player3 = new TestEntity(player3Id, 100, "Default3");
390
+ // All should have their queued state applied
391
+ expect(player1.getHealth()).toBe(10);
392
+ expect(player1.getName()).toBe("Late1");
393
+ expect(player2.getHealth()).toBe(20);
394
+ expect(player2.getName()).toBe("Late2");
395
+ expect(player3.getHealth()).toBe(30);
396
+ expect(player3.getName()).toBe("Late3");
397
+ });
398
+ test("partial initialState applies to late-registered entities", async () => {
399
+ Game._resetForTesting();
400
+ setupMockStorage();
401
+ const playerId = uniqueId("player");
402
+ // Init with partial state
403
+ await Game.init({
404
+ gameName: "Test Game",
405
+ isDevMode: true,
406
+ initialState: {
407
+ [playerId]: { health: 42 }, // Only override health
408
+ },
409
+ });
410
+ // Register entity after init
411
+ const player = new TestEntity(playerId, 100, "DefaultName");
412
+ // Health should be overridden, name should remain default
413
+ expect(player.getHealth()).toBe(42);
414
+ expect(player.getName()).toBe("DefaultName");
415
+ });
416
+ test("clears pending queue on _resetForTesting", async () => {
417
+ Game._resetForTesting();
418
+ setupMockStorage();
419
+ const playerId = uniqueId("player");
420
+ // Init with queued state
421
+ await Game.init({
422
+ gameName: "Test Game",
423
+ isDevMode: true,
424
+ initialState: {
425
+ [playerId]: { health: 50 },
426
+ },
427
+ });
428
+ // Reset before entity registers
429
+ Game._resetForTesting();
430
+ setupMockStorage();
431
+ // Re-init without initialState
432
+ await Game.init({
433
+ gameName: "Test Game",
434
+ isDevMode: true,
435
+ });
436
+ // Register entity - should use default values, not queued values
437
+ const player = new TestEntity(playerId, 100, "DefaultName");
438
+ expect(player.getHealth()).toBe(100);
439
+ expect(player.getName()).toBe("DefaultName");
440
+ });
441
+ });
442
+ describe("Start Passage", () => {
443
+ test("sets registered passage as current when startPassage is provided", async () => {
444
+ Game._resetForTesting();
445
+ setupMockStorage();
446
+ const passageId = uniqueId("intro");
447
+ // Register passage BEFORE init
448
+ new TestPassage(passageId);
449
+ await Game.init({
450
+ gameName: "Test Game",
451
+ isDevMode: true,
452
+ startPassage: passageId,
453
+ });
454
+ expect(Game.selfState.currentPassageId).toBe(passageId);
455
+ });
456
+ test("queues startPassage when passage not yet registered", async () => {
457
+ Game._resetForTesting();
458
+ setupMockStorage();
459
+ const passageId = uniqueId("late-passage");
460
+ // Init with startPassage that doesn't exist yet
461
+ await Game.init({
462
+ gameName: "Test Game",
463
+ isDevMode: true,
464
+ startPassage: passageId,
465
+ });
466
+ // currentPassageId should be null (waiting)
467
+ expect(Game.selfState.currentPassageId).toBeNull();
468
+ // Now register the passage
469
+ new TestPassage(passageId);
470
+ // currentPassageId should now be set
471
+ expect(Game.selfState.currentPassageId).toBe(passageId);
472
+ });
473
+ test("queues startPassage and applies when passage registers later", async () => {
474
+ Game._resetForTesting();
475
+ setupMockStorage();
476
+ const targetPassageId = uniqueId("target");
477
+ const otherPassageId = uniqueId("other");
478
+ // Init with startPassage for non-existent passage
479
+ await Game.init({
480
+ gameName: "Test Game",
481
+ isDevMode: true,
482
+ startPassage: targetPassageId,
483
+ });
484
+ // Should be queued (currentPassageId is null)
485
+ expect(Game.selfState.currentPassageId).toBeNull();
486
+ // Register some other passages first
487
+ new TestPassage(otherPassageId);
488
+ expect(Game.selfState.currentPassageId).toBeNull();
489
+ // Register the target passage
490
+ new TestPassage(targetPassageId);
491
+ // Now currentPassageId should be set to target
492
+ expect(Game.selfState.currentPassageId).toBe(targetPassageId);
493
+ });
494
+ test("uses START_MENU when no startPassage option provided", async () => {
495
+ Game._resetForTesting();
496
+ setupMockStorage();
497
+ await Game.init({
498
+ gameName: "Test Game",
499
+ isDevMode: true,
500
+ });
501
+ expect(Game.selfState.currentPassageId).toBe(SYSTEM_PASSAGE_NAMES.START_MENU);
502
+ });
503
+ test("clears pending queue on _resetForTesting", async () => {
504
+ Game._resetForTesting();
505
+ setupMockStorage();
506
+ const passageId = uniqueId("queued");
507
+ // Init with queued startPassage
508
+ await Game.init({
509
+ gameName: "Test Game",
510
+ isDevMode: true,
511
+ startPassage: passageId,
512
+ });
513
+ // Reset before passage registers
514
+ Game._resetForTesting();
515
+ setupMockStorage();
516
+ // Re-init without startPassage
517
+ await Game.init({
518
+ gameName: "Test Game",
519
+ isDevMode: true,
520
+ });
521
+ // Register passage - should NOT set as current (queue was cleared)
522
+ new TestPassage(passageId);
523
+ // Should still be START_MENU
524
+ expect(Game.selfState.currentPassageId).toBe(SYSTEM_PASSAGE_NAMES.START_MENU);
525
+ });
526
+ test("handles multiple passage registrations correctly", async () => {
527
+ Game._resetForTesting();
528
+ setupMockStorage();
529
+ const startPassageId = uniqueId("start");
530
+ const passage1Id = uniqueId("p1");
531
+ const passage2Id = uniqueId("p2");
532
+ await Game.init({
533
+ gameName: "Test Game",
534
+ isDevMode: true,
535
+ startPassage: startPassageId,
536
+ });
537
+ // Register non-start passages first
538
+ new TestPassage(passage1Id);
539
+ new TestPassage(passage2Id);
540
+ // Should still be null
541
+ expect(Game.selfState.currentPassageId).toBeNull();
542
+ // Register the start passage
543
+ new TestPassage(startPassageId);
544
+ // Should now be set to start passage
545
+ expect(Game.selfState.currentPassageId).toBe(startPassageId);
546
+ });
327
547
  });
328
548
  describe("Entity Registration", () => {
329
549
  test("registers a single entity", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"game.test.js","sourceRoot":"","sources":["../../src/tests/game.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.test.js","sourceRoot":"","sources":["../../src/tests/game.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-text-game/core",
3
- "version": "0.5.10",
3
+ "version": "0.5.12",
4
4
  "description": "A powerful React-based text game engine with reactive state management, passage-based navigation, and persistent save system for building interactive narrative experiences",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",