@sharpee/world-model 0.9.100 → 0.9.102
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/package.json +3 -3
- package/world/ScoreLedger.d.ts +96 -0
- package/world/ScoreLedger.d.ts.map +1 -0
- package/world/ScoreLedger.js +126 -0
- package/world/ScoreLedger.js.map +1 -0
- package/world/WorldEventSystem.d.ts +186 -0
- package/world/WorldEventSystem.d.ts.map +1 -0
- package/world/WorldEventSystem.js +297 -0
- package/world/WorldEventSystem.js.map +1 -0
- package/world/WorldModel.d.ts +7 -72
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +54 -344
- package/world/WorldModel.js.map +1 -1
- package/world/WorldSerializer.d.ts +61 -0
- package/world/WorldSerializer.d.ts.map +1 -0
- package/world/WorldSerializer.js +136 -0
- package/world/WorldSerializer.js.map +1 -0
package/world/WorldModel.js
CHANGED
|
@@ -7,9 +7,6 @@ const entity_types_1 = require("../entities/entity-types");
|
|
|
7
7
|
const trait_types_1 = require("../traits/trait-types");
|
|
8
8
|
const room_1 = require("../traits/room");
|
|
9
9
|
const roomBehavior_1 = require("../traits/room/roomBehavior");
|
|
10
|
-
const container_1 = require("../traits/container");
|
|
11
|
-
const supporter_1 = require("../traits/supporter");
|
|
12
|
-
const actor_1 = require("../traits/actor");
|
|
13
10
|
const door_1 = require("../traits/door");
|
|
14
11
|
const scenery_1 = require("../traits/scenery");
|
|
15
12
|
const identityTrait_1 = require("../traits/identity/identityTrait");
|
|
@@ -21,10 +18,15 @@ const exitTrait_1 = require("../traits/exit/exitTrait");
|
|
|
21
18
|
const directions_1 = require("../constants/directions");
|
|
22
19
|
const SpatialIndex_1 = require("./SpatialIndex");
|
|
23
20
|
const VisibilityBehavior_1 = require("./VisibilityBehavior");
|
|
21
|
+
const WorldSerializer_1 = require("./WorldSerializer");
|
|
24
22
|
const container_utils_1 = require("../traits/container/container-utils");
|
|
25
23
|
const if_domain_1 = require("../../if-domain/index.js");
|
|
26
24
|
const scope_registry_1 = require("../scope/scope-registry");
|
|
27
25
|
const scope_evaluator_1 = require("../scope/scope-evaluator");
|
|
26
|
+
// Event system — extracted to WorldEventSystem.ts, re-exported for backward compat
|
|
27
|
+
const WorldEventSystem_1 = require("./WorldEventSystem");
|
|
28
|
+
// Score Ledger (ADR-129)
|
|
29
|
+
const ScoreLedger_1 = require("./ScoreLedger");
|
|
28
30
|
// Type prefixes for entity ID generation
|
|
29
31
|
const TYPE_PREFIXES = {
|
|
30
32
|
'room': 'r',
|
|
@@ -45,19 +47,13 @@ class WorldModel {
|
|
|
45
47
|
config;
|
|
46
48
|
capabilities = {};
|
|
47
49
|
// Score Ledger (ADR-129)
|
|
48
|
-
scoreLedger =
|
|
49
|
-
scoreMaxScore = 0;
|
|
50
|
+
scoreLedger = new ScoreLedger_1.ScoreLedger();
|
|
50
51
|
// ID generation
|
|
51
52
|
idCounters = new Map();
|
|
52
|
-
// Event
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
appliedEvents = [];
|
|
57
|
-
eventProcessorWiring = null;
|
|
58
|
-
maxEventHistory = 1000; // Configurable limit
|
|
59
|
-
// Event chaining support (ADR-094)
|
|
60
|
-
eventChains = new Map();
|
|
53
|
+
// Event system (ADR-086, ADR-094) — delegates to WorldEventSystem
|
|
54
|
+
eventSystem = new WorldEventSystem_1.WorldEventSystem();
|
|
55
|
+
// Persistence — delegates to WorldSerializer
|
|
56
|
+
serializer = new WorldSerializer_1.WorldSerializer();
|
|
61
57
|
platformEvents;
|
|
62
58
|
// Scope system
|
|
63
59
|
scopeRegistry;
|
|
@@ -73,6 +69,7 @@ class WorldModel {
|
|
|
73
69
|
};
|
|
74
70
|
this.spatialIndex = new SpatialIndex_1.SpatialIndex();
|
|
75
71
|
this.platformEvents = platformEvents;
|
|
72
|
+
this.eventSystem.setWorldRef(this);
|
|
76
73
|
// Initialize scope system
|
|
77
74
|
this.scopeRegistry = new scope_registry_1.ScopeRegistry();
|
|
78
75
|
this.scopeEvaluator = new scope_evaluator_1.RuleScopeEvaluator(this.scopeRegistry);
|
|
@@ -192,41 +189,6 @@ class WorldModel {
|
|
|
192
189
|
this.entities.set(id, entity);
|
|
193
190
|
return entity;
|
|
194
191
|
}
|
|
195
|
-
/**
|
|
196
|
-
* Create an entity with type safety and automatic trait assignment
|
|
197
|
-
* @param type The entity type (from EntityType constants)
|
|
198
|
-
* @returns The created entity with appropriate default traits
|
|
199
|
-
*/
|
|
200
|
-
createEntityWithTraits(type) {
|
|
201
|
-
const id = this.generateId(type);
|
|
202
|
-
const entity = new if_entity_1.IFEntity(id, type);
|
|
203
|
-
// Auto-add appropriate default trait based on type
|
|
204
|
-
switch (type) {
|
|
205
|
-
case entity_types_1.EntityType.ROOM:
|
|
206
|
-
entity.add(new room_1.RoomTrait({}));
|
|
207
|
-
break;
|
|
208
|
-
case entity_types_1.EntityType.CONTAINER:
|
|
209
|
-
entity.add(new container_1.ContainerTrait());
|
|
210
|
-
break;
|
|
211
|
-
case entity_types_1.EntityType.SUPPORTER:
|
|
212
|
-
entity.add(new supporter_1.SupporterTrait());
|
|
213
|
-
break;
|
|
214
|
-
case entity_types_1.EntityType.ACTOR:
|
|
215
|
-
entity.add(new actor_1.ActorTrait());
|
|
216
|
-
break;
|
|
217
|
-
case entity_types_1.EntityType.DOOR:
|
|
218
|
-
// Door trait requires room1 and room2 to be set
|
|
219
|
-
// These must be configured after creation when room IDs are known
|
|
220
|
-
break;
|
|
221
|
-
case entity_types_1.EntityType.SCENERY:
|
|
222
|
-
entity.add(new scenery_1.SceneryTrait());
|
|
223
|
-
break;
|
|
224
|
-
// ITEM, OBJECT, and EXIT don't need special traits by default
|
|
225
|
-
}
|
|
226
|
-
// Add to entity map
|
|
227
|
-
this.entities.set(id, entity);
|
|
228
|
-
return entity;
|
|
229
|
-
}
|
|
230
192
|
getEntity(id) {
|
|
231
193
|
return this.entities.get(id);
|
|
232
194
|
}
|
|
@@ -575,129 +537,57 @@ class WorldModel {
|
|
|
575
537
|
}
|
|
576
538
|
this.playerId = entityId;
|
|
577
539
|
}
|
|
578
|
-
// Score Ledger (ADR-129)
|
|
540
|
+
// Score Ledger (ADR-129) — delegates to ScoreLedger
|
|
579
541
|
awardScore(id, points, description) {
|
|
580
|
-
|
|
581
|
-
return false;
|
|
582
|
-
}
|
|
583
|
-
this.scoreLedger.push({ id, points, description });
|
|
584
|
-
return true;
|
|
542
|
+
return this.scoreLedger.award(id, points, description);
|
|
585
543
|
}
|
|
586
544
|
revokeScore(id) {
|
|
587
|
-
|
|
588
|
-
if (idx < 0)
|
|
589
|
-
return false;
|
|
590
|
-
this.scoreLedger.splice(idx, 1);
|
|
591
|
-
return true;
|
|
545
|
+
return this.scoreLedger.revoke(id);
|
|
592
546
|
}
|
|
593
547
|
hasScore(id) {
|
|
594
|
-
return this.scoreLedger.
|
|
548
|
+
return this.scoreLedger.has(id);
|
|
595
549
|
}
|
|
596
550
|
getScore() {
|
|
597
|
-
|
|
598
|
-
for (const entry of this.scoreLedger) {
|
|
599
|
-
total += entry.points;
|
|
600
|
-
}
|
|
601
|
-
return total;
|
|
551
|
+
return this.scoreLedger.getTotal();
|
|
602
552
|
}
|
|
603
553
|
getScoreEntries() {
|
|
604
|
-
return
|
|
554
|
+
return this.scoreLedger.getEntries();
|
|
605
555
|
}
|
|
606
556
|
setMaxScore(max) {
|
|
607
|
-
this.
|
|
557
|
+
this.scoreLedger.setMax(max);
|
|
608
558
|
}
|
|
609
559
|
getMaxScore() {
|
|
610
|
-
return this.
|
|
560
|
+
return this.scoreLedger.getMax();
|
|
611
561
|
}
|
|
612
|
-
// Persistence
|
|
562
|
+
// Persistence — delegates to WorldSerializer
|
|
613
563
|
toJSON() {
|
|
614
|
-
|
|
615
|
-
entities: Array.from(this.entities.entries()).map(([id, entity]) => ({
|
|
616
|
-
id,
|
|
617
|
-
entity: entity.toJSON()
|
|
618
|
-
})),
|
|
619
|
-
state: this.state,
|
|
620
|
-
playerId: this.playerId,
|
|
621
|
-
spatialIndex: this.spatialIndex.toJSON(),
|
|
622
|
-
relationships: Array.from(this.relationships.entries()).map(([entityId, rels]) => ({
|
|
623
|
-
entityId,
|
|
624
|
-
relationships: Array.from(rels.entries()).map(([type, related]) => ({
|
|
625
|
-
type,
|
|
626
|
-
related: Array.from(related)
|
|
627
|
-
}))
|
|
628
|
-
})),
|
|
629
|
-
// Add ID system data
|
|
630
|
-
idCounters: Array.from(this.idCounters.entries()),
|
|
631
|
-
// Score Ledger (ADR-129)
|
|
632
|
-
scoreLedger: this.scoreLedger,
|
|
633
|
-
scoreMaxScore: this.scoreMaxScore,
|
|
634
|
-
// Add capabilities
|
|
635
|
-
capabilities: Object.entries(this.capabilities).map(([name, cap]) => ({
|
|
636
|
-
name,
|
|
637
|
-
data: cap.data,
|
|
638
|
-
schema: cap.schema
|
|
639
|
-
}))
|
|
640
|
-
};
|
|
641
|
-
return JSON.stringify(data, null, 2);
|
|
564
|
+
return this.serializer.serialize(this.getSerializableState(), this.scoreLedger);
|
|
642
565
|
}
|
|
643
566
|
loadJSON(json) {
|
|
644
|
-
const data = JSON.parse(json);
|
|
645
567
|
// Preserve code registrations that aren't part of serialized state
|
|
646
|
-
const savedEventChains =
|
|
568
|
+
const savedEventChains = this.eventSystem.preserveChains();
|
|
647
569
|
const savedCapabilities = { ...this.capabilities };
|
|
648
570
|
// Clear current state
|
|
649
571
|
this.clear();
|
|
650
572
|
// Restore code registrations
|
|
651
|
-
|
|
652
|
-
this.eventChains.set(key, value);
|
|
653
|
-
}
|
|
573
|
+
this.eventSystem.restoreChains(savedEventChains);
|
|
654
574
|
this.capabilities = savedCapabilities;
|
|
655
|
-
//
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
this.
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
for (const { type, related } of relationships) {
|
|
672
|
-
entityRels.set(type, new Set(related));
|
|
673
|
-
}
|
|
674
|
-
this.relationships.set(entityId, entityRels);
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
// Restore ID system data
|
|
678
|
-
if (data.idCounters) {
|
|
679
|
-
this.idCounters = new Map(data.idCounters);
|
|
680
|
-
}
|
|
681
|
-
else {
|
|
682
|
-
// Rebuild ID counters from existing entities for backward compatibility
|
|
683
|
-
this.rebuildIdCounters();
|
|
684
|
-
}
|
|
685
|
-
// Restore capabilities
|
|
686
|
-
if (data.capabilities) {
|
|
687
|
-
for (const { name, data: capData, schema } of data.capabilities) {
|
|
688
|
-
this.capabilities[name] = {
|
|
689
|
-
data: capData,
|
|
690
|
-
schema
|
|
691
|
-
};
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
// Restore score ledger (ADR-129)
|
|
695
|
-
if (data.scoreLedger) {
|
|
696
|
-
this.scoreLedger = data.scoreLedger;
|
|
697
|
-
}
|
|
698
|
-
if (data.scoreMaxScore !== undefined) {
|
|
699
|
-
this.scoreMaxScore = data.scoreMaxScore;
|
|
700
|
-
}
|
|
575
|
+
// Delegate deserialization
|
|
576
|
+
const serializableState = this.getSerializableState();
|
|
577
|
+
this.serializer.deserialize(json, serializableState, this.scoreLedger);
|
|
578
|
+
// Sync primitives back (objects are shared by reference)
|
|
579
|
+
this.playerId = serializableState.playerId;
|
|
580
|
+
}
|
|
581
|
+
getSerializableState() {
|
|
582
|
+
return {
|
|
583
|
+
entities: this.entities,
|
|
584
|
+
spatialIndex: this.spatialIndex,
|
|
585
|
+
state: this.state,
|
|
586
|
+
playerId: this.playerId,
|
|
587
|
+
relationships: this.relationships,
|
|
588
|
+
idCounters: this.idCounters,
|
|
589
|
+
capabilities: this.capabilities,
|
|
590
|
+
};
|
|
701
591
|
}
|
|
702
592
|
clear() {
|
|
703
593
|
this.entities.clear();
|
|
@@ -705,228 +595,48 @@ class WorldModel {
|
|
|
705
595
|
this.playerId = undefined;
|
|
706
596
|
this.spatialIndex.clear();
|
|
707
597
|
this.relationships.clear();
|
|
708
|
-
this.appliedEvents = [];
|
|
709
598
|
this.idCounters.clear();
|
|
710
599
|
this.capabilities = {};
|
|
711
|
-
this.scoreLedger
|
|
712
|
-
this.scoreMaxScore = 0;
|
|
600
|
+
this.scoreLedger.clear();
|
|
713
601
|
this.grammarVocabularyProvider.clear();
|
|
714
|
-
this.
|
|
602
|
+
this.eventSystem.clear();
|
|
715
603
|
}
|
|
716
|
-
// Event
|
|
604
|
+
// Event system — delegates to WorldEventSystem
|
|
717
605
|
registerEventHandler(eventType, handler) {
|
|
718
|
-
this.
|
|
719
|
-
// If already connected to EventProcessor, wire this handler immediately (ADR-086)
|
|
720
|
-
if (this.eventProcessorWiring) {
|
|
721
|
-
this.wireHandlerToProcessor(eventType, handler);
|
|
722
|
-
}
|
|
606
|
+
this.eventSystem.registerEventHandler(eventType, handler);
|
|
723
607
|
}
|
|
724
608
|
unregisterEventHandler(eventType) {
|
|
725
|
-
this.
|
|
726
|
-
// Note: We don't unregister from EventProcessor as it doesn't support removal by type
|
|
727
|
-
// Handlers will still be called but won't find the handler in eventHandlers
|
|
609
|
+
this.eventSystem.unregisterEventHandler(eventType);
|
|
728
610
|
}
|
|
729
611
|
registerEventValidator(eventType, validator) {
|
|
730
|
-
this.
|
|
612
|
+
this.eventSystem.registerEventValidator(eventType, validator);
|
|
731
613
|
}
|
|
732
614
|
registerEventPreviewer(eventType, previewer) {
|
|
733
|
-
this.
|
|
615
|
+
this.eventSystem.registerEventPreviewer(eventType, previewer);
|
|
734
616
|
}
|
|
735
|
-
/**
|
|
736
|
-
* Connect this WorldModel to the engine's EventProcessor (ADR-086).
|
|
737
|
-
* Wires all existing handlers and chains, and enables automatic wiring for future ones.
|
|
738
|
-
*/
|
|
739
617
|
connectEventProcessor(wiring) {
|
|
740
|
-
this.
|
|
741
|
-
// Wire all existing handlers
|
|
742
|
-
for (const [eventType, handler] of this.eventHandlers) {
|
|
743
|
-
this.wireHandlerToProcessor(eventType, handler);
|
|
744
|
-
}
|
|
745
|
-
// Wire all existing chains (ADR-094)
|
|
746
|
-
for (const triggerType of this.eventChains.keys()) {
|
|
747
|
-
this.wireChainToProcessor(triggerType);
|
|
748
|
-
}
|
|
618
|
+
this.eventSystem.connectEventProcessor(wiring);
|
|
749
619
|
}
|
|
750
|
-
/**
|
|
751
|
-
* Adapt a WorldModel handler to EventProcessor signature and register it.
|
|
752
|
-
*/
|
|
753
|
-
wireHandlerToProcessor(eventType, handler) {
|
|
754
|
-
if (!this.eventProcessorWiring)
|
|
755
|
-
return;
|
|
756
|
-
// Adapt the handler: WorldModel handlers return void, EventProcessor expects Effect[]
|
|
757
|
-
const adaptedHandler = (event) => {
|
|
758
|
-
handler(event, this);
|
|
759
|
-
return [];
|
|
760
|
-
};
|
|
761
|
-
this.eventProcessorWiring.registerHandler(eventType, adaptedHandler);
|
|
762
|
-
}
|
|
763
|
-
/**
|
|
764
|
-
* Register an event chain handler (ADR-094).
|
|
765
|
-
* Chain handlers produce new events when a trigger event occurs.
|
|
766
|
-
*/
|
|
767
620
|
chainEvent(triggerType, handler, options = {}) {
|
|
768
|
-
|
|
769
|
-
const registration = { handler, key, priority };
|
|
770
|
-
if (!this.eventChains.has(triggerType)) {
|
|
771
|
-
this.eventChains.set(triggerType, []);
|
|
772
|
-
}
|
|
773
|
-
const chains = this.eventChains.get(triggerType);
|
|
774
|
-
if (mode === 'override') {
|
|
775
|
-
// Replace all existing chains
|
|
776
|
-
this.eventChains.set(triggerType, [registration]);
|
|
777
|
-
}
|
|
778
|
-
else if (key) {
|
|
779
|
-
// Replace chain with same key, or add
|
|
780
|
-
const existingIndex = chains.findIndex(c => c.key === key);
|
|
781
|
-
if (existingIndex >= 0) {
|
|
782
|
-
chains[existingIndex] = registration;
|
|
783
|
-
}
|
|
784
|
-
else {
|
|
785
|
-
chains.push(registration);
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
else {
|
|
789
|
-
// Cascade - just add
|
|
790
|
-
chains.push(registration);
|
|
791
|
-
}
|
|
792
|
-
// Sort by priority (lower = earlier)
|
|
793
|
-
chains.sort((a, b) => a.priority - b.priority);
|
|
794
|
-
// Wire to EventProcessor if connected
|
|
795
|
-
if (this.eventProcessorWiring) {
|
|
796
|
-
this.wireChainToProcessor(triggerType);
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
/**
|
|
800
|
-
* Wire chains for a trigger type to the EventProcessor.
|
|
801
|
-
* Chain handlers return events to be emitted.
|
|
802
|
-
*/
|
|
803
|
-
wireChainToProcessor(triggerType) {
|
|
804
|
-
if (!this.eventProcessorWiring)
|
|
805
|
-
return;
|
|
806
|
-
// Register a handler that invokes all chains and returns EmitEffect objects
|
|
807
|
-
// The event processor expects Effect[] not ISemanticEvent[]
|
|
808
|
-
this.eventProcessorWiring.registerHandler(triggerType, (event) => {
|
|
809
|
-
const chainedEvents = this.executeChains(triggerType, event);
|
|
810
|
-
// Wrap each event as an EmitEffect
|
|
811
|
-
return chainedEvents.map(e => ({ type: 'emit', event: e }));
|
|
812
|
-
});
|
|
813
|
-
}
|
|
814
|
-
/**
|
|
815
|
-
* Execute all chains for a trigger type and collect their events.
|
|
816
|
-
*/
|
|
817
|
-
executeChains(triggerType, event) {
|
|
818
|
-
const chains = this.eventChains.get(triggerType) || [];
|
|
819
|
-
const results = [];
|
|
820
|
-
// Get chain metadata from trigger event's data (ADR-094)
|
|
821
|
-
const triggerData = (event.data || {});
|
|
822
|
-
const currentDepth = triggerData._chainDepth || 0;
|
|
823
|
-
const transactionId = triggerData._transactionId;
|
|
824
|
-
for (const chain of chains) {
|
|
825
|
-
const chainedEvents = chain.handler(event, this);
|
|
826
|
-
if (chainedEvents) {
|
|
827
|
-
const eventsArray = Array.isArray(chainedEvents) ? chainedEvents : [chainedEvents];
|
|
828
|
-
// Add chain metadata to each event
|
|
829
|
-
for (const chainedEvent of eventsArray) {
|
|
830
|
-
const newDepth = currentDepth + 1;
|
|
831
|
-
// Safety: prevent infinite loops (max depth 10)
|
|
832
|
-
if (newDepth > 10) {
|
|
833
|
-
console.warn(`Chain depth exceeded for ${chainedEvent.type}, skipping`);
|
|
834
|
-
continue;
|
|
835
|
-
}
|
|
836
|
-
// Ensure the event has required fields and add chain metadata to data
|
|
837
|
-
const existingData = (chainedEvent.data || {});
|
|
838
|
-
const enrichedEvent = {
|
|
839
|
-
id: chainedEvent.id || `chain-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
840
|
-
type: chainedEvent.type,
|
|
841
|
-
timestamp: chainedEvent.timestamp || Date.now(),
|
|
842
|
-
entities: chainedEvent.entities || {},
|
|
843
|
-
data: {
|
|
844
|
-
...existingData,
|
|
845
|
-
_chainedFrom: event.type,
|
|
846
|
-
_chainSourceId: event.id,
|
|
847
|
-
_chainDepth: newDepth,
|
|
848
|
-
// Pass through transactionId from trigger event (ADR-094)
|
|
849
|
-
// Engine assigns this at action start; chained events inherit it
|
|
850
|
-
...(transactionId ? { _transactionId: transactionId } : {})
|
|
851
|
-
}
|
|
852
|
-
};
|
|
853
|
-
results.push(enrichedEvent);
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
return results;
|
|
621
|
+
this.eventSystem.chainEvent(triggerType, handler, options);
|
|
858
622
|
}
|
|
859
623
|
applyEvent(event) {
|
|
860
|
-
|
|
861
|
-
if (!this.canApplyEvent(event)) {
|
|
862
|
-
throw new Error(`Cannot apply event of type '${event.type}': validation failed`);
|
|
863
|
-
}
|
|
864
|
-
// Look up handler for this event type
|
|
865
|
-
const handler = this.eventHandlers.get(event.type);
|
|
866
|
-
if (!handler) {
|
|
867
|
-
// No handler registered - event is recorded but has no effect
|
|
868
|
-
// Silent when no handler - this is a valid use case
|
|
869
|
-
}
|
|
870
|
-
else {
|
|
871
|
-
// Apply the event through the handler
|
|
872
|
-
handler(event, this);
|
|
873
|
-
}
|
|
874
|
-
// Record the event in history
|
|
875
|
-
this.appliedEvents.push(event);
|
|
876
|
-
// Trim history if it exceeds the limit
|
|
877
|
-
if (this.appliedEvents.length > this.maxEventHistory) {
|
|
878
|
-
this.appliedEvents = this.appliedEvents.slice(-this.maxEventHistory);
|
|
879
|
-
}
|
|
624
|
+
this.eventSystem.applyEvent(event);
|
|
880
625
|
}
|
|
881
626
|
canApplyEvent(event) {
|
|
882
|
-
|
|
883
|
-
const validator = this.eventValidators.get(event.type);
|
|
884
|
-
// If no validator registered, assume event is valid
|
|
885
|
-
if (!validator) {
|
|
886
|
-
return true;
|
|
887
|
-
}
|
|
888
|
-
// Run the validator
|
|
889
|
-
return validator(event, this);
|
|
627
|
+
return this.eventSystem.canApplyEvent(event);
|
|
890
628
|
}
|
|
891
629
|
previewEvent(event) {
|
|
892
|
-
|
|
893
|
-
const previewer = this.eventPreviewers.get(event.type);
|
|
894
|
-
// If no previewer registered, return empty array
|
|
895
|
-
if (!previewer) {
|
|
896
|
-
return [];
|
|
897
|
-
}
|
|
898
|
-
// Run the previewer
|
|
899
|
-
return previewer(event, this);
|
|
630
|
+
return this.eventSystem.previewEvent(event);
|
|
900
631
|
}
|
|
901
632
|
getAppliedEvents() {
|
|
902
|
-
return
|
|
633
|
+
return this.eventSystem.getAppliedEvents();
|
|
903
634
|
}
|
|
904
635
|
getEventsSince(timestamp) {
|
|
905
|
-
return this.
|
|
636
|
+
return this.eventSystem.getEventsSince(timestamp);
|
|
906
637
|
}
|
|
907
638
|
clearEventHistory() {
|
|
908
|
-
this.
|
|
909
|
-
}
|
|
910
|
-
// Rebuild ID counters by analyzing existing entities
|
|
911
|
-
rebuildIdCounters() {
|
|
912
|
-
// Clear counters
|
|
913
|
-
this.idCounters.clear();
|
|
914
|
-
// Find the highest ID for each prefix
|
|
915
|
-
for (const entity of this.entities.values()) {
|
|
916
|
-
const id = entity.id;
|
|
917
|
-
if (id.length >= 3) {
|
|
918
|
-
const prefix = id[0];
|
|
919
|
-
const numPart = id.substring(1);
|
|
920
|
-
// Parse the numeric part (base36)
|
|
921
|
-
const num = parseInt(numPart, 36);
|
|
922
|
-
if (!isNaN(num)) {
|
|
923
|
-
const currentMax = this.idCounters.get(prefix) || 0;
|
|
924
|
-
if (num > currentMax) {
|
|
925
|
-
this.idCounters.set(prefix, num);
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
}
|
|
929
|
-
}
|
|
639
|
+
this.eventSystem.clearEventHistory();
|
|
930
640
|
}
|
|
931
641
|
// Get the data store for sharing with AuthorModel
|
|
932
642
|
getDataStore() {
|
package/world/WorldModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorldModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/WorldModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorldModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/WorldModel.ts"],"names":[],"mappings":"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"}
|