@sharpee/world-model 0.9.104 → 0.9.106
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 +91 -1
- package/constants/directions.d.ts.map +1 -1
- package/constants/directions.js +164 -2
- package/constants/directions.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/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/AuthorModel.d.ts +2 -0
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +4 -0
- package/world/AuthorModel.js.map +1 -1
- package/world/WorldModel.d.ts +12 -1
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +14 -0
- package/world/WorldModel.js.map +1 -1
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Character model trait (ADR-141)
|
|
4
|
+
*
|
|
5
|
+
* Rich internal state for NPCs: personality, disposition, mood, threat,
|
|
6
|
+
* cognitive profile, knowledge, beliefs, and goals. Opt-in — only NPCs
|
|
7
|
+
* that need behavioral depth carry this trait alongside NpcTrait.
|
|
8
|
+
*
|
|
9
|
+
* Public interface: ICharacterModelData, CharacterModelTrait, CharacterPredicate.
|
|
10
|
+
* Owner context: world-model / character-model trait
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CharacterModelTrait = void 0;
|
|
14
|
+
const character_vocabulary_1 = require("./character-vocabulary");
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Trait implementation
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
/**
|
|
19
|
+
* CharacterModelTrait — rich internal state for NPCs.
|
|
20
|
+
*
|
|
21
|
+
* All state is stored as plain properties so JSON serialization survives.
|
|
22
|
+
* Predicate functions are registered at runtime and live in a transient map
|
|
23
|
+
* that is rebuilt after deserialization by the builder or story setup code.
|
|
24
|
+
*/
|
|
25
|
+
class CharacterModelTrait {
|
|
26
|
+
static type = 'characterModel';
|
|
27
|
+
type = 'characterModel';
|
|
28
|
+
// -- Personality (fixed at creation) --
|
|
29
|
+
personality;
|
|
30
|
+
// -- Disposition (per-entity, directed) --
|
|
31
|
+
dispositions;
|
|
32
|
+
// -- Mood (transient, undirected, valence-arousal internally) --
|
|
33
|
+
moodValence;
|
|
34
|
+
moodArousal;
|
|
35
|
+
// -- Threat (situational, 0-100) --
|
|
36
|
+
threatValue;
|
|
37
|
+
// -- Cognitive profile --
|
|
38
|
+
cognitiveProfile;
|
|
39
|
+
// -- Knowledge --
|
|
40
|
+
knowledge;
|
|
41
|
+
// -- Beliefs --
|
|
42
|
+
beliefs;
|
|
43
|
+
// -- Goals --
|
|
44
|
+
goals;
|
|
45
|
+
// -- Lucidity --
|
|
46
|
+
lucidityConfig;
|
|
47
|
+
currentLucidityState;
|
|
48
|
+
lucidityWindowTurns;
|
|
49
|
+
// -- Perception --
|
|
50
|
+
perceptionFilters;
|
|
51
|
+
perceivedEvents;
|
|
52
|
+
// -- Predicates (transient, not serialized) --
|
|
53
|
+
predicates = new Map();
|
|
54
|
+
constructor(data = {}) {
|
|
55
|
+
// Personality
|
|
56
|
+
this.personality = data.personality ? { ...data.personality } : {};
|
|
57
|
+
// Dispositions
|
|
58
|
+
this.dispositions = data.dispositions ? { ...data.dispositions } : {};
|
|
59
|
+
// Mood — accept either word or raw axes
|
|
60
|
+
if (data.moodValence !== undefined && data.moodArousal !== undefined) {
|
|
61
|
+
this.moodValence = data.moodValence;
|
|
62
|
+
this.moodArousal = data.moodArousal;
|
|
63
|
+
}
|
|
64
|
+
else if (data.mood) {
|
|
65
|
+
const axes = character_vocabulary_1.MOOD_AXES[data.mood];
|
|
66
|
+
this.moodValence = axes.valence;
|
|
67
|
+
this.moodArousal = axes.arousal;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Default: calm
|
|
71
|
+
this.moodValence = character_vocabulary_1.MOOD_AXES.calm.valence;
|
|
72
|
+
this.moodArousal = character_vocabulary_1.MOOD_AXES.calm.arousal;
|
|
73
|
+
}
|
|
74
|
+
// Threat — accept either word or raw value
|
|
75
|
+
if (data.threatValue !== undefined) {
|
|
76
|
+
this.threatValue = data.threatValue;
|
|
77
|
+
}
|
|
78
|
+
else if (data.threat) {
|
|
79
|
+
this.threatValue = character_vocabulary_1.THREAT_VALUES[data.threat];
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.threatValue = character_vocabulary_1.THREAT_VALUES.safe;
|
|
83
|
+
}
|
|
84
|
+
// Cognitive profile
|
|
85
|
+
this.cognitiveProfile = {
|
|
86
|
+
...character_vocabulary_1.STABLE_COGNITIVE_PROFILE,
|
|
87
|
+
...(data.cognitiveProfile ?? {}),
|
|
88
|
+
};
|
|
89
|
+
// Knowledge
|
|
90
|
+
this.knowledge = data.knowledge ? { ...data.knowledge } : {};
|
|
91
|
+
// Beliefs
|
|
92
|
+
this.beliefs = data.beliefs ? { ...data.beliefs } : {};
|
|
93
|
+
// Goals
|
|
94
|
+
this.goals = data.goals ? [...data.goals] : [];
|
|
95
|
+
// Lucidity
|
|
96
|
+
this.lucidityConfig = data.lucidityConfig;
|
|
97
|
+
this.currentLucidityState = data.currentLucidityState ?? (data.lucidityConfig?.baseline ?? 'stable');
|
|
98
|
+
this.lucidityWindowTurns = data.lucidityWindowTurns ?? -1;
|
|
99
|
+
// Perception
|
|
100
|
+
this.perceptionFilters = data.perceptionFilters;
|
|
101
|
+
this.perceivedEvents = data.perceivedEvents ? { ...data.perceivedEvents } : {};
|
|
102
|
+
// Register platform predicates
|
|
103
|
+
this.registerPlatformPredicates();
|
|
104
|
+
}
|
|
105
|
+
// =========================================================================
|
|
106
|
+
// Personality (read-only after creation)
|
|
107
|
+
// =========================================================================
|
|
108
|
+
/**
|
|
109
|
+
* Set personality from expression array. Typically called once at creation.
|
|
110
|
+
*
|
|
111
|
+
* @param exprs - Personality expressions like 'very honest', 'cowardly'
|
|
112
|
+
*/
|
|
113
|
+
setPersonality(...exprs) {
|
|
114
|
+
for (const expr of exprs) {
|
|
115
|
+
const [trait, value] = (0, character_vocabulary_1.parsePersonalityExpr)(expr);
|
|
116
|
+
this.personality[trait] = value;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get the intensity value for a personality trait.
|
|
121
|
+
*
|
|
122
|
+
* @param trait - The personality trait to query
|
|
123
|
+
* @returns The intensity value (0-1), or 0 if the trait is not set
|
|
124
|
+
*/
|
|
125
|
+
getPersonality(trait) {
|
|
126
|
+
return this.personality[trait] ?? 0;
|
|
127
|
+
}
|
|
128
|
+
// =========================================================================
|
|
129
|
+
// Disposition
|
|
130
|
+
// =========================================================================
|
|
131
|
+
/**
|
|
132
|
+
* Set disposition toward an entity using a word.
|
|
133
|
+
*
|
|
134
|
+
* @param entityId - The entity this disposition is directed at
|
|
135
|
+
* @param word - A disposition word like 'trusts' or 'wary of'
|
|
136
|
+
*/
|
|
137
|
+
setDisposition(entityId, word) {
|
|
138
|
+
this.dispositions[entityId] = (0, character_vocabulary_1.dispositionToValue)(word);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Adjust disposition toward an entity by a numeric delta.
|
|
142
|
+
* Clamps to -100..100.
|
|
143
|
+
*
|
|
144
|
+
* @param entityId - The entity to adjust disposition for
|
|
145
|
+
* @param delta - Amount to add (positive = warmer, negative = colder)
|
|
146
|
+
*/
|
|
147
|
+
adjustDisposition(entityId, delta) {
|
|
148
|
+
const current = this.dispositions[entityId] ?? 0;
|
|
149
|
+
this.dispositions[entityId] = Math.max(-100, Math.min(100, current + delta));
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get the numeric disposition value toward an entity.
|
|
153
|
+
*
|
|
154
|
+
* @param entityId - The entity to query
|
|
155
|
+
* @returns Numeric disposition (-100 to 100), defaults to 0 (neutral)
|
|
156
|
+
*/
|
|
157
|
+
getDispositionValue(entityId) {
|
|
158
|
+
return this.dispositions[entityId] ?? 0;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get the disposition word toward an entity.
|
|
162
|
+
*
|
|
163
|
+
* @param entityId - The entity to query
|
|
164
|
+
* @returns The disposition word
|
|
165
|
+
*/
|
|
166
|
+
getDispositionWord(entityId) {
|
|
167
|
+
return (0, character_vocabulary_1.valueToDisposition)(this.getDispositionValue(entityId));
|
|
168
|
+
}
|
|
169
|
+
// =========================================================================
|
|
170
|
+
// Mood
|
|
171
|
+
// =========================================================================
|
|
172
|
+
/**
|
|
173
|
+
* Set mood by word. Translates to internal valence-arousal axes.
|
|
174
|
+
*
|
|
175
|
+
* @param word - A mood word like 'nervous' or 'cheerful'
|
|
176
|
+
*/
|
|
177
|
+
setMood(word) {
|
|
178
|
+
const axes = character_vocabulary_1.MOOD_AXES[word];
|
|
179
|
+
this.moodValence = axes.valence;
|
|
180
|
+
this.moodArousal = axes.arousal;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Adjust mood axes by deltas. Clamps valence to -1..1 and arousal to 0..1.
|
|
184
|
+
*
|
|
185
|
+
* @param valenceDelta - Change in valence
|
|
186
|
+
* @param arousalDelta - Change in arousal
|
|
187
|
+
*/
|
|
188
|
+
adjustMood(valenceDelta, arousalDelta) {
|
|
189
|
+
this.moodValence = Math.max(-1, Math.min(1, this.moodValence + valenceDelta));
|
|
190
|
+
this.moodArousal = Math.max(0, Math.min(1, this.moodArousal + arousalDelta));
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get the current mood as a word (nearest match to valence-arousal position).
|
|
194
|
+
*
|
|
195
|
+
* @returns The mood word
|
|
196
|
+
*/
|
|
197
|
+
getMood() {
|
|
198
|
+
return (0, character_vocabulary_1.nearestMood)(this.moodValence, this.moodArousal);
|
|
199
|
+
}
|
|
200
|
+
// =========================================================================
|
|
201
|
+
// Threat
|
|
202
|
+
// =========================================================================
|
|
203
|
+
/**
|
|
204
|
+
* Set threat level by word.
|
|
205
|
+
*
|
|
206
|
+
* @param level - A threat level word
|
|
207
|
+
*/
|
|
208
|
+
setThreat(level) {
|
|
209
|
+
this.threatValue = character_vocabulary_1.THREAT_VALUES[level];
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Adjust threat level by a numeric delta. Clamps to 0..100.
|
|
213
|
+
*
|
|
214
|
+
* @param delta - Amount to add (positive = more threatened)
|
|
215
|
+
*/
|
|
216
|
+
adjustThreat(delta) {
|
|
217
|
+
this.threatValue = Math.max(0, Math.min(100, this.threatValue + delta));
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get the current threat level as a word.
|
|
221
|
+
*
|
|
222
|
+
* @returns The threat level word
|
|
223
|
+
*/
|
|
224
|
+
getThreat() {
|
|
225
|
+
return (0, character_vocabulary_1.valueToThreat)(this.threatValue);
|
|
226
|
+
}
|
|
227
|
+
// =========================================================================
|
|
228
|
+
// Knowledge
|
|
229
|
+
// =========================================================================
|
|
230
|
+
/**
|
|
231
|
+
* Add or update a fact in the NPC's knowledge base.
|
|
232
|
+
*
|
|
233
|
+
* @param topic - The topic this fact is about
|
|
234
|
+
* @param source - How the NPC learned this fact
|
|
235
|
+
* @param confidence - How confident the NPC is
|
|
236
|
+
* @param turn - The turn number when the fact was learned
|
|
237
|
+
*/
|
|
238
|
+
addFact(topic, source, confidence, turn) {
|
|
239
|
+
this.knowledge[topic] = { source, confidence, turnLearned: turn };
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Check whether the NPC knows about a topic.
|
|
243
|
+
*
|
|
244
|
+
* @param topic - The topic to check
|
|
245
|
+
* @returns True if the NPC has any fact about this topic
|
|
246
|
+
*/
|
|
247
|
+
knows(topic) {
|
|
248
|
+
return topic in this.knowledge;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Get a fact from the knowledge base.
|
|
252
|
+
*
|
|
253
|
+
* @param topic - The topic to query
|
|
254
|
+
* @returns The fact, or undefined if unknown
|
|
255
|
+
*/
|
|
256
|
+
getFact(topic) {
|
|
257
|
+
return this.knowledge[topic];
|
|
258
|
+
}
|
|
259
|
+
// =========================================================================
|
|
260
|
+
// Beliefs
|
|
261
|
+
// =========================================================================
|
|
262
|
+
/**
|
|
263
|
+
* Add or update a belief.
|
|
264
|
+
*
|
|
265
|
+
* @param topic - What the belief is about
|
|
266
|
+
* @param strength - How strongly held
|
|
267
|
+
* @param resistance - How resistant to counter-evidence
|
|
268
|
+
*/
|
|
269
|
+
addBelief(topic, strength, resistance = 'none') {
|
|
270
|
+
this.beliefs[topic] = { strength, resistance };
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Check whether the NPC holds a belief about a topic.
|
|
274
|
+
*
|
|
275
|
+
* @param topic - The topic to check
|
|
276
|
+
* @returns True if the NPC has a belief about this topic
|
|
277
|
+
*/
|
|
278
|
+
hasBelief(topic) {
|
|
279
|
+
return topic in this.beliefs;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Get a belief.
|
|
283
|
+
*
|
|
284
|
+
* @param topic - The topic to query
|
|
285
|
+
* @returns The belief, or undefined
|
|
286
|
+
*/
|
|
287
|
+
getBelief(topic) {
|
|
288
|
+
return this.beliefs[topic];
|
|
289
|
+
}
|
|
290
|
+
// =========================================================================
|
|
291
|
+
// Goals
|
|
292
|
+
// =========================================================================
|
|
293
|
+
/**
|
|
294
|
+
* Add a goal with priority. Higher priority = more important.
|
|
295
|
+
*
|
|
296
|
+
* @param id - Goal identifier
|
|
297
|
+
* @param priority - Numeric priority (higher = more important)
|
|
298
|
+
*/
|
|
299
|
+
addGoal(id, priority) {
|
|
300
|
+
const existing = this.goals.findIndex(g => g.id === id);
|
|
301
|
+
if (existing >= 0) {
|
|
302
|
+
this.goals[existing].priority = priority;
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
this.goals.push({ id, priority });
|
|
306
|
+
}
|
|
307
|
+
this.goals.sort((a, b) => b.priority - a.priority);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Remove a goal by id.
|
|
311
|
+
*
|
|
312
|
+
* @param id - Goal identifier to remove
|
|
313
|
+
*/
|
|
314
|
+
removeGoal(id) {
|
|
315
|
+
this.goals = this.goals.filter(g => g.id !== id);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get the highest-priority goal, or undefined if none.
|
|
319
|
+
*
|
|
320
|
+
* @returns The top goal, or undefined
|
|
321
|
+
*/
|
|
322
|
+
getTopGoal() {
|
|
323
|
+
return this.goals[0];
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Check whether the NPC has a specific goal.
|
|
327
|
+
*
|
|
328
|
+
* @param id - Goal identifier to check
|
|
329
|
+
* @returns True if the goal exists
|
|
330
|
+
*/
|
|
331
|
+
hasGoal(id) {
|
|
332
|
+
return this.goals.some(g => g.id === id);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Update the priority of an existing goal.
|
|
336
|
+
*
|
|
337
|
+
* @param id - Goal identifier
|
|
338
|
+
* @param priority - New priority value
|
|
339
|
+
*/
|
|
340
|
+
updateGoalPriority(id, priority) {
|
|
341
|
+
const goal = this.goals.find(g => g.id === id);
|
|
342
|
+
if (goal) {
|
|
343
|
+
goal.priority = priority;
|
|
344
|
+
this.goals.sort((a, b) => b.priority - a.priority);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
// =========================================================================
|
|
348
|
+
// Lucidity
|
|
349
|
+
// =========================================================================
|
|
350
|
+
/**
|
|
351
|
+
* Transition to a new lucidity state.
|
|
352
|
+
*
|
|
353
|
+
* @param state - The target lucidity state name
|
|
354
|
+
* @param windowTurns - How many turns this window lasts (-1 = indefinite)
|
|
355
|
+
*/
|
|
356
|
+
enterLucidityState(state, windowTurns = -1) {
|
|
357
|
+
this.currentLucidityState = state;
|
|
358
|
+
this.lucidityWindowTurns = windowTurns;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Decay the lucidity window by one turn. Returns to baseline when expired.
|
|
362
|
+
*
|
|
363
|
+
* @returns True if the window expired and baseline was restored
|
|
364
|
+
*/
|
|
365
|
+
decayLucidity() {
|
|
366
|
+
if (this.lucidityWindowTurns <= 0)
|
|
367
|
+
return false;
|
|
368
|
+
this.lucidityWindowTurns--;
|
|
369
|
+
if (this.lucidityWindowTurns === 0) {
|
|
370
|
+
this.currentLucidityState = this.lucidityConfig?.baseline ?? 'stable';
|
|
371
|
+
this.lucidityWindowTurns = -1;
|
|
372
|
+
return true;
|
|
373
|
+
}
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
// =========================================================================
|
|
377
|
+
// Predicates
|
|
378
|
+
// =========================================================================
|
|
379
|
+
/**
|
|
380
|
+
* Register a named predicate function.
|
|
381
|
+
*
|
|
382
|
+
* @param name - Predicate name (e.g., 'trusts player', 'threatened')
|
|
383
|
+
* @param fn - Function that evaluates against this trait's state
|
|
384
|
+
*/
|
|
385
|
+
registerPredicate(name, fn) {
|
|
386
|
+
this.predicates.set(name, fn);
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Evaluate a named predicate against current state.
|
|
390
|
+
* Supports 'not X' negation.
|
|
391
|
+
*
|
|
392
|
+
* @param predicate - The predicate name to evaluate
|
|
393
|
+
* @returns True if the predicate is satisfied
|
|
394
|
+
* @throws Error if the predicate is not registered
|
|
395
|
+
*/
|
|
396
|
+
evaluate(predicate) {
|
|
397
|
+
// Handle negation
|
|
398
|
+
if (predicate.startsWith('not ')) {
|
|
399
|
+
const inner = predicate.slice(4);
|
|
400
|
+
return !this.evaluate(inner);
|
|
401
|
+
}
|
|
402
|
+
const fn = this.predicates.get(predicate);
|
|
403
|
+
if (!fn) {
|
|
404
|
+
throw new Error(`Unknown character predicate: '${predicate}'`);
|
|
405
|
+
}
|
|
406
|
+
return fn(this);
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Check if a predicate is registered.
|
|
410
|
+
*
|
|
411
|
+
* @param name - Predicate name
|
|
412
|
+
* @returns True if registered
|
|
413
|
+
*/
|
|
414
|
+
hasPredicate(name) {
|
|
415
|
+
return this.predicates.has(name);
|
|
416
|
+
}
|
|
417
|
+
// =========================================================================
|
|
418
|
+
// Platform predicates
|
|
419
|
+
// =========================================================================
|
|
420
|
+
/** Register all built-in predicates defined by ADR-141. */
|
|
421
|
+
registerPlatformPredicates() {
|
|
422
|
+
// --- Disposition (parameterized) ---
|
|
423
|
+
this.registerPredicate('trusts player', (t) => t.getDispositionValue('player') > 50);
|
|
424
|
+
this.registerPredicate('dislikes player', (t) => t.getDispositionValue('player') < -30);
|
|
425
|
+
this.registerPredicate('likes player', (t) => t.getDispositionValue('player') > 30);
|
|
426
|
+
// --- Threat (>= thresholds match THREAT_VALUES so word and predicate align) ---
|
|
427
|
+
this.registerPredicate('safe', (t) => t.threatValue <= 10);
|
|
428
|
+
this.registerPredicate('threatened', (t) => t.threatValue >= character_vocabulary_1.THREAT_VALUES.threatened);
|
|
429
|
+
this.registerPredicate('cornered', (t) => t.threatValue >= character_vocabulary_1.THREAT_VALUES.cornered);
|
|
430
|
+
// --- Personality ---
|
|
431
|
+
this.registerPredicate('cowardly', (t) => t.getPersonality('cowardly') > 0.4);
|
|
432
|
+
this.registerPredicate('honest', (t) => t.getPersonality('honest') > 0.4);
|
|
433
|
+
this.registerPredicate('loyal', (t) => t.getPersonality('loyal') > 0.4);
|
|
434
|
+
this.registerPredicate('cunning', (t) => t.getPersonality('cunning') > 0.4);
|
|
435
|
+
this.registerPredicate('paranoid', (t) => t.getPersonality('paranoid') > 0.4);
|
|
436
|
+
this.registerPredicate('cruel', (t) => t.getPersonality('cruel') > 0.4);
|
|
437
|
+
this.registerPredicate('curious', (t) => t.getPersonality('curious') > 0.4);
|
|
438
|
+
this.registerPredicate('stubborn', (t) => t.getPersonality('stubborn') > 0.4);
|
|
439
|
+
this.registerPredicate('generous', (t) => t.getPersonality('generous') > 0.4);
|
|
440
|
+
this.registerPredicate('vain', (t) => t.getPersonality('vain') > 0.4);
|
|
441
|
+
this.registerPredicate('devout', (t) => t.getPersonality('devout') > 0.4);
|
|
442
|
+
this.registerPredicate('impulsive', (t) => t.getPersonality('impulsive') > 0.4);
|
|
443
|
+
// --- Mood ---
|
|
444
|
+
for (const mood of ['calm', 'content', 'cheerful', 'nervous', 'anxious', 'panicked',
|
|
445
|
+
'angry', 'furious', 'sad', 'grieving', 'suspicious', 'confused', 'resigned']) {
|
|
446
|
+
this.registerPredicate(mood, (t) => t.getMood() === mood);
|
|
447
|
+
}
|
|
448
|
+
// --- Cognitive state ---
|
|
449
|
+
this.registerPredicate('lucid', (t) => t.currentLucidityState === 'lucid' || t.currentLucidityState === 'stable');
|
|
450
|
+
this.registerPredicate('hallucinating', (t) => t.cognitiveProfile.perception === 'augmented' && t.currentLucidityState !== 'lucid');
|
|
451
|
+
this.registerPredicate('fragmented', (t) => t.cognitiveProfile.coherence === 'fragmented');
|
|
452
|
+
this.registerPredicate('dissociative', (t) => t.cognitiveProfile.selfModel === 'fractured');
|
|
453
|
+
this.registerPredicate('belief resistant', (t) => t.cognitiveProfile.beliefFormation === 'resistant');
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
exports.CharacterModelTrait = CharacterModelTrait;
|
|
457
|
+
//# sourceMappingURL=characterModelTrait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"characterModelTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/characterModelTrait.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrG,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CharacterModelTrait = void 0;
|
|
18
|
+
var characterModelTrait_1 = require("./characterModelTrait");
|
|
19
|
+
Object.defineProperty(exports, "CharacterModelTrait", { enumerable: true, get: function () { return characterModelTrait_1.CharacterModelTrait; } });
|
|
20
|
+
__exportStar(require("./character-vocabulary"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqG;AAA5F,0HAAA,mBAAmB,OAAA;AAC5B,yDAAuC"}
|
|
@@ -34,6 +34,7 @@ import { CombatantTrait } from './combatant/combatantTrait';
|
|
|
34
34
|
import { EquippedTrait } from './equipped/equippedTrait';
|
|
35
35
|
import { NpcTrait } from './npc/npcTrait';
|
|
36
36
|
import { OpenInventoryTrait } from './open-inventory/openInventoryTrait';
|
|
37
|
+
import { CharacterModelTrait } from './character-model/characterModelTrait';
|
|
37
38
|
import { VehicleTrait } from './vehicle/vehicleTrait';
|
|
38
39
|
import { EnterableTrait } from './enterable/enterableTrait';
|
|
39
40
|
import { StoryInfoTrait } from './story-info/storyInfoTrait';
|
|
@@ -49,5 +50,5 @@ export declare function getTraitImplementation(type: TraitType): ITraitConstruct
|
|
|
49
50
|
* Create trait instance by type
|
|
50
51
|
*/
|
|
51
52
|
export declare function createTrait(type: TraitType, data?: any): InstanceType<ITraitConstructor>;
|
|
52
|
-
export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, OpenInventoryTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
|
|
53
|
+
export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, OpenInventoryTrait, CharacterModelTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
|
|
53
54
|
//# sourceMappingURL=implementations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,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,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,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;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Maps trait types to their implementation classes
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.OpenInventoryTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
|
|
8
|
+
exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.CharacterModelTrait = exports.OpenInventoryTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
|
|
9
9
|
exports.getTraitImplementation = getTraitImplementation;
|
|
10
10
|
exports.createTrait = createTrait;
|
|
11
11
|
const trait_types_1 = require("./trait-types");
|
|
@@ -74,6 +74,9 @@ const npcTrait_1 = require("./npc/npcTrait");
|
|
|
74
74
|
Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
|
|
75
75
|
const openInventoryTrait_1 = require("./open-inventory/openInventoryTrait");
|
|
76
76
|
Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
|
|
77
|
+
// Character model (ADR-141)
|
|
78
|
+
const characterModelTrait_1 = require("./character-model/characterModelTrait");
|
|
79
|
+
Object.defineProperty(exports, "CharacterModelTrait", { enumerable: true, get: function () { return characterModelTrait_1.CharacterModelTrait; } });
|
|
77
80
|
// Transport traits
|
|
78
81
|
const vehicleTrait_1 = require("./vehicle/vehicleTrait");
|
|
79
82
|
Object.defineProperty(exports, "VehicleTrait", { enumerable: true, get: function () { return vehicleTrait_1.VehicleTrait; } });
|
|
@@ -123,6 +126,8 @@ exports.TRAIT_IMPLEMENTATIONS = {
|
|
|
123
126
|
// NPC traits (ADR-070)
|
|
124
127
|
[trait_types_1.TraitType.NPC]: npcTrait_1.NpcTrait,
|
|
125
128
|
[trait_types_1.TraitType.OPEN_INVENTORY]: openInventoryTrait_1.OpenInventoryTrait,
|
|
129
|
+
// Character model (ADR-141)
|
|
130
|
+
[trait_types_1.TraitType.CHARACTER_MODEL]: characterModelTrait_1.CharacterModelTrait,
|
|
126
131
|
// Transport traits
|
|
127
132
|
[trait_types_1.TraitType.VEHICLE]: vehicleTrait_1.VehicleTrait,
|
|
128
133
|
[trait_types_1.TraitType.ENTERABLE]: enterableTrait_1.EnterableTrait,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
|
package/traits/index.d.ts
CHANGED
package/traits/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
|
package/traits/index.js
CHANGED
|
@@ -56,6 +56,8 @@ __exportStar(require("./enterable"), exports);
|
|
|
56
56
|
// NPC traits
|
|
57
57
|
__exportStar(require("./npc"), exports);
|
|
58
58
|
__exportStar(require("./open-inventory"), exports);
|
|
59
|
+
// Character model (ADR-141)
|
|
60
|
+
__exportStar(require("./character-model"), exports);
|
|
59
61
|
// System traits
|
|
60
62
|
__exportStar(require("./story-info"), exports);
|
|
61
63
|
// Register function
|
package/traits/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;AACtB,mDAAiC;AAEjC,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;AACtB,mDAAiC;AAEjC,4BAA4B;AAC5B,oDAAkC;AAElC,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
|
package/traits/trait-types.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare const TraitType: {
|
|
|
36
36
|
readonly EQUIPPED: "equipped";
|
|
37
37
|
readonly NPC: "npc";
|
|
38
38
|
readonly OPEN_INVENTORY: "openInventory";
|
|
39
|
+
readonly CHARACTER_MODEL: "characterModel";
|
|
39
40
|
readonly VEHICLE: "vehicle";
|
|
40
41
|
readonly ENTERABLE: "enterable";
|
|
41
42
|
readonly STORY_INFO: "storyInfo";
|