@sharpee/world-model 0.9.105 → 0.9.107
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/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/all-traits.d.ts +5 -2
- package/traits/all-traits.d.ts.map +1 -1
- package/traits/all-traits.js +6 -0
- package/traits/all-traits.js.map +1 -1
- package/traits/character-model/character-vocabulary.d.ts +160 -0
- package/traits/character-model/character-vocabulary.d.ts.map +1 -0
- package/traits/character-model/character-vocabulary.js +167 -0
- package/traits/character-model/character-vocabulary.js.map +1 -0
- package/traits/character-model/characterModelTrait.d.ts +269 -0
- package/traits/character-model/characterModelTrait.d.ts.map +1 -0
- package/traits/character-model/characterModelTrait.js +457 -0
- package/traits/character-model/characterModelTrait.js.map +1 -0
- package/traits/character-model/index.d.ts +3 -0
- package/traits/character-model/index.d.ts.map +1 -0
- package/traits/character-model/index.js +21 -0
- package/traits/character-model/index.js.map +1 -0
- package/traits/implementations.d.ts +2 -1
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +6 -1
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +1 -0
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +2 -0
- package/traits/index.js.map +1 -1
- package/traits/trait-types.d.ts +1 -0
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +4 -0
- package/traits/trait-types.js.map +1 -1
- package/world/SpatialIndex.d.ts.map +1 -1
- package/world/SpatialIndex.js +6 -2
- package/world/SpatialIndex.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export * from './traits/pushable';
|
|
|
31
31
|
export * from './traits/npc';
|
|
32
32
|
export * from './traits/vehicle';
|
|
33
33
|
export * from './traits/story-info';
|
|
34
|
+
export * from './traits/character-model';
|
|
34
35
|
export * from './extensions';
|
|
35
36
|
export * from './world';
|
|
36
37
|
export * from './scope';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/world-model/src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/world-model/src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC"}
|
package/index.js
CHANGED
|
@@ -54,6 +54,7 @@ __exportStar(require("./traits/pushable"), exports);
|
|
|
54
54
|
__exportStar(require("./traits/npc"), exports);
|
|
55
55
|
__exportStar(require("./traits/vehicle"), exports);
|
|
56
56
|
__exportStar(require("./traits/story-info"), exports);
|
|
57
|
+
__exportStar(require("./traits/character-model"), exports);
|
|
57
58
|
// Extension system
|
|
58
59
|
__exportStar(require("./extensions"), exports);
|
|
59
60
|
// World model
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,gBAAgB;AAChB,6CAA2B;AAE3B,iBAAiB;AACjB,8CAA4B;AAE5B,YAAY;AACZ,8CAA4B;AAE5B,8CAA8C;AAC9C,6CAA2B;AAC3B,+CAA6B;AAE7B,SAAS;AACT,iDAA+B;AAC/B,uDAAqC;AACrC,2DAAyC;AAEzC,2BAA2B;AAC3B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,mDAAiC;AACjC,sDAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,gBAAgB;AAChB,6CAA2B;AAE3B,iBAAiB;AACjB,8CAA4B;AAE5B,YAAY;AACZ,8CAA4B;AAE5B,8CAA8C;AAC9C,6CAA2B;AAC3B,+CAA6B;AAE7B,SAAS;AACT,iDAA+B;AAC/B,uDAAqC;AACrC,2DAAyC;AAEzC,2BAA2B;AAC3B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,mDAAiC;AACjC,sDAAoC;AACpC,2DAAyC;AAEzC,mBAAmB;AACnB,+CAA6B;AAE7B,cAAc;AACd,0CAAwB;AAExB,eAAe;AACf,0CAAwB;AAExB,mFAAmF;AACnF,iDAA+B;AAE/B,uCAAuC;AACvC,iDAA+B;AAE/B,wBAAwB;AACxB,gDAA8B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sharpee/world-model",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.107",
|
|
4
4
|
"description": "World model for Sharpee IF platform - entities, traits, and behaviors",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@sharpee/core": "^0.9.
|
|
16
|
-
"@sharpee/if-domain": "^0.9.
|
|
15
|
+
"@sharpee/core": "^0.9.107",
|
|
16
|
+
"@sharpee/if-domain": "^0.9.107"
|
|
17
17
|
},
|
|
18
18
|
"keywords": [
|
|
19
19
|
"interactive-fiction",
|
package/traits/all-traits.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { DestructibleTrait } from './destructible/destructibleTrait';
|
|
|
34
34
|
import { CombatantTrait } from './combatant/combatantTrait';
|
|
35
35
|
import { EquippedTrait } from './equipped/equippedTrait';
|
|
36
36
|
import { EnterableTrait } from './enterable/enterableTrait';
|
|
37
|
+
import { CharacterModelTrait } from './character-model/characterModelTrait';
|
|
37
38
|
export declare const Traits: {
|
|
38
39
|
readonly ActorTrait: typeof ActorTrait;
|
|
39
40
|
readonly AttachedTrait: typeof AttachedTrait;
|
|
@@ -63,9 +64,10 @@ export declare const Traits: {
|
|
|
63
64
|
readonly CombatantTrait: typeof CombatantTrait;
|
|
64
65
|
readonly EquippedTrait: typeof EquippedTrait;
|
|
65
66
|
readonly EnterableTrait: typeof EnterableTrait;
|
|
67
|
+
readonly CharacterModelTrait: typeof CharacterModelTrait;
|
|
66
68
|
};
|
|
67
|
-
export type { ActorTrait, AttachedTrait, ButtonTrait, ClimbableTrait, ClothingTrait, ContainerTrait, DoorTrait, EdibleTrait, ExitTrait, IdentityTrait, LightSourceTrait, LockableTrait, MoveableSceneryTrait, OpenableTrait, PullableTrait, PushableTrait, ReadableTrait, RoomTrait, SceneryTrait, SupporterTrait, SwitchableTrait, WearableTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, EnterableTrait, };
|
|
68
|
-
export type AnyTrait = ActorTrait | AttachedTrait | ButtonTrait | ClimbableTrait | ClothingTrait | ContainerTrait | DoorTrait | EdibleTrait | ExitTrait | IdentityTrait | LightSourceTrait | LockableTrait | MoveableSceneryTrait | OpenableTrait | PullableTrait | PushableTrait | ReadableTrait | RoomTrait | SceneryTrait | SupporterTrait | SwitchableTrait | WearableTrait | WeaponTrait | BreakableTrait | DestructibleTrait | CombatantTrait | EquippedTrait | EnterableTrait;
|
|
69
|
+
export type { ActorTrait, AttachedTrait, ButtonTrait, ClimbableTrait, ClothingTrait, ContainerTrait, DoorTrait, EdibleTrait, ExitTrait, IdentityTrait, LightSourceTrait, LockableTrait, MoveableSceneryTrait, OpenableTrait, PullableTrait, PushableTrait, ReadableTrait, RoomTrait, SceneryTrait, SupporterTrait, SwitchableTrait, WearableTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, EnterableTrait, CharacterModelTrait, };
|
|
70
|
+
export type AnyTrait = ActorTrait | AttachedTrait | ButtonTrait | ClimbableTrait | ClothingTrait | ContainerTrait | DoorTrait | EdibleTrait | ExitTrait | IdentityTrait | LightSourceTrait | LockableTrait | MoveableSceneryTrait | OpenableTrait | PullableTrait | PushableTrait | ReadableTrait | RoomTrait | SceneryTrait | SupporterTrait | SwitchableTrait | WearableTrait | WeaponTrait | BreakableTrait | DestructibleTrait | CombatantTrait | EquippedTrait | EnterableTrait | CharacterModelTrait;
|
|
69
71
|
export declare function isActorTrait(trait: any): trait is ActorTrait;
|
|
70
72
|
export declare function isContainerTrait(trait: any): trait is ContainerTrait;
|
|
71
73
|
export declare function isDoorTrait(trait: any): trait is DoorTrait;
|
|
@@ -92,4 +94,5 @@ export declare function isBreakableTrait(trait: any): trait is BreakableTrait;
|
|
|
92
94
|
export declare function isDestructibleTrait(trait: any): trait is DestructibleTrait;
|
|
93
95
|
export declare function isCombatantTrait(trait: any): trait is CombatantTrait;
|
|
94
96
|
export declare function isEquippedTrait(trait: any): trait is EquippedTrait;
|
|
97
|
+
export declare function isCharacterModelTrait(trait: any): trait is CharacterModelTrait;
|
|
95
98
|
//# sourceMappingURL=all-traits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-traits.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/all-traits.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"all-traits.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/all-traits.ts"],"names":[],"mappings":"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"}
|
package/traits/all-traits.js
CHANGED
|
@@ -35,6 +35,7 @@ exports.isBreakableTrait = isBreakableTrait;
|
|
|
35
35
|
exports.isDestructibleTrait = isDestructibleTrait;
|
|
36
36
|
exports.isCombatantTrait = isCombatantTrait;
|
|
37
37
|
exports.isEquippedTrait = isEquippedTrait;
|
|
38
|
+
exports.isCharacterModelTrait = isCharacterModelTrait;
|
|
38
39
|
// Import all trait classes
|
|
39
40
|
const actorTrait_1 = require("./actor/actorTrait");
|
|
40
41
|
const attachedTrait_1 = require("./attached/attachedTrait");
|
|
@@ -64,6 +65,7 @@ const destructibleTrait_1 = require("./destructible/destructibleTrait");
|
|
|
64
65
|
const combatantTrait_1 = require("./combatant/combatantTrait");
|
|
65
66
|
const equippedTrait_1 = require("./equipped/equippedTrait");
|
|
66
67
|
const enterableTrait_1 = require("./enterable/enterableTrait");
|
|
68
|
+
const characterModelTrait_1 = require("./character-model/characterModelTrait");
|
|
67
69
|
// Export as namespace for easy access
|
|
68
70
|
exports.Traits = {
|
|
69
71
|
ActorTrait: actorTrait_1.ActorTrait,
|
|
@@ -94,6 +96,7 @@ exports.Traits = {
|
|
|
94
96
|
CombatantTrait: combatantTrait_1.CombatantTrait,
|
|
95
97
|
EquippedTrait: equippedTrait_1.EquippedTrait,
|
|
96
98
|
EnterableTrait: enterableTrait_1.EnterableTrait,
|
|
99
|
+
CharacterModelTrait: characterModelTrait_1.CharacterModelTrait,
|
|
97
100
|
};
|
|
98
101
|
// Type guards for each trait
|
|
99
102
|
function isActorTrait(trait) {
|
|
@@ -174,5 +177,8 @@ function isCombatantTrait(trait) {
|
|
|
174
177
|
function isEquippedTrait(trait) {
|
|
175
178
|
return trait?.type === 'equipped';
|
|
176
179
|
}
|
|
180
|
+
function isCharacterModelTrait(trait) {
|
|
181
|
+
return trait?.type === 'characterModel';
|
|
182
|
+
}
|
|
177
183
|
// Note: isEnterableTrait is exported from ./enterable/enterableTrait.ts
|
|
178
184
|
//# sourceMappingURL=all-traits.js.map
|
package/traits/all-traits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-traits.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/all-traits.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"all-traits.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/all-traits.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Character model vocabulary types (ADR-141)
|
|
3
|
+
*
|
|
4
|
+
* String literal union types for all word-based authoring inputs.
|
|
5
|
+
* Authors interact with these words; internal numeric values are
|
|
6
|
+
* implementation details managed by CharacterModelTrait.
|
|
7
|
+
*
|
|
8
|
+
* Public interface: All exported types and maps.
|
|
9
|
+
* Owner context: world-model / character-model trait
|
|
10
|
+
*/
|
|
11
|
+
/** Core personality traits — fixed at character creation. */
|
|
12
|
+
export type PersonalityTrait = 'honest' | 'loyal' | 'cowardly' | 'paranoid' | 'cruel' | 'cunning' | 'curious' | 'stubborn' | 'generous' | 'vain' | 'devout' | 'impulsive';
|
|
13
|
+
/** Intensity modifiers for personality traits. */
|
|
14
|
+
export type Intensity = 'slightly' | 'somewhat' | 'very' | 'extremely';
|
|
15
|
+
/** A personality expression: bare trait or intensity-qualified. */
|
|
16
|
+
export type PersonalityExpr = PersonalityTrait | `${Intensity} ${PersonalityTrait}`;
|
|
17
|
+
/** Maps intensity words to internal 0-1 values. */
|
|
18
|
+
export declare const INTENSITY_VALUES: Record<Intensity | 'bare', number>;
|
|
19
|
+
/**
|
|
20
|
+
* Parse a PersonalityExpr into trait name and numeric value.
|
|
21
|
+
*
|
|
22
|
+
* @param expr - A personality expression like 'very honest' or 'loyal'
|
|
23
|
+
* @returns Tuple of [trait name, intensity value]
|
|
24
|
+
*/
|
|
25
|
+
export declare function parsePersonalityExpr(expr: PersonalityExpr): [PersonalityTrait, number];
|
|
26
|
+
/**
|
|
27
|
+
* Disposition words — how the NPC feels about a specific entity.
|
|
28
|
+
* Directed and persistent. Distinct from mood (transient, undirected)
|
|
29
|
+
* and threat (situational).
|
|
30
|
+
*/
|
|
31
|
+
export type DispositionWord = 'despises' | 'hates' | 'dislikes' | 'wary of' | 'neutral' | 'likes' | 'trusts' | 'devoted to';
|
|
32
|
+
/** Internal numeric ranges for each disposition word. */
|
|
33
|
+
export declare const DISPOSITION_RANGES: Record<DispositionWord, {
|
|
34
|
+
min: number;
|
|
35
|
+
max: number;
|
|
36
|
+
midpoint: number;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve a disposition word to its midpoint numeric value.
|
|
40
|
+
*
|
|
41
|
+
* @param word - A disposition word
|
|
42
|
+
* @returns The midpoint of the disposition range
|
|
43
|
+
*/
|
|
44
|
+
export declare function dispositionToValue(word: DispositionWord): number;
|
|
45
|
+
/**
|
|
46
|
+
* Resolve a numeric disposition value back to the nearest word.
|
|
47
|
+
*
|
|
48
|
+
* @param value - A numeric disposition value (-100 to 100)
|
|
49
|
+
* @returns The disposition word whose range contains the value
|
|
50
|
+
*/
|
|
51
|
+
export declare function valueToDisposition(value: number): DispositionWord;
|
|
52
|
+
/**
|
|
53
|
+
* Mood words — the NPC's current transient emotional state.
|
|
54
|
+
* Undirected (not about anyone in particular). Changes frequently
|
|
55
|
+
* based on events and decays toward a baseline.
|
|
56
|
+
*/
|
|
57
|
+
export type Mood = 'calm' | 'content' | 'cheerful' | 'nervous' | 'anxious' | 'panicked' | 'angry' | 'furious' | 'sad' | 'grieving' | 'suspicious' | 'confused' | 'resigned';
|
|
58
|
+
/**
|
|
59
|
+
* Internal valence-arousal coordinates for each mood.
|
|
60
|
+
* Valence: -1 (negative) to +1 (positive).
|
|
61
|
+
* Arousal: 0 (low energy) to 1 (high energy).
|
|
62
|
+
*/
|
|
63
|
+
export declare const MOOD_AXES: Record<Mood, {
|
|
64
|
+
valence: number;
|
|
65
|
+
arousal: number;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* Find the closest mood word to a valence-arousal coordinate.
|
|
69
|
+
*
|
|
70
|
+
* @param valence - Valence value (-1 to 1)
|
|
71
|
+
* @param arousal - Arousal value (0 to 1)
|
|
72
|
+
* @returns The mood word with the smallest Euclidean distance
|
|
73
|
+
*/
|
|
74
|
+
export declare function nearestMood(valence: number, arousal: number): Mood;
|
|
75
|
+
/**
|
|
76
|
+
* Threat level — how endangered the NPC feels.
|
|
77
|
+
* Situational and distinct from mood and disposition.
|
|
78
|
+
*/
|
|
79
|
+
export type ThreatLevel = 'safe' | 'uneasy' | 'wary' | 'threatened' | 'cornered' | 'desperate';
|
|
80
|
+
/** Maps threat words to internal 0-100 values. */
|
|
81
|
+
export declare const THREAT_VALUES: Record<ThreatLevel, number>;
|
|
82
|
+
/**
|
|
83
|
+
* Resolve a numeric threat value back to the nearest threat level.
|
|
84
|
+
*
|
|
85
|
+
* @param value - A numeric threat value (0-100)
|
|
86
|
+
* @returns The threat level word
|
|
87
|
+
*/
|
|
88
|
+
export declare function valueToThreat(value: number): ThreatLevel;
|
|
89
|
+
/** How the NPC perceives events. */
|
|
90
|
+
export type PerceptionMode = 'accurate' | 'filtered' | 'augmented';
|
|
91
|
+
/** How the NPC forms and updates beliefs from evidence. */
|
|
92
|
+
export type BeliefFormation = 'flexible' | 'rigid' | 'resistant';
|
|
93
|
+
/** How coherently the NPC maintains topic focus. */
|
|
94
|
+
export type Coherence = 'focused' | 'drifting' | 'fragmented';
|
|
95
|
+
/** How stable the NPC's cognitive profile is over time. */
|
|
96
|
+
export type Lucidity = 'stable' | 'fluctuating' | 'episodic';
|
|
97
|
+
/** How intact the NPC's sense of identity is. */
|
|
98
|
+
export type SelfModel = 'intact' | 'uncertain' | 'fractured';
|
|
99
|
+
/** The five-dimensional cognitive profile. */
|
|
100
|
+
export interface CognitiveProfile {
|
|
101
|
+
perception: PerceptionMode;
|
|
102
|
+
beliefFormation: BeliefFormation;
|
|
103
|
+
coherence: Coherence;
|
|
104
|
+
lucidity: Lucidity;
|
|
105
|
+
selfModel: SelfModel;
|
|
106
|
+
}
|
|
107
|
+
/** Default stable cognitive profile. */
|
|
108
|
+
export declare const STABLE_COGNITIVE_PROFILE: Readonly<CognitiveProfile>;
|
|
109
|
+
/** How the NPC acquired a piece of knowledge. */
|
|
110
|
+
export type FactSource = 'witnessed' | 'told' | 'inferred' | 'assumed' | 'hallucinated';
|
|
111
|
+
/** How confident the NPC is in a piece of knowledge. */
|
|
112
|
+
export type ConfidenceWord = 'uncertain' | 'suspects' | 'believes' | 'certain';
|
|
113
|
+
/** Maps confidence words to internal 0-1 values. */
|
|
114
|
+
export declare const CONFIDENCE_VALUES: Record<ConfidenceWord, number>;
|
|
115
|
+
/** A single fact in the NPC's knowledge base. */
|
|
116
|
+
export interface Fact {
|
|
117
|
+
source: FactSource;
|
|
118
|
+
confidence: ConfidenceWord;
|
|
119
|
+
turnLearned: number;
|
|
120
|
+
}
|
|
121
|
+
/** How resistant a belief is to counter-evidence. */
|
|
122
|
+
export type ResistanceMode = 'none' | 'reinterprets' | 'ignores';
|
|
123
|
+
/** A belief held by the NPC, which may differ from facts. */
|
|
124
|
+
export interface Belief {
|
|
125
|
+
strength: ConfidenceWord;
|
|
126
|
+
resistance: ResistanceMode;
|
|
127
|
+
}
|
|
128
|
+
/** A goal with author-assigned priority. Higher priority = more important. */
|
|
129
|
+
export interface Goal {
|
|
130
|
+
id: string;
|
|
131
|
+
priority: number;
|
|
132
|
+
}
|
|
133
|
+
/** Timing for a lucidity transition. */
|
|
134
|
+
export type TransitionTiming = 'immediate' | 'next turn';
|
|
135
|
+
/** Rate at which lucidity decays back to baseline. */
|
|
136
|
+
export type DecayRate = 'slow' | 'moderate' | 'fast';
|
|
137
|
+
/** A single lucidity trigger rule. */
|
|
138
|
+
export interface LucidityTrigger {
|
|
139
|
+
target: string;
|
|
140
|
+
transition: TransitionTiming;
|
|
141
|
+
}
|
|
142
|
+
/** Full lucidity window configuration. */
|
|
143
|
+
export interface LucidityConfig {
|
|
144
|
+
baseline: string;
|
|
145
|
+
triggers: Record<string, LucidityTrigger>;
|
|
146
|
+
decay: 'gradual' | 'sudden';
|
|
147
|
+
decayRate: DecayRate;
|
|
148
|
+
}
|
|
149
|
+
/** Configuration for filtered/augmented perception. */
|
|
150
|
+
export interface PerceptionFilterConfig {
|
|
151
|
+
misses: string[];
|
|
152
|
+
amplifies: string[];
|
|
153
|
+
}
|
|
154
|
+
/** A hallucinated perceived event definition. */
|
|
155
|
+
export interface PerceivedEvent {
|
|
156
|
+
when: string;
|
|
157
|
+
as: FactSource;
|
|
158
|
+
content: string;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=character-vocabulary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"character-vocabulary.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/character-vocabulary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Character model vocabulary types (ADR-141)
|
|
4
|
+
*
|
|
5
|
+
* String literal union types for all word-based authoring inputs.
|
|
6
|
+
* Authors interact with these words; internal numeric values are
|
|
7
|
+
* implementation details managed by CharacterModelTrait.
|
|
8
|
+
*
|
|
9
|
+
* Public interface: All exported types and maps.
|
|
10
|
+
* Owner context: world-model / character-model trait
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CONFIDENCE_VALUES = exports.STABLE_COGNITIVE_PROFILE = exports.THREAT_VALUES = exports.MOOD_AXES = exports.DISPOSITION_RANGES = exports.INTENSITY_VALUES = void 0;
|
|
14
|
+
exports.parsePersonalityExpr = parsePersonalityExpr;
|
|
15
|
+
exports.dispositionToValue = dispositionToValue;
|
|
16
|
+
exports.valueToDisposition = valueToDisposition;
|
|
17
|
+
exports.nearestMood = nearestMood;
|
|
18
|
+
exports.valueToThreat = valueToThreat;
|
|
19
|
+
/** Maps intensity words to internal 0-1 values. */
|
|
20
|
+
exports.INTENSITY_VALUES = {
|
|
21
|
+
slightly: 0.2,
|
|
22
|
+
somewhat: 0.4,
|
|
23
|
+
bare: 0.6,
|
|
24
|
+
very: 0.8,
|
|
25
|
+
extremely: 0.95,
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Parse a PersonalityExpr into trait name and numeric value.
|
|
29
|
+
*
|
|
30
|
+
* @param expr - A personality expression like 'very honest' or 'loyal'
|
|
31
|
+
* @returns Tuple of [trait name, intensity value]
|
|
32
|
+
*/
|
|
33
|
+
function parsePersonalityExpr(expr) {
|
|
34
|
+
const parts = expr.split(' ');
|
|
35
|
+
if (parts.length === 2) {
|
|
36
|
+
const intensity = parts[0];
|
|
37
|
+
const trait = parts[1];
|
|
38
|
+
return [trait, exports.INTENSITY_VALUES[intensity]];
|
|
39
|
+
}
|
|
40
|
+
return [expr, exports.INTENSITY_VALUES.bare];
|
|
41
|
+
}
|
|
42
|
+
/** Internal numeric ranges for each disposition word. */
|
|
43
|
+
exports.DISPOSITION_RANGES = {
|
|
44
|
+
'despises': { min: -100, max: -90, midpoint: -95 },
|
|
45
|
+
'hates': { min: -90, max: -70, midpoint: -80 },
|
|
46
|
+
'dislikes': { min: -70, max: -50, midpoint: -60 },
|
|
47
|
+
'wary of': { min: -40, max: -20, midpoint: -30 },
|
|
48
|
+
'neutral': { min: -10, max: 10, midpoint: 0 },
|
|
49
|
+
'likes': { min: 30, max: 50, midpoint: 40 },
|
|
50
|
+
'trusts': { min: 50, max: 70, midpoint: 60 },
|
|
51
|
+
'devoted to': { min: 80, max: 100, midpoint: 90 },
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Resolve a disposition word to its midpoint numeric value.
|
|
55
|
+
*
|
|
56
|
+
* @param word - A disposition word
|
|
57
|
+
* @returns The midpoint of the disposition range
|
|
58
|
+
*/
|
|
59
|
+
function dispositionToValue(word) {
|
|
60
|
+
return exports.DISPOSITION_RANGES[word].midpoint;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Resolve a numeric disposition value back to the nearest word.
|
|
64
|
+
*
|
|
65
|
+
* @param value - A numeric disposition value (-100 to 100)
|
|
66
|
+
* @returns The disposition word whose range contains the value
|
|
67
|
+
*/
|
|
68
|
+
function valueToDisposition(value) {
|
|
69
|
+
if (value <= -90)
|
|
70
|
+
return 'despises';
|
|
71
|
+
if (value <= -70)
|
|
72
|
+
return 'hates';
|
|
73
|
+
if (value <= -50)
|
|
74
|
+
return 'dislikes';
|
|
75
|
+
if (value <= -20)
|
|
76
|
+
return 'wary of';
|
|
77
|
+
if (value <= 10)
|
|
78
|
+
return 'neutral';
|
|
79
|
+
if (value <= 50)
|
|
80
|
+
return 'likes';
|
|
81
|
+
if (value <= 70)
|
|
82
|
+
return 'trusts';
|
|
83
|
+
return 'devoted to';
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Internal valence-arousal coordinates for each mood.
|
|
87
|
+
* Valence: -1 (negative) to +1 (positive).
|
|
88
|
+
* Arousal: 0 (low energy) to 1 (high energy).
|
|
89
|
+
*/
|
|
90
|
+
exports.MOOD_AXES = {
|
|
91
|
+
'calm': { valence: 0.3, arousal: 0.1 },
|
|
92
|
+
'content': { valence: 0.5, arousal: 0.2 },
|
|
93
|
+
'cheerful': { valence: 0.8, arousal: 0.5 },
|
|
94
|
+
'nervous': { valence: -0.3, arousal: 0.5 },
|
|
95
|
+
'anxious': { valence: -0.4, arousal: 0.7 },
|
|
96
|
+
'panicked': { valence: -0.7, arousal: 0.95 },
|
|
97
|
+
'angry': { valence: -0.6, arousal: 0.7 },
|
|
98
|
+
'furious': { valence: -0.9, arousal: 0.95 },
|
|
99
|
+
'sad': { valence: -0.5, arousal: 0.2 },
|
|
100
|
+
'grieving': { valence: -0.8, arousal: 0.3 },
|
|
101
|
+
'suspicious': { valence: -0.3, arousal: 0.4 },
|
|
102
|
+
'confused': { valence: -0.2, arousal: 0.3 },
|
|
103
|
+
'resigned': { valence: -0.4, arousal: 0.1 },
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Find the closest mood word to a valence-arousal coordinate.
|
|
107
|
+
*
|
|
108
|
+
* @param valence - Valence value (-1 to 1)
|
|
109
|
+
* @param arousal - Arousal value (0 to 1)
|
|
110
|
+
* @returns The mood word with the smallest Euclidean distance
|
|
111
|
+
*/
|
|
112
|
+
function nearestMood(valence, arousal) {
|
|
113
|
+
let best = 'calm';
|
|
114
|
+
let bestDist = Infinity;
|
|
115
|
+
for (const [mood, axes] of Object.entries(exports.MOOD_AXES)) {
|
|
116
|
+
const dist = (axes.valence - valence) ** 2 + (axes.arousal - arousal) ** 2;
|
|
117
|
+
if (dist < bestDist) {
|
|
118
|
+
bestDist = dist;
|
|
119
|
+
best = mood;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return best;
|
|
123
|
+
}
|
|
124
|
+
/** Maps threat words to internal 0-100 values. */
|
|
125
|
+
exports.THREAT_VALUES = {
|
|
126
|
+
'safe': 0,
|
|
127
|
+
'uneasy': 20,
|
|
128
|
+
'wary': 40,
|
|
129
|
+
'threatened': 60,
|
|
130
|
+
'cornered': 80,
|
|
131
|
+
'desperate': 95,
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Resolve a numeric threat value back to the nearest threat level.
|
|
135
|
+
*
|
|
136
|
+
* @param value - A numeric threat value (0-100)
|
|
137
|
+
* @returns The threat level word
|
|
138
|
+
*/
|
|
139
|
+
function valueToThreat(value) {
|
|
140
|
+
if (value <= 10)
|
|
141
|
+
return 'safe';
|
|
142
|
+
if (value <= 30)
|
|
143
|
+
return 'uneasy';
|
|
144
|
+
if (value <= 50)
|
|
145
|
+
return 'wary';
|
|
146
|
+
if (value <= 70)
|
|
147
|
+
return 'threatened';
|
|
148
|
+
if (value <= 85)
|
|
149
|
+
return 'cornered';
|
|
150
|
+
return 'desperate';
|
|
151
|
+
}
|
|
152
|
+
/** Default stable cognitive profile. */
|
|
153
|
+
exports.STABLE_COGNITIVE_PROFILE = {
|
|
154
|
+
perception: 'accurate',
|
|
155
|
+
beliefFormation: 'flexible',
|
|
156
|
+
coherence: 'focused',
|
|
157
|
+
lucidity: 'stable',
|
|
158
|
+
selfModel: 'intact',
|
|
159
|
+
};
|
|
160
|
+
/** Maps confidence words to internal 0-1 values. */
|
|
161
|
+
exports.CONFIDENCE_VALUES = {
|
|
162
|
+
'uncertain': 0.2,
|
|
163
|
+
'suspects': 0.4,
|
|
164
|
+
'believes': 0.7,
|
|
165
|
+
'certain': 0.95,
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=character-vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"character-vocabulary.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/character-vocabulary.ts"],"names":[],"mappings":"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"}
|