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
@@ -0,0 +1,84 @@
1
+ import { QNCEStory, BranchOption, DynamicBranchOperation, BranchHistoryEntry, AIBranchingContext } from './models';
2
+ import { QNCEState } from '../../engine/core';
3
+ /**
4
+ * QNCE Branching Engine - Core API for dynamic narrative branching
5
+ * Simplified implementation focusing on core functionality
6
+ */
7
+ export declare class QNCEBranchingEngine {
8
+ private story;
9
+ private context;
10
+ private aiContext?;
11
+ constructor(story: QNCEStory, initialState: QNCEState);
12
+ /**
13
+ * Evaluate available branches from current position
14
+ */
15
+ evaluateAvailableBranches(): Promise<BranchOption[]>;
16
+ /**
17
+ * Execute a branch transition
18
+ */
19
+ executeBranch(optionId: string): Promise<boolean>;
20
+ /**
21
+ * Dynamic branch insertion at runtime
22
+ */
23
+ insertDynamicBranch(operation: DynamicBranchOperation): Promise<boolean>;
24
+ /**
25
+ * Remove dynamic branch
26
+ */
27
+ removeDynamicBranch(branchId: string): Promise<boolean>;
28
+ /**
29
+ * Set AI context for enhanced branching decisions
30
+ */
31
+ setAIContext(aiContext: AIBranchingContext): void;
32
+ /**
33
+ * Generate AI-driven branch options
34
+ */
35
+ generateAIBranches(maxOptions?: number): Promise<BranchOption[]>;
36
+ /**
37
+ * Get current branching analytics
38
+ */
39
+ getBranchingAnalytics(): {
40
+ currentChapter: string;
41
+ currentFlow: string;
42
+ historyLength: number;
43
+ pendingBranches: number;
44
+ totalBranchesTraversed: number;
45
+ avgBranchDecisionTime: number;
46
+ mostPopularBranches: string[];
47
+ abandonmentPoints: string[];
48
+ completionRate: number;
49
+ sessionStartTime: Date;
50
+ };
51
+ /**
52
+ * Export branching data for external analysis
53
+ */
54
+ exportBranchingData(): {
55
+ story: {
56
+ id: string;
57
+ title: string;
58
+ version: string;
59
+ };
60
+ session: {
61
+ startTime: Date;
62
+ currentState: QNCEState;
63
+ branchHistory: BranchHistoryEntry[];
64
+ analytics: import("./models").BranchAnalytics;
65
+ };
66
+ };
67
+ private createBranchContext;
68
+ private getCurrentNode;
69
+ private findBranchPointsForNode;
70
+ private evaluateConditions;
71
+ private evaluateCondition;
72
+ private findBranchOption;
73
+ private findFlow;
74
+ private findChapter;
75
+ private transitionToFlow;
76
+ private recordBranchHistory;
77
+ private updateBranchAnalytics;
78
+ }
79
+ /**
80
+ * Factory function for creating branching engines
81
+ */
82
+ export declare function createBranchingEngine(story: QNCEStory, initialState: QNCEState): QNCEBranchingEngine;
83
+ export { QNCEBranchingEngine as default };
84
+ //# sourceMappingURL=engine-simple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-simple.d.ts","sourceRoot":"","sources":["../../../src/narrative/branching/engine-simple.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAKT,YAAY,EAEZ,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAiB,MAAM,mBAAmB,CAAC;AAE7D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAqB;gBAE3B,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS;IASrD;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwB1D;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BvD;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC9E;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe7D;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;OAEG;IACG,kBAAkB,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkCjE;;OAEG;IACH,qBAAqB;;;;;;;;;;;;IAUrB;;OAEG;IACH,mBAAmB;;;;;;;;;;;;;IAoBnB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,uBAAuB;YAMjB,kBAAkB;YASlB,iBAAiB;YA6BjB,gBAAgB;IAY9B,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;YAIL,gBAAgB;IAiC9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;CAmB9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,SAAS,GACtB,mBAAmB,CAErB;AAGD,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ // QNCE Branching API - Simplified Runtime Implementation
3
+ // Sprint #3 - Advanced Narrative & AI Integration
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.default = exports.QNCEBranchingEngine = void 0;
6
+ exports.createBranchingEngine = createBranchingEngine;
7
+ /**
8
+ * QNCE Branching Engine - Core API for dynamic narrative branching
9
+ * Simplified implementation focusing on core functionality
10
+ */
11
+ class QNCEBranchingEngine {
12
+ story;
13
+ context;
14
+ aiContext;
15
+ constructor(story, initialState) {
16
+ this.story = story;
17
+ this.context = this.createBranchContext(story, initialState);
18
+ }
19
+ // ================================
20
+ // Core Branching Operations
21
+ // ================================
22
+ /**
23
+ * Evaluate available branches from current position
24
+ */
25
+ async evaluateAvailableBranches() {
26
+ const currentNode = this.getCurrentNode();
27
+ const availableBranches = this.findBranchPointsForNode(this.context.currentFlow.id, currentNode.id);
28
+ const validOptions = [];
29
+ for (const branchPoint of availableBranches) {
30
+ // Evaluate branch point conditions
31
+ if (await this.evaluateConditions(branchPoint.conditions || [])) {
32
+ // Evaluate individual option conditions
33
+ for (const option of branchPoint.branchOptions) {
34
+ if (await this.evaluateConditions(option.conditions || [])) {
35
+ validOptions.push(option);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ return validOptions;
41
+ }
42
+ /**
43
+ * Execute a branch transition
44
+ */
45
+ async executeBranch(optionId) {
46
+ const option = await this.findBranchOption(optionId);
47
+ if (!option) {
48
+ throw new Error(`Branch option not found: ${optionId}`);
49
+ }
50
+ // Apply flag effects
51
+ if (option.flagEffects) {
52
+ Object.assign(this.context.activeState.flags, option.flagEffects);
53
+ }
54
+ // Execute flow transition
55
+ const targetFlow = this.findFlow(option.targetFlowId);
56
+ if (!targetFlow) {
57
+ throw new Error(`Target flow not found: ${option.targetFlowId}`);
58
+ }
59
+ const success = await this.transitionToFlow(targetFlow, option.targetNodeId);
60
+ if (success) {
61
+ // Record branch execution in history
62
+ this.recordBranchHistory(optionId, option);
63
+ // Update analytics
64
+ this.updateBranchAnalytics(optionId);
65
+ }
66
+ return success;
67
+ }
68
+ /**
69
+ * Dynamic branch insertion at runtime
70
+ */
71
+ async insertDynamicBranch(operation) {
72
+ // Validate operation conditions
73
+ if (operation.conditions && !await this.evaluateConditions(operation.conditions)) {
74
+ return false;
75
+ }
76
+ // Find target location
77
+ const chapter = this.findChapter(operation.targetLocation.chapterId);
78
+ if (!chapter) {
79
+ throw new Error(`Chapter not found: ${operation.targetLocation.chapterId}`);
80
+ }
81
+ // Create new branch point
82
+ const branchPoint = {
83
+ id: operation.branchId,
84
+ name: operation.payload?.name || `Dynamic Branch ${operation.branchId}`,
85
+ sourceFlowId: operation.targetLocation.flowId,
86
+ sourceNodeId: operation.targetLocation.nodeId,
87
+ branchType: operation.payload?.branchType || 'conditional',
88
+ branchOptions: operation.payload?.branchOptions || [],
89
+ conditions: operation.conditions,
90
+ metadata: {
91
+ usageCount: 0,
92
+ avgTraversalTime: 0,
93
+ playerPreference: 0,
94
+ lastUsed: new Date()
95
+ }
96
+ };
97
+ // Insert into chapter
98
+ chapter.branches.push(branchPoint);
99
+ return true;
100
+ }
101
+ /**
102
+ * Remove dynamic branch
103
+ */
104
+ async removeDynamicBranch(branchId) {
105
+ for (const chapter of this.story.chapters) {
106
+ const index = chapter.branches.findIndex(b => b.id === branchId);
107
+ if (index !== -1) {
108
+ chapter.branches.splice(index, 1);
109
+ return true;
110
+ }
111
+ }
112
+ return false;
113
+ }
114
+ // ================================
115
+ // AI Integration Methods
116
+ // ================================
117
+ /**
118
+ * Set AI context for enhanced branching decisions
119
+ */
120
+ setAIContext(aiContext) {
121
+ this.aiContext = aiContext;
122
+ }
123
+ /**
124
+ * Generate AI-driven branch options
125
+ */
126
+ async generateAIBranches(maxOptions = 3) {
127
+ if (!this.aiContext) {
128
+ throw new Error('AI context not set. Call setAIContext() first.');
129
+ }
130
+ const generatedOptions = [];
131
+ const playerProfile = this.aiContext.playerProfile;
132
+ // Example: Generate options based on player style
133
+ if (playerProfile.playStyle === 'explorer') {
134
+ generatedOptions.push({
135
+ id: `ai-explore-${Date.now()}`,
136
+ targetFlowId: this.context.currentFlow.id,
137
+ displayText: "Investigate the mysterious artifact",
138
+ weight: 0.8
139
+ });
140
+ }
141
+ if (playerProfile.playStyle === 'socializer') {
142
+ generatedOptions.push({
143
+ id: `ai-social-${Date.now()}`,
144
+ targetFlowId: this.context.currentFlow.id,
145
+ displayText: "Ask your companion about their past",
146
+ weight: 0.7
147
+ });
148
+ }
149
+ return generatedOptions.slice(0, maxOptions);
150
+ }
151
+ // ================================
152
+ // Analytics & Monitoring
153
+ // ================================
154
+ /**
155
+ * Get current branching analytics
156
+ */
157
+ getBranchingAnalytics() {
158
+ return {
159
+ ...this.context.analytics,
160
+ currentChapter: this.context.currentChapter.id,
161
+ currentFlow: this.context.currentFlow.id,
162
+ historyLength: this.context.branchHistory.length,
163
+ pendingBranches: this.context.pendingBranches.length
164
+ };
165
+ }
166
+ /**
167
+ * Export branching data for external analysis
168
+ */
169
+ exportBranchingData() {
170
+ return {
171
+ story: {
172
+ id: this.story.id,
173
+ title: this.story.title,
174
+ version: this.story.version
175
+ },
176
+ session: {
177
+ startTime: this.context.analytics.sessionStartTime,
178
+ currentState: this.context.activeState,
179
+ branchHistory: this.context.branchHistory,
180
+ analytics: this.context.analytics
181
+ }
182
+ };
183
+ }
184
+ // ================================
185
+ // Private Helper Methods
186
+ // ================================
187
+ createBranchContext(story, initialState) {
188
+ const initialChapter = story.chapters[0];
189
+ const initialFlow = initialChapter.flows[0];
190
+ return {
191
+ currentStory: story,
192
+ currentChapter: initialChapter,
193
+ currentFlow: initialFlow,
194
+ activeState: initialState,
195
+ branchHistory: [],
196
+ pendingBranches: [],
197
+ analytics: {
198
+ totalBranchesTraversed: 0,
199
+ avgBranchDecisionTime: 0,
200
+ mostPopularBranches: [],
201
+ abandonmentPoints: [],
202
+ completionRate: 0,
203
+ sessionStartTime: new Date()
204
+ }
205
+ };
206
+ }
207
+ getCurrentNode() {
208
+ const currentNodeId = this.context.activeState.currentNodeId;
209
+ const node = this.context.currentFlow.nodes.find(n => n.id === currentNodeId);
210
+ if (!node) {
211
+ throw new Error(`Current node not found: ${currentNodeId}`);
212
+ }
213
+ return node;
214
+ }
215
+ findBranchPointsForNode(flowId, nodeId) {
216
+ return this.context.currentChapter.branches.filter(b => b.sourceFlowId === flowId && b.sourceNodeId === nodeId);
217
+ }
218
+ async evaluateConditions(conditions) {
219
+ for (const condition of conditions) {
220
+ if (!await this.evaluateCondition(condition)) {
221
+ return false;
222
+ }
223
+ }
224
+ return true;
225
+ }
226
+ async evaluateCondition(condition) {
227
+ const { operator, key, value, evaluator } = condition;
228
+ // Custom evaluator takes precedence
229
+ if (evaluator) {
230
+ return evaluator(this.context.activeState, this.context);
231
+ }
232
+ // Standard condition evaluation
233
+ const stateValue = this.context.activeState.flags[key];
234
+ switch (operator) {
235
+ case 'equals':
236
+ return stateValue === value;
237
+ case 'not_equals':
238
+ return stateValue !== value;
239
+ case 'greater':
240
+ return Number(stateValue) > Number(value);
241
+ case 'less':
242
+ return Number(stateValue) < Number(value);
243
+ case 'contains':
244
+ return Array.isArray(stateValue) && stateValue.includes(value);
245
+ case 'exists':
246
+ return stateValue !== undefined;
247
+ default:
248
+ return false;
249
+ }
250
+ }
251
+ async findBranchOption(optionId) {
252
+ for (const chapter of this.story.chapters) {
253
+ for (const branchPoint of chapter.branches) {
254
+ const option = branchPoint.branchOptions.find(o => o.id === optionId);
255
+ if (option) {
256
+ return option;
257
+ }
258
+ }
259
+ }
260
+ return null;
261
+ }
262
+ findFlow(flowId) {
263
+ for (const chapter of this.story.chapters) {
264
+ const flow = chapter.flows.find(f => f.id === flowId);
265
+ if (flow) {
266
+ return flow;
267
+ }
268
+ }
269
+ return null;
270
+ }
271
+ findChapter(chapterId) {
272
+ return this.story.chapters.find(c => c.id === chapterId) || null;
273
+ }
274
+ async transitionToFlow(targetFlow, targetNodeId) {
275
+ // Find entry point
276
+ let entryNodeId;
277
+ if (targetNodeId) {
278
+ entryNodeId = targetNodeId;
279
+ }
280
+ else if (targetFlow.entryPoints.length > 0) {
281
+ // Use highest priority entry point
282
+ const entryPoint = targetFlow.entryPoints.sort((a, b) => b.priority - a.priority)[0];
283
+ entryNodeId = entryPoint.nodeId;
284
+ }
285
+ else if (targetFlow.nodes.length > 0) {
286
+ // Use first node as fallback
287
+ entryNodeId = targetFlow.nodes[0].id;
288
+ }
289
+ else {
290
+ return false;
291
+ }
292
+ // Update context
293
+ this.context.currentFlow = targetFlow;
294
+ this.context.activeState.currentNodeId = entryNodeId;
295
+ this.context.activeState.history.push(entryNodeId);
296
+ // Update chapter if necessary
297
+ const targetChapter = this.story.chapters.find(c => c.flows.some(f => f.id === targetFlow.id));
298
+ if (targetChapter) {
299
+ this.context.currentChapter = targetChapter;
300
+ }
301
+ return true;
302
+ }
303
+ recordBranchHistory(optionId, option) {
304
+ const historyEntry = {
305
+ id: `history-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
306
+ branchPointId: 'unknown', // Would need to track this
307
+ chosenOptionId: optionId,
308
+ timestamp: new Date(),
309
+ executionTime: 0, // Would measure actual execution time
310
+ context: {
311
+ currentNodeId: this.context.activeState.currentNodeId,
312
+ flags: { ...this.context.activeState.flags }
313
+ }
314
+ };
315
+ this.context.branchHistory.push(historyEntry);
316
+ // Limit history size for memory management
317
+ if (this.context.branchHistory.length > 1000) {
318
+ this.context.branchHistory.splice(0, 100);
319
+ }
320
+ }
321
+ updateBranchAnalytics(optionId) {
322
+ this.context.analytics.totalBranchesTraversed++;
323
+ // Update popular branches
324
+ const popular = this.context.analytics.mostPopularBranches;
325
+ const index = popular.indexOf(optionId);
326
+ if (index !== -1) {
327
+ // Move to front
328
+ popular.splice(index, 1);
329
+ popular.unshift(optionId);
330
+ }
331
+ else {
332
+ // Add to front
333
+ popular.unshift(optionId);
334
+ // Limit to top 10
335
+ if (popular.length > 10) {
336
+ popular.pop();
337
+ }
338
+ }
339
+ }
340
+ }
341
+ exports.QNCEBranchingEngine = QNCEBranchingEngine;
342
+ exports.default = QNCEBranchingEngine;
343
+ /**
344
+ * Factory function for creating branching engines
345
+ */
346
+ function createBranchingEngine(story, initialState) {
347
+ return new QNCEBranchingEngine(story, initialState);
348
+ }
349
+ //# sourceMappingURL=engine-simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-simple.js","sourceRoot":"","sources":["../../../src/narrative/branching/engine-simple.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { QNCEBranchingEngine, createBranchingEngine } from './engine-simple';
2
+ export * from './models';
3
+ export declare const example: {
4
+ storyStructure: {
5
+ story: string;
6
+ chapters: string;
7
+ flows: string;
8
+ branches: string;
9
+ };
10
+ usage: string;
11
+ };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/narrative/branching/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7E,cAAc,UAAU,CAAC;AAGzB,eAAO,MAAM,OAAO;;;;;;;;CA6BnB,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ // QNCE Branching System - Main Export
3
+ // Sprint #3 - Advanced Narrative & AI Integration
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.example = exports.createBranchingEngine = exports.QNCEBranchingEngine = void 0;
20
+ // Core branching engine
21
+ var engine_simple_1 = require("./engine-simple");
22
+ Object.defineProperty(exports, "QNCEBranchingEngine", { enumerable: true, get: function () { return engine_simple_1.QNCEBranchingEngine; } });
23
+ Object.defineProperty(exports, "createBranchingEngine", { enumerable: true, get: function () { return engine_simple_1.createBranchingEngine; } });
24
+ // Complete type system
25
+ __exportStar(require("./models"), exports);
26
+ // Usage example for documentation
27
+ exports.example = {
28
+ // Example story structure showing branching capabilities
29
+ storyStructure: {
30
+ story: 'QNCEStory with chapters and branching config',
31
+ chapters: 'Logical groupings of flows and branch points',
32
+ flows: 'Sequences of narrative nodes with entry/exit points',
33
+ branches: 'Dynamic decision points with conditions and options'
34
+ },
35
+ // Example API usage
36
+ usage: `
37
+ import { createBranchingEngine, QNCEStory } from 'qnce-engine/branching';
38
+
39
+ // Create branching engine
40
+ const engine = createBranchingEngine(story, initialState);
41
+
42
+ // Evaluate available branches
43
+ const options = await engine.evaluateAvailableBranches();
44
+
45
+ // Execute player choice
46
+ await engine.executeBranch(selectedOptionId);
47
+
48
+ // Dynamic content insertion
49
+ await engine.insertDynamicBranch(branchOperation);
50
+
51
+ // AI-driven content generation
52
+ engine.setAIContext(aiContext);
53
+ const aiBranches = await engine.generateAIBranches();
54
+ `
55
+ };
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/narrative/branching/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,kDAAkD;;;;;;;;;;;;;;;;;AAElD,wBAAwB;AACxB,iDAA6E;AAApE,oHAAA,mBAAmB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAEnD,uBAAuB;AACvB,2CAAyB;AAEzB,kCAAkC;AACrB,QAAA,OAAO,GAAG;IACrB,yDAAyD;IACzD,cAAc,EAAE;QACd,KAAK,EAAE,8CAA8C;QACrD,QAAQ,EAAE,8CAA8C;QACxD,KAAK,EAAE,qDAAqD;QAC5D,QAAQ,EAAE,qDAAqD;KAChE;IAED,oBAAoB;IACpB,KAAK,EAAE;;;;;;;;;;;;;;;;;;GAkBN;CACF,CAAC"}