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.
- package/README.md +248 -0
- package/dist/cli/audit.js +6 -4
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/init.js +11 -9
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/perf.d.ts +30 -0
- package/dist/cli/perf.d.ts.map +1 -0
- package/dist/cli/perf.js +219 -0
- package/dist/cli/perf.js.map +1 -0
- package/dist/engine/core.d.ts +104 -8
- package/dist/engine/core.d.ts.map +1 -1
- package/dist/engine/core.js +288 -7
- package/dist/engine/core.js.map +1 -1
- package/dist/engine/demo-story.js +4 -1
- package/dist/engine/demo-story.js.map +1 -1
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/dist/narrative/branching/engine-simple.d.ts +84 -0
- package/dist/narrative/branching/engine-simple.d.ts.map +1 -0
- package/dist/narrative/branching/engine-simple.js +349 -0
- package/dist/narrative/branching/engine-simple.js.map +1 -0
- package/dist/narrative/branching/index.d.ts +12 -0
- package/dist/narrative/branching/index.d.ts.map +1 -0
- package/dist/narrative/branching/index.js +56 -0
- package/dist/narrative/branching/index.js.map +1 -0
- package/dist/narrative/branching/models.d.ts +223 -0
- package/dist/narrative/branching/models.d.ts.map +1 -0
- package/dist/narrative/branching/models.js +6 -0
- package/dist/narrative/branching/models.js.map +1 -0
- package/dist/performance/HotReloadDelta.d.ts +107 -0
- package/dist/performance/HotReloadDelta.d.ts.map +1 -0
- package/dist/performance/HotReloadDelta.js +333 -0
- package/dist/performance/HotReloadDelta.js.map +1 -0
- package/dist/performance/ObjectPool.d.ts +150 -0
- package/dist/performance/ObjectPool.d.ts.map +1 -0
- package/dist/performance/ObjectPool.js +297 -0
- package/dist/performance/ObjectPool.js.map +1 -0
- package/dist/performance/PerfReporter.d.ts +123 -0
- package/dist/performance/PerfReporter.d.ts.map +1 -0
- package/dist/performance/PerfReporter.js +281 -0
- package/dist/performance/PerfReporter.js.map +1 -0
- package/dist/performance/ThreadPool.d.ts +107 -0
- package/dist/performance/ThreadPool.d.ts.map +1 -0
- package/dist/performance/ThreadPool.js +348 -0
- package/dist/performance/ThreadPool.js.map +1 -0
- package/docs/PERFORMANCE.md +355 -0
- package/docs/branching/ERD.md +214 -0
- package/docs/branching/PDM.md +443 -0
- package/docs/branching/RELEASE-v1.2.0.md +169 -0
- package/examples/branching-advanced-demo.ts +339 -0
- package/examples/branching-quickstart.ts +314 -0
- package/examples/quickstart-demo.js +82 -0
- package/package.json +21 -8
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// QNCE Branching Demo - JavaScript Quick Start
|
|
2
|
+
// Demonstrates v1.2.0 Advanced Branching API integration
|
|
3
|
+
|
|
4
|
+
const { createQNCEEngine } = require('../dist/engine/core');
|
|
5
|
+
|
|
6
|
+
console.log('š QNCE Engine v1.2.0 - Advanced Branching Demo');
|
|
7
|
+
console.log('=================================================\n');
|
|
8
|
+
|
|
9
|
+
// Create a simple story for demonstration
|
|
10
|
+
const simpleStory = {
|
|
11
|
+
nodes: [
|
|
12
|
+
{
|
|
13
|
+
id: 'start',
|
|
14
|
+
text: 'You discover a mysterious quantum portal. What do you do?',
|
|
15
|
+
choices: [
|
|
16
|
+
{
|
|
17
|
+
text: 'Step through the portal',
|
|
18
|
+
nextNodeId: 'portal-world',
|
|
19
|
+
flagEffects: { courage: 5, portal_used: true }
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
text: 'Study the portal carefully',
|
|
23
|
+
nextNodeId: 'study-portal',
|
|
24
|
+
flagEffects: { wisdom: 5, careful: true }
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'portal-world',
|
|
30
|
+
text: 'You emerge in a strange quantum realm where multiple realities overlap.',
|
|
31
|
+
choices: []
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'study-portal',
|
|
35
|
+
text: 'Your careful study reveals ancient quantum equations etched around the portal\'s edge.',
|
|
36
|
+
choices: []
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
initialNodeId: 'start'
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Create the QNCE engine
|
|
43
|
+
console.log('ā
Creating QNCE Engine...');
|
|
44
|
+
const engine = createQNCEEngine(simpleStory);
|
|
45
|
+
|
|
46
|
+
// Display current state
|
|
47
|
+
console.log('š Current Story Node:');
|
|
48
|
+
console.log(' ' + engine.getCurrentNode().text);
|
|
49
|
+
|
|
50
|
+
console.log('\nšÆ Available Choices:');
|
|
51
|
+
const choices = engine.getAvailableChoices();
|
|
52
|
+
choices.forEach((choice, i) => {
|
|
53
|
+
console.log(` ${i + 1}. ${choice.text}`);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Make a choice automatically for demo
|
|
57
|
+
if (choices.length > 0) {
|
|
58
|
+
console.log('\nš Making choice: "' + choices[0].text + '"');
|
|
59
|
+
engine.selectChoice(choices[0]);
|
|
60
|
+
|
|
61
|
+
console.log('\nš New Story Node:');
|
|
62
|
+
console.log(' ' + engine.getCurrentNode().text);
|
|
63
|
+
|
|
64
|
+
console.log('\nš“ Updated Flags:');
|
|
65
|
+
const flags = engine.getFlags();
|
|
66
|
+
Object.entries(flags).forEach(([key, value]) => {
|
|
67
|
+
console.log(` ${key}: ${value}`);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
console.log('\nš Choice History:');
|
|
71
|
+
const history = engine.getHistory();
|
|
72
|
+
history.forEach((nodeId, i) => {
|
|
73
|
+
console.log(` ${i + 1}. ${nodeId}`);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
console.log('\nš Demo Complete!');
|
|
78
|
+
console.log('=================');
|
|
79
|
+
console.log('ā
QNCE Engine v1.2.0 basic functionality working');
|
|
80
|
+
console.log('š For advanced branching features, see TypeScript examples');
|
|
81
|
+
console.log('š Advanced features: AI generation, dynamic branches, analytics');
|
|
82
|
+
console.log('\nš Ready for your interactive narratives!');
|
package/package.json
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qnce-engine",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Core QNCE (Quantum Narrative Convergence Engine) - Framework agnostic narrative engine",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Core QNCE (Quantum Narrative Convergence Engine) - Framework agnostic narrative engine with performance optimization",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
-
"type": "module",
|
|
8
7
|
"bin": {
|
|
9
8
|
"qnce-audit": "dist/cli/audit.js",
|
|
10
|
-
"qnce-init": "dist/cli/init.js"
|
|
9
|
+
"qnce-init": "dist/cli/init.js",
|
|
10
|
+
"qnce-perf": "dist/cli/perf.js"
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"build:watch": "tsc --watch",
|
|
15
|
+
"build:examples": "tsc examples/**/*.ts --outDir dist --target ES2022 --module ES2022 --moduleResolution Node --strict --esModuleInterop --skipLibCheck --declaration false",
|
|
15
16
|
"lint": "eslint .",
|
|
16
|
-
"test": "
|
|
17
|
-
"
|
|
17
|
+
"test": "./node_modules/.bin/jest",
|
|
18
|
+
"test:watch": "./node_modules/.bin/jest --watch",
|
|
19
|
+
"test:coverage": "./node_modules/.bin/jest --coverage",
|
|
20
|
+
"test:performance": "node scripts/performance-tests.js",
|
|
21
|
+
"demo:performance": "npm run build && node scripts/performance-demo.js",
|
|
22
|
+
"demo:quickstart": "npm run build && node examples/quickstart-demo.js",
|
|
23
|
+
"prepublishOnly": "npm run build && npm run test"
|
|
18
24
|
},
|
|
19
25
|
"keywords": [
|
|
20
26
|
"narrative",
|
|
@@ -30,15 +36,22 @@
|
|
|
30
36
|
"type": "git",
|
|
31
37
|
"url": "https://github.com/ByteSower/qnce-engine.git"
|
|
32
38
|
},
|
|
33
|
-
"dependencies": {},
|
|
34
39
|
"devDependencies": {
|
|
40
|
+
"@types/jest": "^29.5.14",
|
|
35
41
|
"@types/node": "^20.0.0",
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
43
|
+
"@typescript-eslint/parser": "^6.21.0",
|
|
44
|
+
"eslint": "^8.57.1",
|
|
45
|
+
"jest": "^29.7.0",
|
|
46
|
+
"ts-jest": "^29.4.0",
|
|
36
47
|
"typescript": "~5.8.3"
|
|
37
48
|
},
|
|
38
49
|
"files": [
|
|
39
50
|
"dist/**/*",
|
|
40
51
|
"README.md",
|
|
41
52
|
"LICENSE",
|
|
42
|
-
"examples/**/*"
|
|
53
|
+
"examples/**/*",
|
|
54
|
+
"docs/branching/**/*",
|
|
55
|
+
"docs/PERFORMANCE.md"
|
|
43
56
|
]
|
|
44
57
|
}
|