qnce-engine
Version:
Core QNCE (Quantum Narrative Convergence Engine) - Framework agnostic narrative engine with performance optimization
84 lines • 2.65 kB
TypeScript
import { QNCEStory, BranchOption, DynamicBranchOperation, BranchHistoryEntry, AIBranchingContext } from './models';
import { QNCEState } from '../../engine/core';
/**
* QNCE Branching Engine - Core API for dynamic narrative branching
* Simplified implementation focusing on core functionality
*/
export declare class QNCEBranchingEngine {
private story;
private context;
private aiContext?;
constructor(story: QNCEStory, initialState: QNCEState);
/**
* Evaluate available branches from current position
*/
evaluateAvailableBranches(): Promise<BranchOption[]>;
/**
* Execute a branch transition
*/
executeBranch(optionId: string): Promise<boolean>;
/**
* Dynamic branch insertion at runtime
*/
insertDynamicBranch(operation: DynamicBranchOperation): Promise<boolean>;
/**
* Remove dynamic branch
*/
removeDynamicBranch(branchId: string): Promise<boolean>;
/**
* Set AI context for enhanced branching decisions
*/
setAIContext(aiContext: AIBranchingContext): void;
/**
* Generate AI-driven branch options
*/
generateAIBranches(maxOptions?: number): Promise<BranchOption[]>;
/**
* Get current branching analytics
*/
getBranchingAnalytics(): {
currentChapter: string;
currentFlow: string;
historyLength: number;
pendingBranches: number;
totalBranchesTraversed: number;
avgBranchDecisionTime: number;
mostPopularBranches: string[];
abandonmentPoints: string[];
completionRate: number;
sessionStartTime: Date;
};
/**
* Export branching data for external analysis
*/
exportBranchingData(): {
story: {
id: string;
title: string;
version: string;
};
session: {
startTime: Date;
currentState: QNCEState;
branchHistory: BranchHistoryEntry[];
analytics: import("./models").BranchAnalytics;
};
};
private createBranchContext;
private getCurrentNode;
private findBranchPointsForNode;
private evaluateConditions;
private evaluateCondition;
private findBranchOption;
private findFlow;
private findChapter;
private transitionToFlow;
private recordBranchHistory;
private updateBranchAnalytics;
}
/**
* Factory function for creating branching engines
*/
export declare function createBranchingEngine(story: QNCEStory, initialState: QNCEState): QNCEBranchingEngine;
export { QNCEBranchingEngine as default };
//# sourceMappingURL=engine-simple.d.ts.map