@sharpee/world-model 0.9.107 → 0.9.109
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/constants/directions.d.ts +1 -89
- package/constants/directions.d.ts.map +1 -1
- package/constants/directions.js +2 -162
- package/constants/directions.js.map +1 -1
- package/entities/entity-types.d.ts +4 -0
- package/entities/entity-types.d.ts.map +1 -1
- package/entities/entity-types.js +6 -0
- package/entities/entity-types.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/traits/combatant/combatantTrait.d.ts +3 -0
- package/traits/combatant/combatantTrait.d.ts.map +1 -1
- package/traits/combatant/combatantTrait.js +2 -0
- package/traits/combatant/combatantTrait.js.map +1 -1
- package/traits/concealment/concealedStateTrait.d.ts +59 -0
- package/traits/concealment/concealedStateTrait.d.ts.map +1 -0
- package/traits/concealment/concealedStateTrait.js +63 -0
- package/traits/concealment/concealedStateTrait.js.map +1 -0
- package/traits/concealment/concealedVisibilityBehavior.d.ts +27 -0
- package/traits/concealment/concealedVisibilityBehavior.d.ts.map +1 -0
- package/traits/concealment/concealedVisibilityBehavior.js +44 -0
- package/traits/concealment/concealedVisibilityBehavior.js.map +1 -0
- package/traits/concealment/concealmentTrait.d.ts +54 -0
- package/traits/concealment/concealmentTrait.d.ts.map +1 -0
- package/traits/concealment/concealmentTrait.js +58 -0
- package/traits/concealment/concealmentTrait.js.map +1 -0
- package/traits/concealment/index.d.ts +7 -0
- package/traits/concealment/index.d.ts.map +1 -0
- package/traits/concealment/index.js +23 -0
- package/traits/concealment/index.js.map +1 -0
- package/traits/implementations.d.ts +3 -1
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +13 -2
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +3 -0
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +4 -0
- package/traits/index.js.map +1 -1
- package/traits/region/index.d.ts +6 -0
- package/traits/region/index.d.ts.map +1 -0
- package/traits/region/index.js +10 -0
- package/traits/region/index.js.map +1 -0
- package/traits/region/regionTrait.d.ts +49 -0
- package/traits/region/regionTrait.d.ts.map +1 -0
- package/traits/region/regionTrait.js +43 -0
- package/traits/region/regionTrait.js.map +1 -0
- package/traits/room/roomBehavior.js +1 -1
- package/traits/room/roomBehavior.js.map +1 -1
- package/traits/room/roomTrait.d.ts +3 -3
- package/traits/room/roomTrait.d.ts.map +1 -1
- package/traits/room/roomTrait.js +2 -2
- package/traits/room/roomTrait.js.map +1 -1
- package/traits/scene/index.d.ts +6 -0
- package/traits/scene/index.d.ts.map +1 -0
- package/traits/scene/index.js +10 -0
- package/traits/scene/index.js.map +1 -0
- package/traits/scene/sceneTrait.d.ts +57 -0
- package/traits/scene/sceneTrait.d.ts.map +1 -0
- package/traits/scene/sceneTrait.js +48 -0
- package/traits/scene/sceneTrait.js.map +1 -0
- package/traits/story-info/storyInfoTrait.d.ts +1 -1
- package/traits/story-info/storyInfoTrait.js +1 -1
- package/traits/trait-types.d.ts +4 -0
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +10 -1
- package/traits/trait-types.js.map +1 -1
- package/world/AuthorModel.d.ts +11 -3
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +32 -4
- package/world/AuthorModel.js.map +1 -1
- package/world/WorldModel.d.ts +135 -12
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +241 -14
- package/world/WorldModel.js.map +1 -1
- package/world/index.d.ts +1 -1
- package/world/index.d.ts.map +1 -1
- package/world/index.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/scene/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SceneTrait = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Scene trait module (ADR-149).
|
|
6
|
+
* Owner context: @sharpee/world-model — traits / temporal
|
|
7
|
+
*/
|
|
8
|
+
var sceneTrait_1 = require("./sceneTrait");
|
|
9
|
+
Object.defineProperty(exports, "SceneTrait", { enumerable: true, get: function () { return sceneTrait_1.SceneTrait; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/scene/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,2CAAkE;AAAzD,wGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scene trait for temporal story phases (ADR-149).
|
|
3
|
+
*
|
|
4
|
+
* Entities with this trait represent named dramatic episodes with
|
|
5
|
+
* begin/end conditions evaluated each turn by the engine. Multiple
|
|
6
|
+
* scenes can be active simultaneously. Scenes can be recurring.
|
|
7
|
+
*
|
|
8
|
+
* Condition closures are NOT serializable. On save/restore, trait
|
|
9
|
+
* data (state, activeTurns, etc.) persists, but stories must
|
|
10
|
+
* re-register conditions after restore.
|
|
11
|
+
*
|
|
12
|
+
* Public interface: SceneTrait, ISceneData, SceneState.
|
|
13
|
+
* Owner context: @sharpee/world-model — traits / temporal
|
|
14
|
+
*/
|
|
15
|
+
import { ITrait } from '../trait';
|
|
16
|
+
/** Possible states for a scene lifecycle. */
|
|
17
|
+
export type SceneState = 'waiting' | 'active' | 'ended';
|
|
18
|
+
/**
|
|
19
|
+
* Data interface for SceneTrait construction.
|
|
20
|
+
*
|
|
21
|
+
* @param name - Human-readable scene name (required).
|
|
22
|
+
* @param state - Initial state. Defaults to 'waiting'.
|
|
23
|
+
* @param recurring - Whether the scene can re-activate after ending.
|
|
24
|
+
* @param activeTurns - Turns the scene has been active. Defaults to 0.
|
|
25
|
+
* @param beganAtTurn - Turn number when the scene last began.
|
|
26
|
+
* @param endedAtTurn - Turn number when the scene last ended.
|
|
27
|
+
*/
|
|
28
|
+
export interface ISceneData {
|
|
29
|
+
name: string;
|
|
30
|
+
state?: SceneState;
|
|
31
|
+
recurring?: boolean;
|
|
32
|
+
activeTurns?: number;
|
|
33
|
+
beganAtTurn?: number;
|
|
34
|
+
endedAtTurn?: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Marks an entity as a temporal scene — a dramatic episode with
|
|
38
|
+
* begin/end conditions polled each turn by the engine.
|
|
39
|
+
*/
|
|
40
|
+
export declare class SceneTrait implements ITrait, ISceneData {
|
|
41
|
+
static readonly type: "scene";
|
|
42
|
+
readonly type: "scene";
|
|
43
|
+
/** Human-readable scene name. */
|
|
44
|
+
name: string;
|
|
45
|
+
/** Current lifecycle state. */
|
|
46
|
+
state: SceneState;
|
|
47
|
+
/** Whether the scene can activate more than once. */
|
|
48
|
+
recurring: boolean;
|
|
49
|
+
/** Number of turns the scene has been active (0 if not active). */
|
|
50
|
+
activeTurns: number;
|
|
51
|
+
/** Turn number when the scene last began. */
|
|
52
|
+
beganAtTurn?: number;
|
|
53
|
+
/** Turn number when the scene last ended. */
|
|
54
|
+
endedAtTurn?: number;
|
|
55
|
+
constructor(data: ISceneData);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=sceneTrait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sceneTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/scene/sceneTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,MAAM,EAAE,UAAU;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAmB;IACvC,QAAQ,CAAC,IAAI,UAAmB;IAEhC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,KAAK,EAAE,UAAU,CAAC;IAElB,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;gBAET,IAAI,EAAE,UAAU;CAQ7B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Scene trait for temporal story phases (ADR-149).
|
|
4
|
+
*
|
|
5
|
+
* Entities with this trait represent named dramatic episodes with
|
|
6
|
+
* begin/end conditions evaluated each turn by the engine. Multiple
|
|
7
|
+
* scenes can be active simultaneously. Scenes can be recurring.
|
|
8
|
+
*
|
|
9
|
+
* Condition closures are NOT serializable. On save/restore, trait
|
|
10
|
+
* data (state, activeTurns, etc.) persists, but stories must
|
|
11
|
+
* re-register conditions after restore.
|
|
12
|
+
*
|
|
13
|
+
* Public interface: SceneTrait, ISceneData, SceneState.
|
|
14
|
+
* Owner context: @sharpee/world-model — traits / temporal
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.SceneTrait = void 0;
|
|
18
|
+
const trait_types_1 = require("../trait-types");
|
|
19
|
+
/**
|
|
20
|
+
* Marks an entity as a temporal scene — a dramatic episode with
|
|
21
|
+
* begin/end conditions polled each turn by the engine.
|
|
22
|
+
*/
|
|
23
|
+
class SceneTrait {
|
|
24
|
+
static type = trait_types_1.TraitType.SCENE;
|
|
25
|
+
type = trait_types_1.TraitType.SCENE;
|
|
26
|
+
/** Human-readable scene name. */
|
|
27
|
+
name;
|
|
28
|
+
/** Current lifecycle state. */
|
|
29
|
+
state;
|
|
30
|
+
/** Whether the scene can activate more than once. */
|
|
31
|
+
recurring;
|
|
32
|
+
/** Number of turns the scene has been active (0 if not active). */
|
|
33
|
+
activeTurns;
|
|
34
|
+
/** Turn number when the scene last began. */
|
|
35
|
+
beganAtTurn;
|
|
36
|
+
/** Turn number when the scene last ended. */
|
|
37
|
+
endedAtTurn;
|
|
38
|
+
constructor(data) {
|
|
39
|
+
this.name = data.name;
|
|
40
|
+
this.state = data.state ?? 'waiting';
|
|
41
|
+
this.recurring = data.recurring ?? false;
|
|
42
|
+
this.activeTurns = data.activeTurns ?? 0;
|
|
43
|
+
this.beganAtTurn = data.beganAtTurn;
|
|
44
|
+
this.endedAtTurn = data.endedAtTurn;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.SceneTrait = SceneTrait;
|
|
48
|
+
//# sourceMappingURL=sceneTrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sceneTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/scene/sceneTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAGH,gDAA2C;AAwB3C;;;GAGG;AACH,MAAa,UAAU;IACrB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,KAAK,CAAC;IAC9B,IAAI,GAAG,uBAAS,CAAC,KAAK,CAAC;IAEhC,iCAAiC;IACjC,IAAI,CAAS;IAEb,+BAA+B;IAC/B,KAAK,CAAa;IAElB,qDAAqD;IACrD,SAAS,CAAU;IAEnB,mEAAmE;IACnE,WAAW,CAAS;IAEpB,6CAA6C;IAC7C,WAAW,CAAU;IAErB,6CAA6C;IAC7C,WAAW,CAAU;IAErB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;;AA7BH,gCA8BC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ITrait } from '../trait';
|
|
2
2
|
/**
|
|
3
3
|
* StoryInfoTrait stores metadata about the game on a system entity.
|
|
4
|
-
* Replaces scattered
|
|
4
|
+
* Replaces scattered world['storyConfig'] / world['versionInfo'] casts.
|
|
5
5
|
*
|
|
6
6
|
* The entity carrying this trait has no location and is never visible
|
|
7
7
|
* in the game world. Actions read it via world.findByTrait().
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.StoryInfoTrait = void 0;
|
|
5
5
|
/**
|
|
6
6
|
* StoryInfoTrait stores metadata about the game on a system entity.
|
|
7
|
-
* Replaces scattered
|
|
7
|
+
* Replaces scattered world['storyConfig'] / world['versionInfo'] casts.
|
|
8
8
|
*
|
|
9
9
|
* The entity carrying this trait has no location and is never visible
|
|
10
10
|
* in the game world. Actions read it via world.findByTrait().
|
package/traits/trait-types.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export declare const TraitType: {
|
|
|
27
27
|
readonly MOVEABLE_SCENERY: "moveableScenery";
|
|
28
28
|
readonly DOOR: "door";
|
|
29
29
|
readonly CLIMBABLE: "climbable";
|
|
30
|
+
readonly REGION: "region";
|
|
31
|
+
readonly SCENE: "scene";
|
|
30
32
|
readonly ACTOR: "actor";
|
|
31
33
|
readonly EXIT: "exit";
|
|
32
34
|
readonly WEAPON: "weapon";
|
|
@@ -39,6 +41,8 @@ export declare const TraitType: {
|
|
|
39
41
|
readonly CHARACTER_MODEL: "characterModel";
|
|
40
42
|
readonly VEHICLE: "vehicle";
|
|
41
43
|
readonly ENTERABLE: "enterable";
|
|
44
|
+
readonly CONCEALMENT: "if.trait.concealment";
|
|
45
|
+
readonly CONCEALED_STATE: "if.trait.concealed_state";
|
|
42
46
|
readonly STORY_INFO: "storyInfo";
|
|
43
47
|
};
|
|
44
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trait-types.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/trait-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"trait-types.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/trait-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CA6D7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,EAAE,CAIxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,aAAsC,GAAG,IAAI,CAMrH"}
|
package/traits/trait-types.js
CHANGED
|
@@ -39,6 +39,8 @@ exports.TraitType = {
|
|
|
39
39
|
// Spatial traits
|
|
40
40
|
DOOR: 'door',
|
|
41
41
|
CLIMBABLE: 'climbable',
|
|
42
|
+
REGION: 'region',
|
|
43
|
+
SCENE: 'scene',
|
|
42
44
|
// Object property traits
|
|
43
45
|
// Basic traits
|
|
44
46
|
ACTOR: 'actor',
|
|
@@ -58,6 +60,9 @@ exports.TraitType = {
|
|
|
58
60
|
// Transport traits
|
|
59
61
|
VEHICLE: 'vehicle',
|
|
60
62
|
ENTERABLE: 'enterable',
|
|
63
|
+
// Concealment traits (ADR-148)
|
|
64
|
+
CONCEALMENT: 'if.trait.concealment',
|
|
65
|
+
CONCEALED_STATE: 'if.trait.concealed_state',
|
|
61
66
|
// System traits
|
|
62
67
|
STORY_INFO: 'storyInfo'
|
|
63
68
|
};
|
|
@@ -98,6 +103,8 @@ exports.TRAIT_CATEGORIES = {
|
|
|
98
103
|
[exports.TraitType.DOOR]: exports.TraitCategory.STANDARD,
|
|
99
104
|
[exports.TraitType.CLIMBABLE]: exports.TraitCategory.INTERACTIVE,
|
|
100
105
|
[exports.TraitType.EXIT]: exports.TraitCategory.STANDARD,
|
|
106
|
+
[exports.TraitType.REGION]: exports.TraitCategory.STANDARD,
|
|
107
|
+
[exports.TraitType.SCENE]: exports.TraitCategory.STANDARD,
|
|
101
108
|
// Object property
|
|
102
109
|
// Basic
|
|
103
110
|
[exports.TraitType.ACTOR]: exports.TraitCategory.STANDARD,
|
|
@@ -115,7 +122,9 @@ exports.TRAIT_CATEGORIES = {
|
|
|
115
122
|
// Transport traits
|
|
116
123
|
[exports.TraitType.VEHICLE]: exports.TraitCategory.INTERACTIVE,
|
|
117
124
|
[exports.TraitType.ENTERABLE]: exports.TraitCategory.INTERACTIVE,
|
|
118
|
-
//
|
|
125
|
+
// Concealment traits (ADR-148)
|
|
126
|
+
[exports.TraitType.CONCEALMENT]: exports.TraitCategory.INTERACTIVE,
|
|
127
|
+
[exports.TraitType.CONCEALED_STATE]: exports.TraitCategory.INTERACTIVE,
|
|
119
128
|
// System traits
|
|
120
129
|
[exports.TraitType.STORY_INFO]: exports.TraitCategory.STANDARD
|
|
121
130
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trait-types.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/trait-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"trait-types.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/trait-types.ts"],"names":[],"mappings":"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"}
|
package/world/AuthorModel.d.ts
CHANGED
|
@@ -13,12 +13,11 @@ import { TraitType } from '../traits/trait-types';
|
|
|
13
13
|
import { SpatialIndex } from './SpatialIndex';
|
|
14
14
|
import { ITrait } from '../traits/trait';
|
|
15
15
|
import { ICapabilityStore } from './capabilities';
|
|
16
|
-
import type { IWorldModel, EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions } from './WorldModel';
|
|
16
|
+
import type { IWorldModel, EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions, RegionOptions, RegionCrossings, SceneOptions, SceneConditions } from './WorldModel';
|
|
17
17
|
import type { ScoreEntry } from './ScoreLedger';
|
|
18
18
|
import type { ISemanticEvent } from "../../core/index";
|
|
19
19
|
import type { WorldState, ContentsOptions, WorldChange, IEventProcessorWiring, GamePrompt, IGrammarVocabularyProvider } from "../../if-domain/index";
|
|
20
20
|
import type { DirectionType } from '../constants/directions';
|
|
21
|
-
import { DirectionVocabularyRegistry } from '../constants/directions';
|
|
22
21
|
import type { ScopeRegistry } from '../scope/scope-registry';
|
|
23
22
|
import type { IScopeRule } from '../scope/scope-rule';
|
|
24
23
|
import type { ICapabilityData, ICapabilityRegistration } from './capabilities';
|
|
@@ -121,6 +120,16 @@ export declare class AuthorModel implements IWorldModel {
|
|
|
121
120
|
isLocked?: boolean;
|
|
122
121
|
keyId?: string;
|
|
123
122
|
}): IFEntity;
|
|
123
|
+
createRegion(id: string, options: RegionOptions): IFEntity;
|
|
124
|
+
assignRoom(roomId: string, regionId: string): void;
|
|
125
|
+
isInRegion(entityId: string, regionId: string): boolean;
|
|
126
|
+
getRegionCrossings(fromRoomId: string, toRoomId: string): RegionCrossings;
|
|
127
|
+
createScene(id: string, options: SceneOptions): IFEntity;
|
|
128
|
+
getSceneConditions(sceneId: string): SceneConditions | undefined;
|
|
129
|
+
getAllSceneConditions(): Map<string, SceneConditions>;
|
|
130
|
+
isSceneActive(sceneId: string): boolean;
|
|
131
|
+
hasSceneEnded(sceneId: string): boolean;
|
|
132
|
+
hasSceneHappened(sceneId: string): boolean;
|
|
124
133
|
registerCapability(name: string, registration: Partial<ICapabilityRegistration>): void;
|
|
125
134
|
updateCapability(name: string, data: Partial<ICapabilityData>): void;
|
|
126
135
|
getCapability(name: string): ICapabilityData | undefined;
|
|
@@ -152,7 +161,6 @@ export declare class AuthorModel implements IWorldModel {
|
|
|
152
161
|
removeScopeRule(ruleId: string): boolean;
|
|
153
162
|
evaluateScope(actorId: string, actionId?: string): string[];
|
|
154
163
|
getGrammarVocabularyProvider(): IGrammarVocabularyProvider;
|
|
155
|
-
directions(): DirectionVocabularyRegistry;
|
|
156
164
|
/**
|
|
157
165
|
* Move multiple entities to a container in one operation.
|
|
158
166
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorModel.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AuthorModel.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAc;gBAEpB,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;IAK1D;;OAEG;IACH,YAAY,IAAI,UAAU;IAM1B;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiB,GAAG,QAAQ;IAc7D;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgB9D,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI9B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjC,cAAc,IAAI,QAAQ,EAAE;IAI5B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAKzE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE;IAIvE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAIjE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIzD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE;IAKvE,QAAQ,IAAI,UAAU;IAItB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIjC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAI/B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAK5C,SAAS,IAAI,UAAU;IAIvB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE;IAI7C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI1C,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,GAAG,QAAQ,EAAE;IAI/D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI1C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKrD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAInF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIrF,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAKxF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIxC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI5D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI/D,SAAS,IAAI,QAAQ,GAAG,SAAS;IAIjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAI9E,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,aAAa,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,QAAQ;IAKZ,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,QAAQ;IAI1D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIlD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe;IAKzE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,QAAQ;IAIxD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhE,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAIrD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK1C,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAItF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIpE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIxD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKpC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAIpE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIhC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI7B,QAAQ,IAAI,MAAM;IAIlB,eAAe,IAAI,UAAU,EAAE;IAI/B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B,WAAW,IAAI,MAAM;IAKrB,MAAM,IAAI,MAAM;IAIhB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,IAAI,IAAI;IAKb,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIpE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/C,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAI1E,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAI1E,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI1D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAI9F,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIvC,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAI7C,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,EAAE;IAIlD,gBAAgB,IAAI,cAAc,EAAE;IAIpC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IAInD,iBAAiB,IAAI,IAAI;IAKzB,gBAAgB,IAAI,aAAa;IAIjC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIpC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAK3D,4BAA4B,IAAI,0BAA0B;IAM1D;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAMxD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO/C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IASzD,OAAO,CAAC,UAAU;CAyBnB"}
|
package/world/AuthorModel.js
CHANGED
|
@@ -182,6 +182,38 @@ class AuthorModel {
|
|
|
182
182
|
createDoor(displayName, opts) {
|
|
183
183
|
return this.worldModel.createDoor(displayName, opts);
|
|
184
184
|
}
|
|
185
|
+
// Region Management (ADR-149)
|
|
186
|
+
createRegion(id, options) {
|
|
187
|
+
return this.worldModel.createRegion(id, options);
|
|
188
|
+
}
|
|
189
|
+
assignRoom(roomId, regionId) {
|
|
190
|
+
this.worldModel.assignRoom(roomId, regionId);
|
|
191
|
+
}
|
|
192
|
+
isInRegion(entityId, regionId) {
|
|
193
|
+
return this.worldModel.isInRegion(entityId, regionId);
|
|
194
|
+
}
|
|
195
|
+
getRegionCrossings(fromRoomId, toRoomId) {
|
|
196
|
+
return this.worldModel.getRegionCrossings(fromRoomId, toRoomId);
|
|
197
|
+
}
|
|
198
|
+
// Scene Management (ADR-149)
|
|
199
|
+
createScene(id, options) {
|
|
200
|
+
return this.worldModel.createScene(id, options);
|
|
201
|
+
}
|
|
202
|
+
getSceneConditions(sceneId) {
|
|
203
|
+
return this.worldModel.getSceneConditions(sceneId);
|
|
204
|
+
}
|
|
205
|
+
getAllSceneConditions() {
|
|
206
|
+
return this.worldModel.getAllSceneConditions();
|
|
207
|
+
}
|
|
208
|
+
isSceneActive(sceneId) {
|
|
209
|
+
return this.worldModel.isSceneActive(sceneId);
|
|
210
|
+
}
|
|
211
|
+
hasSceneEnded(sceneId) {
|
|
212
|
+
return this.worldModel.hasSceneEnded(sceneId);
|
|
213
|
+
}
|
|
214
|
+
hasSceneHappened(sceneId) {
|
|
215
|
+
return this.worldModel.hasSceneHappened(sceneId);
|
|
216
|
+
}
|
|
185
217
|
// Capability Management
|
|
186
218
|
registerCapability(name, registration) {
|
|
187
219
|
this.worldModel.registerCapability(name, registration);
|
|
@@ -281,10 +313,6 @@ class AuthorModel {
|
|
|
281
313
|
getGrammarVocabularyProvider() {
|
|
282
314
|
return this.worldModel.getGrammarVocabularyProvider();
|
|
283
315
|
}
|
|
284
|
-
// Direction Vocabulary (ADR-143)
|
|
285
|
-
directions() {
|
|
286
|
-
return this.worldModel.directions();
|
|
287
|
-
}
|
|
288
316
|
// ========== Author-Only Convenience Methods ==========
|
|
289
317
|
/**
|
|
290
318
|
* Move multiple entities to a container in one operation.
|
package/world/AuthorModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,qDAAiD;
|
|
1
|
+
{"version":3,"file":"AuthorModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,qDAAiD;AA4DjD;;;;;;;;;;;GAWG;AACH,MAAa,WAAW;IACd,SAAS,CAAa;IACtB,UAAU,CAAc;IAEhC,YAAY,SAAqB,EAAE,UAAuB;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,+DAA+D;IAE/D;;;;;;OAMG;IACH,YAAY,CAAC,IAAY,EAAE,OAAe,QAAQ;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;YACpC,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAgB,EAAE,QAAuB;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAE1C,oBAAoB;IACpB,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,OAAmC;QAChE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,qBAAqB;IACrB,WAAW,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,WAAmB,EAAE,OAAyB;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,QAAuB;QACrD,OAAO,IAAI,CAAC,CAAC,kCAAkC;IACjD,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,OAAyB;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,yBAAyB;IACzB,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,KAAU;QACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,SAAS;IACT,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,mBAAmB;IACnB,WAAW,CAAC,SAAoB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,SAAwC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,QAAgB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,uBAAuB;IACvB,UAAU,CAAC,QAAgB,EAAE,gBAAwB;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAwB;QACvE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAwB;QAC5E,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAwB;QAC/E,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,QAAgB,EAAE,QAAgB;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,QAAgB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB;IACvB,YAAY,CAAC,OAAe,EAAE,OAAe,EAAE,SAAwB;QACrE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,IAS/B;QACC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,8BAA8B;IAC9B,YAAY,CAAC,EAAU,EAAE,OAAsB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,QAAgB;QACzC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,QAAgB,EAAE,QAAgB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,6BAA6B;IAC7B,WAAW,CAAC,EAAU,EAAE,OAAqB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,wBAAwB;IACxB,kBAAkB,CAAC,IAAY,EAAE,YAA8C;QAC7E,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,IAA8B;QAC3D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;IACf,UAAU,CAAC,EAAU,EAAE,MAAc,EAAE,WAAmB;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,cAAc;IACd,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe;IACf,oBAAoB,CAAC,SAAiB,EAAE,OAAqB;QAC3D,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB,CAAC,SAAiB;QACtC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,SAAyB;QACjE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,SAAyB;QACjE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,qBAAqB,CAAC,MAA6B;QACjD,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,OAA0B,EAAE,OAA2B;QACrF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,UAAU,CAAC,KAAqB;QAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,KAAqB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,KAAqB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB;IACnB,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,QAAiB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,wBAAwB;IACxB,4BAA4B;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;IACxD,CAAC;IAED,wDAAwD;IAExD;;OAEG;IACH,QAAQ,CAAC,WAAmB,EAAE,SAAmB;QAC/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB,EAAE,KAAa;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,SAAoB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,wCAAwC;IAEhC,UAAU,CAAC,IAAY;QAC7B,MAAM,aAAa,GAA2B;YAC5C,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,GAAG;SACd,CAAC;QAEF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC;QAEhC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,cAAc,MAAM,IAAI,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,CAAC;CACF;AAxbD,kCAwbC"}
|
package/world/WorldModel.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IFEntity } from '../entities/if-entity';
|
|
2
2
|
import { TraitType } from '../traits/trait-types';
|
|
3
|
-
import { DirectionType
|
|
3
|
+
import { DirectionType } from '../constants/directions';
|
|
4
4
|
import { ISemanticEvent, ISemanticEventSource } from "../../core/index";
|
|
5
5
|
import { IDataStore } from './AuthorModel';
|
|
6
6
|
import { ICapabilityData, ICapabilityRegistration } from './capabilities';
|
|
@@ -10,6 +10,43 @@ import { IScopeRule } from '../scope/scope-rule';
|
|
|
10
10
|
import { EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions } from './WorldEventSystem';
|
|
11
11
|
export type { EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions };
|
|
12
12
|
export { WorldState, WorldConfig, ContentsOptions, WorldChange } from "../../if-domain/index";
|
|
13
|
+
export interface RegionOptions {
|
|
14
|
+
/** Human-readable region name. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Parent region entity ID for nesting. */
|
|
17
|
+
parentRegionId?: string;
|
|
18
|
+
/** Region-wide ambient sound. */
|
|
19
|
+
ambientSound?: string;
|
|
20
|
+
/** Region-wide ambient smell. */
|
|
21
|
+
ambientSmell?: string;
|
|
22
|
+
/** Whether rooms in this region default to dark. */
|
|
23
|
+
defaultDark?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SceneOptions {
|
|
26
|
+
/** Human-readable scene name. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Returns true when the scene should begin. Evaluated each turn when state is 'waiting'. */
|
|
29
|
+
begin: (world: IWorldModel) => boolean;
|
|
30
|
+
/** Returns true when the scene should end. Evaluated each turn when state is 'active'. */
|
|
31
|
+
end: (world: IWorldModel) => boolean;
|
|
32
|
+
/** Whether the scene can activate more than once. Default: false. */
|
|
33
|
+
recurring?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** Stored condition closures for a scene (not serializable). */
|
|
36
|
+
export interface SceneConditions {
|
|
37
|
+
begin: (world: IWorldModel) => boolean;
|
|
38
|
+
end: (world: IWorldModel) => boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Result of comparing region hierarchies for two rooms (ADR-149).
|
|
42
|
+
*
|
|
43
|
+
* @param exited - Region IDs exited, innermost first.
|
|
44
|
+
* @param entered - Region IDs entered, outermost first.
|
|
45
|
+
*/
|
|
46
|
+
export interface RegionCrossings {
|
|
47
|
+
exited: string[];
|
|
48
|
+
entered: string[];
|
|
49
|
+
}
|
|
13
50
|
import { ScoreEntry } from './ScoreLedger';
|
|
14
51
|
export { ScoreEntry } from './ScoreLedger';
|
|
15
52
|
export interface IWorldModel {
|
|
@@ -62,6 +99,16 @@ export interface IWorldModel {
|
|
|
62
99
|
isLocked?: boolean;
|
|
63
100
|
keyId?: string;
|
|
64
101
|
}): IFEntity;
|
|
102
|
+
createRegion(id: string, options: RegionOptions): IFEntity;
|
|
103
|
+
assignRoom(roomId: string, regionId: string): void;
|
|
104
|
+
isInRegion(entityId: string, regionId: string): boolean;
|
|
105
|
+
getRegionCrossings(fromRoomId: string, toRoomId: string): RegionCrossings;
|
|
106
|
+
createScene(id: string, options: SceneOptions): IFEntity;
|
|
107
|
+
getSceneConditions(sceneId: string): SceneConditions | undefined;
|
|
108
|
+
getAllSceneConditions(): Map<string, SceneConditions>;
|
|
109
|
+
isSceneActive(sceneId: string): boolean;
|
|
110
|
+
hasSceneEnded(sceneId: string): boolean;
|
|
111
|
+
hasSceneHappened(sceneId: string): boolean;
|
|
65
112
|
awardScore(id: string, points: number, description: string): boolean;
|
|
66
113
|
revokeScore(id: string): boolean;
|
|
67
114
|
hasScore(id: string): boolean;
|
|
@@ -102,7 +149,6 @@ export interface IWorldModel {
|
|
|
102
149
|
removeScopeRule(ruleId: string): boolean;
|
|
103
150
|
evaluateScope(actorId: string, actionId?: string): string[];
|
|
104
151
|
getGrammarVocabularyProvider(): IGrammarVocabularyProvider;
|
|
105
|
-
directions(): DirectionVocabularyRegistry;
|
|
106
152
|
}
|
|
107
153
|
export declare class WorldModel implements IWorldModel {
|
|
108
154
|
private entities;
|
|
@@ -112,6 +158,7 @@ export declare class WorldModel implements IWorldModel {
|
|
|
112
158
|
private config;
|
|
113
159
|
private capabilities;
|
|
114
160
|
private scoreLedger;
|
|
161
|
+
private sceneConditions;
|
|
115
162
|
private idCounters;
|
|
116
163
|
private eventSystem;
|
|
117
164
|
private serializer;
|
|
@@ -119,7 +166,6 @@ export declare class WorldModel implements IWorldModel {
|
|
|
119
166
|
private scopeRegistry;
|
|
120
167
|
private scopeEvaluator;
|
|
121
168
|
private grammarVocabularyProvider;
|
|
122
|
-
private directionVocabularyRegistry;
|
|
123
169
|
constructor(config?: WorldConfig, platformEvents?: ISemanticEventSource);
|
|
124
170
|
private emitPlatformEvent;
|
|
125
171
|
registerCapability(name: string, registration?: Partial<ICapabilityRegistration>): void;
|
|
@@ -184,15 +230,6 @@ export declare class WorldModel implements IWorldModel {
|
|
|
184
230
|
getDataStore(): IDataStore;
|
|
185
231
|
getScopeRegistry(): ScopeRegistry;
|
|
186
232
|
getGrammarVocabularyProvider(): IGrammarVocabularyProvider;
|
|
187
|
-
/**
|
|
188
|
-
* Access the direction vocabulary registry.
|
|
189
|
-
*
|
|
190
|
-
* Stories call this to override direction words from a single point:
|
|
191
|
-
* ```
|
|
192
|
-
* world.directions().useVocabulary('naval');
|
|
193
|
-
* ```
|
|
194
|
-
*/
|
|
195
|
-
directions(): DirectionVocabularyRegistry;
|
|
196
233
|
addScopeRule(rule: IScopeRule): void;
|
|
197
234
|
removeScopeRule(ruleId: string): boolean;
|
|
198
235
|
evaluateScope(actorId: string, actionId?: string): string[];
|
|
@@ -268,5 +305,91 @@ export declare class WorldModel implements IWorldModel {
|
|
|
268
305
|
isLocked?: boolean;
|
|
269
306
|
keyId?: string;
|
|
270
307
|
}): IFEntity;
|
|
308
|
+
/**
|
|
309
|
+
* Creates a region entity with RegionTrait atomically.
|
|
310
|
+
*
|
|
311
|
+
* @param id - Explicit entity ID for the region (e.g., 'reg-underground').
|
|
312
|
+
* Must be unique; throws if already exists.
|
|
313
|
+
* @param options - Region configuration.
|
|
314
|
+
* @returns The created region entity.
|
|
315
|
+
*/
|
|
316
|
+
createRegion(id: string, options: RegionOptions): IFEntity;
|
|
317
|
+
/**
|
|
318
|
+
* Assigns a room to a region by setting RoomTrait.regionId.
|
|
319
|
+
*
|
|
320
|
+
* @param roomId - ID of the room entity.
|
|
321
|
+
* @param regionId - ID of the region entity (must exist and have RegionTrait).
|
|
322
|
+
* @throws If room not found, region not found, or types are wrong.
|
|
323
|
+
*/
|
|
324
|
+
assignRoom(roomId: string, regionId: string): void;
|
|
325
|
+
/**
|
|
326
|
+
* Tests whether an entity (or its containing room) is in a region,
|
|
327
|
+
* traversing the parent region hierarchy.
|
|
328
|
+
*
|
|
329
|
+
* @param entityId - The entity to test. If it's a room, checks its regionId.
|
|
330
|
+
* Otherwise, resolves the entity's containing room first.
|
|
331
|
+
* @param regionId - The region to test membership against.
|
|
332
|
+
* @returns true if the entity is in the region or any child of it.
|
|
333
|
+
*/
|
|
334
|
+
isInRegion(entityId: string, regionId: string): boolean;
|
|
335
|
+
/**
|
|
336
|
+
* Computes which regions are exited and entered when moving between rooms.
|
|
337
|
+
* Exit list is innermost-first; entry list is outermost-first.
|
|
338
|
+
*
|
|
339
|
+
* @param fromRoomId - The source room entity ID.
|
|
340
|
+
* @param toRoomId - The destination room entity ID.
|
|
341
|
+
* @returns Region IDs exited and entered. Both empty if same region or no regions.
|
|
342
|
+
*/
|
|
343
|
+
getRegionCrossings(fromRoomId: string, toRoomId: string): RegionCrossings;
|
|
344
|
+
/**
|
|
345
|
+
* Builds the ancestry chain for a region: [self, parent, grandparent, ...].
|
|
346
|
+
* Returns empty array if regionId is undefined or not found.
|
|
347
|
+
*/
|
|
348
|
+
private getRegionAncestry;
|
|
349
|
+
/**
|
|
350
|
+
* Checks whether a region ancestry chain includes a target region.
|
|
351
|
+
*/
|
|
352
|
+
private regionAncestryIncludes;
|
|
353
|
+
/**
|
|
354
|
+
* Creates a scene entity with SceneTrait and registers condition closures.
|
|
355
|
+
*
|
|
356
|
+
* @param id - Explicit entity ID (e.g., 'scene-flood'). Must be unique.
|
|
357
|
+
* @param options - Scene name, begin/end conditions, recurring flag.
|
|
358
|
+
* @returns The created scene entity.
|
|
359
|
+
*/
|
|
360
|
+
createScene(id: string, options: SceneOptions): IFEntity;
|
|
361
|
+
/**
|
|
362
|
+
* Retrieves the condition closures for a scene.
|
|
363
|
+
* Returns undefined if the scene has no registered conditions
|
|
364
|
+
* (e.g., after save/restore before re-registration).
|
|
365
|
+
*
|
|
366
|
+
* @param sceneId - The scene entity ID.
|
|
367
|
+
*/
|
|
368
|
+
getSceneConditions(sceneId: string): SceneConditions | undefined;
|
|
369
|
+
/**
|
|
370
|
+
* Returns all registered scene conditions. Used by the engine's
|
|
371
|
+
* scene evaluation phase to iterate over scenes each turn.
|
|
372
|
+
*/
|
|
373
|
+
getAllSceneConditions(): Map<string, SceneConditions>;
|
|
374
|
+
/**
|
|
375
|
+
* Returns true if the scene is currently in the 'active' state.
|
|
376
|
+
*
|
|
377
|
+
* @param sceneId - The scene entity ID.
|
|
378
|
+
*/
|
|
379
|
+
isSceneActive(sceneId: string): boolean;
|
|
380
|
+
/**
|
|
381
|
+
* Returns true if the scene has reached the 'ended' state.
|
|
382
|
+
* For recurring scenes, this is true only while in the 'ended' state
|
|
383
|
+
* (resets to 'waiting' when the scene re-activates).
|
|
384
|
+
*
|
|
385
|
+
* @param sceneId - The scene entity ID.
|
|
386
|
+
*/
|
|
387
|
+
hasSceneEnded(sceneId: string): boolean;
|
|
388
|
+
/**
|
|
389
|
+
* Returns true if the scene has ever been active (beganAtTurn is set).
|
|
390
|
+
*
|
|
391
|
+
* @param sceneId - The scene entity ID.
|
|
392
|
+
*/
|
|
393
|
+
hasSceneHappened(sceneId: string): boolean;
|
|
271
394
|
}
|
|
272
395
|
//# sourceMappingURL=WorldModel.d.ts.map
|