qnce-engine 0.1.0 → 1.2.0

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.
Files changed (53) hide show
  1. package/README.md +248 -0
  2. package/dist/cli/audit.js +6 -4
  3. package/dist/cli/audit.js.map +1 -1
  4. package/dist/cli/init.js +11 -9
  5. package/dist/cli/init.js.map +1 -1
  6. package/dist/cli/perf.d.ts +30 -0
  7. package/dist/cli/perf.d.ts.map +1 -0
  8. package/dist/cli/perf.js +219 -0
  9. package/dist/cli/perf.js.map +1 -0
  10. package/dist/engine/core.d.ts +104 -8
  11. package/dist/engine/core.d.ts.map +1 -1
  12. package/dist/engine/core.js +288 -7
  13. package/dist/engine/core.js.map +1 -1
  14. package/dist/engine/demo-story.js +4 -1
  15. package/dist/engine/demo-story.js.map +1 -1
  16. package/dist/index.js +24 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/narrative/branching/engine-simple.d.ts +84 -0
  19. package/dist/narrative/branching/engine-simple.d.ts.map +1 -0
  20. package/dist/narrative/branching/engine-simple.js +349 -0
  21. package/dist/narrative/branching/engine-simple.js.map +1 -0
  22. package/dist/narrative/branching/index.d.ts +12 -0
  23. package/dist/narrative/branching/index.d.ts.map +1 -0
  24. package/dist/narrative/branching/index.js +56 -0
  25. package/dist/narrative/branching/index.js.map +1 -0
  26. package/dist/narrative/branching/models.d.ts +223 -0
  27. package/dist/narrative/branching/models.d.ts.map +1 -0
  28. package/dist/narrative/branching/models.js +6 -0
  29. package/dist/narrative/branching/models.js.map +1 -0
  30. package/dist/performance/HotReloadDelta.d.ts +107 -0
  31. package/dist/performance/HotReloadDelta.d.ts.map +1 -0
  32. package/dist/performance/HotReloadDelta.js +333 -0
  33. package/dist/performance/HotReloadDelta.js.map +1 -0
  34. package/dist/performance/ObjectPool.d.ts +150 -0
  35. package/dist/performance/ObjectPool.d.ts.map +1 -0
  36. package/dist/performance/ObjectPool.js +297 -0
  37. package/dist/performance/ObjectPool.js.map +1 -0
  38. package/dist/performance/PerfReporter.d.ts +123 -0
  39. package/dist/performance/PerfReporter.d.ts.map +1 -0
  40. package/dist/performance/PerfReporter.js +281 -0
  41. package/dist/performance/PerfReporter.js.map +1 -0
  42. package/dist/performance/ThreadPool.d.ts +107 -0
  43. package/dist/performance/ThreadPool.d.ts.map +1 -0
  44. package/dist/performance/ThreadPool.js +348 -0
  45. package/dist/performance/ThreadPool.js.map +1 -0
  46. package/docs/PERFORMANCE.md +355 -0
  47. package/docs/branching/ERD.md +214 -0
  48. package/docs/branching/PDM.md +443 -0
  49. package/docs/branching/RELEASE-v1.2.0.md +169 -0
  50. package/examples/branching-advanced-demo.ts +339 -0
  51. package/examples/branching-quickstart.ts +314 -0
  52. package/examples/quickstart-demo.js +82 -0
  53. package/package.json +21 -8
@@ -1,7 +1,10 @@
1
+ import { ThreadPoolConfig } from '../performance/ThreadPool';
2
+ import { QNCEBranchingEngine } from '../narrative/branching';
3
+ import { QNCEStory } from '../narrative/branching/models';
1
4
  export interface Choice {
2
5
  text: string;
3
6
  nextNodeId: string;
4
- flagEffects?: Record<string, any>;
7
+ flagEffects?: Record<string, unknown>;
5
8
  }
6
9
  export interface NarrativeNode {
7
10
  id: string;
@@ -10,37 +13,130 @@ export interface NarrativeNode {
10
13
  }
11
14
  export interface QNCEState {
12
15
  currentNodeId: string;
13
- flags: Record<string, any>;
16
+ flags: Record<string, unknown>;
14
17
  history: string[];
15
18
  }
19
+ export interface FlowEvent {
20
+ id: string;
21
+ fromNodeId: string;
22
+ toNodeId: string;
23
+ timestamp: number;
24
+ metadata?: Record<string, unknown>;
25
+ }
16
26
  export interface StoryData {
17
27
  nodes: NarrativeNode[];
18
28
  initialNodeId: string;
19
29
  }
20
30
  /**
21
31
  * QNCE Engine - Core narrative state management
22
- * Framework agnostic implementation
32
+ * Framework agnostic implementation with object pooling integration
23
33
  */
24
34
  export declare class QNCEEngine {
25
35
  private state;
26
36
  private storyData;
27
- constructor(storyData: StoryData, initialState?: Partial<QNCEState>);
37
+ private activeFlowEvents;
38
+ private performanceMode;
39
+ private enableProfiling;
40
+ private branchingEngine?;
41
+ constructor(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean, threadPoolConfig?: Partial<ThreadPoolConfig>);
28
42
  getCurrentNode(): NarrativeNode;
29
43
  getState(): QNCEState;
30
- getFlags(): Record<string, any>;
44
+ getFlags(): Record<string, unknown>;
31
45
  getHistory(): string[];
32
46
  selectChoice(choice: Choice): void;
33
47
  resetNarrative(): void;
34
48
  loadState(state: QNCEState): void;
35
- checkFlag(flagName: string, expectedValue?: any): boolean;
49
+ checkFlag(flagName: string, expectedValue?: unknown): boolean;
36
50
  getAvailableChoices(): Choice[];
51
+ /**
52
+ * Create a flow event using pooled objects for performance tracking
53
+ */
54
+ private createFlowEvent;
55
+ /**
56
+ * Record and manage flow events
57
+ */
58
+ private recordFlowEvent;
59
+ /**
60
+ * Get current flow events (for debugging/monitoring)
61
+ */
62
+ getActiveFlows(): FlowEvent[];
63
+ /**
64
+ * Get object pool statistics for performance monitoring
65
+ */
66
+ getPoolStats(): {
67
+ flows: {
68
+ poolSize: number;
69
+ maxSize: number;
70
+ created: number;
71
+ borrowed: number;
72
+ returned: number;
73
+ inUse: number;
74
+ hitRate: number;
75
+ };
76
+ nodes: {
77
+ poolSize: number;
78
+ maxSize: number;
79
+ created: number;
80
+ borrowed: number;
81
+ returned: number;
82
+ inUse: number;
83
+ hitRate: number;
84
+ };
85
+ assets: {
86
+ poolSize: number;
87
+ maxSize: number;
88
+ created: number;
89
+ borrowed: number;
90
+ returned: number;
91
+ inUse: number;
92
+ hitRate: number;
93
+ };
94
+ } | null;
95
+ /**
96
+ * Return all pooled objects (cleanup method)
97
+ */
98
+ private cleanupPools;
99
+ /**
100
+ * Preload next possible nodes in background using ThreadPool
101
+ */
102
+ preloadNextNodes(choice?: Choice): Promise<void>;
103
+ /**
104
+ * Write telemetry data in background using ThreadPool
105
+ */
106
+ backgroundTelemetryWrite(eventData: Record<string, unknown>): Promise<void>;
107
+ /**
108
+ * Enable advanced branching capabilities for this story
109
+ * Integrates the QNCE Branching API with the core engine
110
+ */
111
+ enableBranching(story: QNCEStory): QNCEBranchingEngine;
112
+ /**
113
+ * Get the branching engine if enabled
114
+ */
115
+ getBranchingEngine(): QNCEBranchingEngine | undefined;
116
+ /**
117
+ * Check if branching is enabled
118
+ */
119
+ isBranchingEnabled(): boolean;
120
+ /**
121
+ * Sync core engine state with branching engine
122
+ * Call this when core state changes to keep branching engine updated
123
+ */
124
+ syncBranchingState(): void;
125
+ /**
126
+ * Disable branching and cleanup resources
127
+ */
128
+ disableBranching(): void;
129
+ /**
130
+ * Background cache warming for story data
131
+ */
132
+ warmCache(): Promise<void>;
37
133
  }
38
134
  /**
39
135
  * Factory function to create a QNCE engine instance
40
136
  */
41
- export declare function createQNCEEngine(storyData: StoryData, initialState?: Partial<QNCEState>): QNCEEngine;
137
+ export declare function createQNCEEngine(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean): QNCEEngine;
42
138
  /**
43
139
  * Load story data from JSON
44
140
  */
45
- export declare function loadStoryData(jsonData: any): StoryData;
141
+ export declare function loadStoryData(jsonData: unknown): StoryData;
46
142
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAUD;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IASnE,cAAc,IAAI,aAAa;IAI/B,QAAQ,IAAI,SAAS;IAIrB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/B,UAAU,IAAI,MAAM,EAAE;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASlC,cAAc,IAAI,IAAI;IAMtB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,OAAO;IAQzD,mBAAmB,IAAI,MAAM,EAAE;CAOhC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAEpG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,CAGtD"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
+ "use strict";
1
2
  // QNCE Core Engine - Framework Agnostic
2
3
  // Quantum Narrative Convergence Engine
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.QNCEEngine = void 0;
6
+ exports.createQNCEEngine = createQNCEEngine;
7
+ exports.loadStoryData = loadStoryData;
8
+ const ObjectPool_1 = require("../performance/ObjectPool");
9
+ const ThreadPool_1 = require("../performance/ThreadPool");
10
+ const PerfReporter_1 = require("../performance/PerfReporter");
11
+ // Branching system imports
12
+ const branching_1 = require("../narrative/branching");
3
13
  // Demo narrative data moved to demo-story.ts
4
14
  function findNode(nodes, id) {
5
15
  const node = nodes.find(n => n.id === id);
@@ -9,13 +19,23 @@ function findNode(nodes, id) {
9
19
  }
10
20
  /**
11
21
  * QNCE Engine - Core narrative state management
12
- * Framework agnostic implementation
22
+ * Framework agnostic implementation with object pooling integration
13
23
  */
14
- export class QNCEEngine {
24
+ class QNCEEngine {
15
25
  state;
16
26
  storyData;
17
- constructor(storyData, initialState) {
27
+ activeFlowEvents = [];
28
+ performanceMode = false;
29
+ enableProfiling = false;
30
+ branchingEngine;
31
+ constructor(storyData, initialState, performanceMode = false, threadPoolConfig) {
18
32
  this.storyData = storyData;
33
+ this.performanceMode = performanceMode;
34
+ this.enableProfiling = performanceMode; // Enable profiling with performance mode
35
+ // Initialize ThreadPool if in performance mode
36
+ if (this.performanceMode && threadPoolConfig) {
37
+ (0, ThreadPool_1.getThreadPool)(threadPoolConfig);
38
+ }
19
39
  this.state = {
20
40
  currentNodeId: initialState?.currentNodeId || storyData.initialNodeId,
21
41
  flags: initialState?.flags || {},
@@ -23,6 +43,25 @@ export class QNCEEngine {
23
43
  };
24
44
  }
25
45
  getCurrentNode() {
46
+ const cacheKey = `node-${this.state.currentNodeId}`;
47
+ // Profiling: Record cache operation
48
+ if (this.enableProfiling) {
49
+ const found = findNode(this.storyData.nodes, this.state.currentNodeId);
50
+ PerfReporter_1.perf.cacheHit(cacheKey, { nodeId: this.state.currentNodeId });
51
+ return found;
52
+ }
53
+ if (this.performanceMode) {
54
+ // Use pooled node for enhanced node data
55
+ const pooledNode = ObjectPool_1.poolManager.borrowNode();
56
+ const coreNode = findNode(this.storyData.nodes, this.state.currentNodeId);
57
+ pooledNode.initialize(coreNode.id, coreNode.text, coreNode.choices);
58
+ // Return the pooled node (caller should return it when done)
59
+ return {
60
+ id: pooledNode.id,
61
+ text: pooledNode.text,
62
+ choices: pooledNode.choices
63
+ };
64
+ }
26
65
  return findNode(this.storyData.nodes, this.state.currentNodeId);
27
66
  }
28
67
  getState() {
@@ -35,13 +74,72 @@ export class QNCEEngine {
35
74
  return [...this.state.history];
36
75
  }
37
76
  selectChoice(choice) {
77
+ // S2-T4: Add state transition profiling
78
+ const transitionSpanId = this.enableProfiling
79
+ ? (0, PerfReporter_1.getPerfReporter)().startSpan('state-transition', {
80
+ fromNodeId: this.state.currentNodeId,
81
+ toNodeId: choice.nextNodeId,
82
+ hasEffects: !!choice.flagEffects
83
+ })
84
+ : null;
85
+ const fromNodeId = this.state.currentNodeId;
86
+ const toNodeId = choice.nextNodeId;
87
+ // Create flow event for tracking narrative progression
88
+ if (this.performanceMode) {
89
+ const flowSpanId = this.enableProfiling
90
+ ? PerfReporter_1.perf.flowStart(fromNodeId, { toNodeId })
91
+ : null;
92
+ const flowEvent = this.createFlowEvent(fromNodeId, toNodeId, choice.flagEffects);
93
+ this.recordFlowEvent(flowEvent);
94
+ // Return the flow immediately after recording (we don't need to keep it)
95
+ // This ensures proper pool recycling
96
+ ObjectPool_1.poolManager.returnFlow(flowEvent);
97
+ if (flowSpanId) {
98
+ PerfReporter_1.perf.flowComplete(flowSpanId, toNodeId, { transitionType: 'choice' });
99
+ }
100
+ }
38
101
  this.state.currentNodeId = choice.nextNodeId;
39
102
  this.state.history.push(choice.nextNodeId);
40
103
  if (choice.flagEffects) {
41
104
  this.state.flags = { ...this.state.flags, ...choice.flagEffects };
105
+ // S2-T4: Track flag updates
106
+ if (this.enableProfiling) {
107
+ PerfReporter_1.perf.record('custom', {
108
+ flagCount: Object.keys(choice.flagEffects).length,
109
+ nodeId: toNodeId,
110
+ eventType: 'flag-update'
111
+ });
112
+ }
113
+ }
114
+ // Complete state transition span
115
+ if (transitionSpanId) {
116
+ (0, PerfReporter_1.getPerfReporter)().endSpan(transitionSpanId, {
117
+ historyLength: this.state.history.length,
118
+ flagCount: Object.keys(this.state.flags).length
119
+ });
120
+ }
121
+ // S2-T2: Background operations after state change
122
+ if (this.performanceMode) {
123
+ // Preload next possible nodes in background
124
+ this.preloadNextNodes().catch(error => {
125
+ console.warn('[QNCE] Background preload failed:', error.message);
126
+ });
127
+ // Write telemetry data in background
128
+ this.backgroundTelemetryWrite({
129
+ action: 'choice-selected',
130
+ fromNodeId,
131
+ toNodeId,
132
+ choiceText: choice.text.slice(0, 50) // First 50 chars for privacy
133
+ }).catch(error => {
134
+ console.warn('[QNCE] Background telemetry failed:', error.message);
135
+ });
42
136
  }
43
137
  }
44
138
  resetNarrative() {
139
+ // Clean up pooled objects before reset
140
+ if (this.performanceMode) {
141
+ this.cleanupPools();
142
+ }
45
143
  this.state.currentNodeId = this.storyData.initialNodeId;
46
144
  this.state.flags = {};
47
145
  this.state.history = [this.storyData.initialNodeId];
@@ -59,22 +157,205 @@ export class QNCEEngine {
59
157
  // Get available choices (with potential flag-based filtering)
60
158
  getAvailableChoices() {
61
159
  const currentNode = this.getCurrentNode();
62
- return currentNode.choices.filter(choice => {
160
+ return currentNode.choices.filter(() => {
63
161
  // Future: Add flag-based choice filtering logic here
64
162
  return true;
65
163
  });
66
164
  }
165
+ // Performance and object pooling methods
166
+ /**
167
+ * Create a flow event using pooled objects for performance tracking
168
+ */
169
+ createFlowEvent(fromNodeId, toNodeId, metadata) {
170
+ const flow = ObjectPool_1.poolManager.borrowFlow();
171
+ flow.initialize(fromNodeId, metadata);
172
+ flow.addTransition(fromNodeId, toNodeId);
173
+ return flow;
174
+ }
175
+ /**
176
+ * Record and manage flow events
177
+ */
178
+ recordFlowEvent(flow) {
179
+ const flowEvent = {
180
+ id: `${flow.nodeId}-${Date.now()}`,
181
+ fromNodeId: flow.nodeId,
182
+ toNodeId: flow.transitions[flow.transitions.length - 1]?.split('->')[1] || '',
183
+ timestamp: flow.timestamp,
184
+ metadata: flow.metadata
185
+ };
186
+ this.activeFlowEvents.push(flowEvent);
187
+ // Clean up old flow events (basic LRU-style cleanup)
188
+ if (this.activeFlowEvents.length > 10) {
189
+ this.activeFlowEvents.shift(); // Remove oldest
190
+ }
191
+ }
192
+ /**
193
+ * Get current flow events (for debugging/monitoring)
194
+ */
195
+ getActiveFlows() {
196
+ return [...this.activeFlowEvents];
197
+ }
198
+ /**
199
+ * Get object pool statistics for performance monitoring
200
+ */
201
+ getPoolStats() {
202
+ return this.performanceMode ? ObjectPool_1.poolManager.getAllStats() : null;
203
+ }
204
+ /**
205
+ * Return all pooled objects (cleanup method)
206
+ */
207
+ cleanupPools() {
208
+ // Clear flow events (no pooled objects to return since we return them immediately)
209
+ this.activeFlowEvents.length = 0;
210
+ }
211
+ // S2-T2: Background ThreadPool Operations
212
+ /**
213
+ * Preload next possible nodes in background using ThreadPool
214
+ */
215
+ async preloadNextNodes(choice) {
216
+ if (!this.performanceMode)
217
+ return;
218
+ const threadPool = (0, ThreadPool_1.getThreadPool)();
219
+ const currentNode = this.getCurrentNode();
220
+ const choicesToPreload = choice ? [choice] : currentNode.choices;
221
+ // Submit background jobs for each node to preload
222
+ for (const ch of choicesToPreload) {
223
+ threadPool.submitJob('cache-load', { nodeId: ch.nextNodeId }, 'normal').catch(error => {
224
+ if (this.enableProfiling) {
225
+ PerfReporter_1.perf.record('cache-miss', {
226
+ nodeId: ch.nextNodeId,
227
+ error: error.message,
228
+ jobType: 'preload'
229
+ });
230
+ }
231
+ });
232
+ }
233
+ }
234
+ /**
235
+ * Write telemetry data in background using ThreadPool
236
+ */
237
+ async backgroundTelemetryWrite(eventData) {
238
+ if (!this.performanceMode || !this.enableProfiling)
239
+ return;
240
+ const threadPool = (0, ThreadPool_1.getThreadPool)();
241
+ const telemetryData = {
242
+ timestamp: performance.now(),
243
+ sessionId: this.state.history[0], // Use first node as session ID
244
+ eventData,
245
+ stateSnapshot: {
246
+ nodeId: this.state.currentNodeId,
247
+ flagCount: Object.keys(this.state.flags).length,
248
+ historyLength: this.state.history.length
249
+ }
250
+ };
251
+ threadPool.submitJob('telemetry-write', telemetryData, 'low').catch(error => {
252
+ console.warn('[QNCE] Telemetry write failed:', error.message);
253
+ });
254
+ }
255
+ // ================================
256
+ // Sprint #3: Advanced Branching System Integration
257
+ // ================================
258
+ /**
259
+ * Enable advanced branching capabilities for this story
260
+ * Integrates the QNCE Branching API with the core engine
261
+ */
262
+ enableBranching(story) {
263
+ if (this.branchingEngine) {
264
+ console.warn('[QNCE] Branching already enabled for this engine instance');
265
+ return this.branchingEngine;
266
+ }
267
+ // Create branching engine with current state
268
+ this.branchingEngine = (0, branching_1.createBranchingEngine)(story, this.state);
269
+ if (this.enableProfiling) {
270
+ PerfReporter_1.perf.record('custom', {
271
+ eventType: 'branching-enabled',
272
+ storyId: story.id,
273
+ chapterCount: story.chapters.length,
274
+ performanceMode: this.performanceMode
275
+ });
276
+ }
277
+ return this.branchingEngine;
278
+ }
279
+ /**
280
+ * Get the branching engine if enabled
281
+ */
282
+ getBranchingEngine() {
283
+ return this.branchingEngine;
284
+ }
285
+ /**
286
+ * Check if branching is enabled
287
+ */
288
+ isBranchingEnabled() {
289
+ return !!this.branchingEngine;
290
+ }
291
+ /**
292
+ * Sync core engine state with branching engine
293
+ * Call this when core state changes to keep branching engine updated
294
+ */
295
+ syncBranchingState() {
296
+ if (this.branchingEngine) {
297
+ // The branching engine maintains its own state copy
298
+ // This method could be extended to sync state changes
299
+ if (this.enableProfiling) {
300
+ PerfReporter_1.perf.record('custom', {
301
+ eventType: 'branching-state-synced',
302
+ currentNodeId: this.state.currentNodeId
303
+ });
304
+ }
305
+ }
306
+ }
307
+ /**
308
+ * Disable branching and cleanup resources
309
+ */
310
+ disableBranching() {
311
+ if (this.branchingEngine) {
312
+ this.branchingEngine = undefined;
313
+ if (this.enableProfiling) {
314
+ PerfReporter_1.perf.record('custom', {
315
+ eventType: 'branching-disabled'
316
+ });
317
+ }
318
+ }
319
+ }
320
+ /**
321
+ * Background cache warming for story data
322
+ */
323
+ async warmCache() {
324
+ if (!this.performanceMode)
325
+ return;
326
+ const threadPool = (0, ThreadPool_1.getThreadPool)();
327
+ // Cache all nodes in background
328
+ const cacheWarmData = {
329
+ nodeIds: this.storyData.nodes.map(n => n.id),
330
+ storyId: this.storyData.initialNodeId
331
+ };
332
+ if (this.enableProfiling) {
333
+ PerfReporter_1.perf.record('custom', {
334
+ eventType: 'cache-warm-start',
335
+ nodeCount: this.storyData.nodes.length
336
+ });
337
+ }
338
+ threadPool.submitJob('cache-load', cacheWarmData, 'low').catch(error => {
339
+ if (this.enableProfiling) {
340
+ PerfReporter_1.perf.record('custom', {
341
+ eventType: 'cache-warm-failed',
342
+ error: error.message
343
+ });
344
+ }
345
+ });
346
+ }
67
347
  }
348
+ exports.QNCEEngine = QNCEEngine;
68
349
  /**
69
350
  * Factory function to create a QNCE engine instance
70
351
  */
71
- export function createQNCEEngine(storyData, initialState) {
72
- return new QNCEEngine(storyData, initialState);
352
+ function createQNCEEngine(storyData, initialState, performanceMode = false) {
353
+ return new QNCEEngine(storyData, initialState, performanceMode);
73
354
  }
74
355
  /**
75
356
  * Load story data from JSON
76
357
  */
77
- export function loadStoryData(jsonData) {
358
+ function loadStoryData(jsonData) {
78
359
  // Add validation here in the future
79
360
  return jsonData;
80
361
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEMO_STORY = void 0;
1
4
  // Demo narrative data for QNCE Engine
2
- export const DEMO_STORY = {
5
+ exports.DEMO_STORY = {
3
6
  initialNodeId: 'start',
4
7
  nodes: [
5
8
  {
@@ -1 +1 @@
1
- {"version":3,"file":"demo-story.js","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-story.js","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,27 @@
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.loadStoryData = exports.createQNCEEngine = exports.QNCEEngine = exports.DEMO_STORY = void 0;
1
18
  // QNCE Engine - Main Export
2
- export * from './engine/core.js';
3
- export { DEMO_STORY } from './engine/demo-story.js';
19
+ __exportStar(require("./engine/core.js"), exports);
20
+ var demo_story_js_1 = require("./engine/demo-story.js");
21
+ Object.defineProperty(exports, "DEMO_STORY", { enumerable: true, get: function () { return demo_story_js_1.DEMO_STORY; } });
4
22
  // Re-export for convenience
5
- export { QNCEEngine, createQNCEEngine, loadStoryData } from './engine/core.js';
23
+ var core_js_1 = require("./engine/core.js");
24
+ Object.defineProperty(exports, "QNCEEngine", { enumerable: true, get: function () { return core_js_1.QNCEEngine; } });
25
+ Object.defineProperty(exports, "createQNCEEngine", { enumerable: true, get: function () { return core_js_1.createQNCEEngine; } });
26
+ Object.defineProperty(exports, "loadStoryData", { enumerable: true, get: function () { return core_js_1.loadStoryData; } });
6
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,4BAA4B;AAC5B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EAKd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,mDAAiC;AACjC,wDAAoD;AAA3C,2GAAA,UAAU,OAAA;AAEnB,4BAA4B;AAC5B,4CAQ0B;AAPxB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,wGAAA,aAAa,OAAA"}