@holoscript/core 1.0.0-alpha.1 → 2.0.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/package.json +10 -9
- package/src/HoloScript2DParser.js +227 -0
- package/src/HoloScript2DParser.ts +5 -0
- package/src/HoloScriptCodeParser.js +1102 -0
- package/src/HoloScriptCodeParser.ts +145 -20
- package/src/HoloScriptDebugger.js +458 -0
- package/src/HoloScriptParser.js +338 -0
- package/src/HoloScriptPlusParser.js +371 -0
- package/src/HoloScriptPlusParser.ts +543 -0
- package/src/HoloScriptRuntime.js +1399 -0
- package/src/HoloScriptRuntime.test.js +351 -0
- package/src/HoloScriptRuntime.ts +257 -3
- package/src/HoloScriptTypeChecker.js +356 -0
- package/src/__tests__/GraphicsServices.test.js +357 -0
- package/src/__tests__/GraphicsServices.test.ts +427 -0
- package/src/__tests__/HoloScriptPlusParser.test.js +317 -0
- package/src/__tests__/HoloScriptPlusParser.test.ts +392 -0
- package/src/__tests__/integration.test.js +336 -0
- package/src/__tests__/performance.bench.js +218 -0
- package/src/__tests__/type-checker.test.js +60 -0
- package/src/__tests__/type-checker.test.ts +73 -0
- package/src/index.js +217 -0
- package/src/index.ts +158 -18
- package/src/interop/Interoperability.js +413 -0
- package/src/interop/Interoperability.ts +494 -0
- package/src/logger.js +42 -0
- package/src/parser/EnhancedParser.js +205 -0
- package/src/parser/EnhancedParser.ts +251 -0
- package/src/parser/HoloScriptPlusParser.js +928 -0
- package/src/parser/HoloScriptPlusParser.ts +1089 -0
- package/src/runtime/HoloScriptPlusRuntime.js +674 -0
- package/src/runtime/HoloScriptPlusRuntime.ts +861 -0
- package/src/runtime/PerformanceTelemetry.js +323 -0
- package/src/runtime/PerformanceTelemetry.ts +467 -0
- package/src/runtime/RuntimeOptimization.js +361 -0
- package/src/runtime/RuntimeOptimization.ts +416 -0
- package/src/services/HololandGraphicsPipelineService.js +506 -0
- package/src/services/HololandGraphicsPipelineService.ts +662 -0
- package/src/services/PlatformPerformanceOptimizer.js +356 -0
- package/src/services/PlatformPerformanceOptimizer.ts +503 -0
- package/src/state/ReactiveState.js +427 -0
- package/src/state/ReactiveState.ts +572 -0
- package/src/tools/DeveloperExperience.js +376 -0
- package/src/tools/DeveloperExperience.ts +438 -0
- package/src/traits/AIDriverTrait.js +322 -0
- package/src/traits/AIDriverTrait.test.js +329 -0
- package/src/traits/AIDriverTrait.test.ts +357 -0
- package/src/traits/AIDriverTrait.ts +474 -0
- package/src/traits/LightingTrait.js +313 -0
- package/src/traits/LightingTrait.test.js +410 -0
- package/src/traits/LightingTrait.test.ts +462 -0
- package/src/traits/LightingTrait.ts +505 -0
- package/src/traits/MaterialTrait.js +194 -0
- package/src/traits/MaterialTrait.test.js +286 -0
- package/src/traits/MaterialTrait.test.ts +329 -0
- package/src/traits/MaterialTrait.ts +324 -0
- package/src/traits/RenderingTrait.js +356 -0
- package/src/traits/RenderingTrait.test.js +363 -0
- package/src/traits/RenderingTrait.test.ts +427 -0
- package/src/traits/RenderingTrait.ts +555 -0
- package/src/traits/VRTraitSystem.js +740 -0
- package/src/traits/VRTraitSystem.ts +1040 -0
- package/src/traits/VoiceInputTrait.js +284 -0
- package/src/traits/VoiceInputTrait.test.js +226 -0
- package/src/traits/VoiceInputTrait.test.ts +252 -0
- package/src/traits/VoiceInputTrait.ts +401 -0
- package/src/types/AdvancedTypeSystem.js +226 -0
- package/src/types/AdvancedTypeSystem.ts +494 -0
- package/src/types/HoloScriptPlus.d.ts +853 -0
- package/src/types.js +6 -0
- package/src/types.ts +96 -1
- package/tsconfig.json +1 -1
- package/tsup.config.d.ts +2 -0
- package/tsup.config.js +18 -0
- package/LICENSE +0 -21
- package/dist/chunk-3X2EGU7Z.cjs +0 -52
- package/dist/chunk-3X2EGU7Z.cjs.map +0 -1
- package/dist/chunk-723TPVHD.js +0 -1074
- package/dist/chunk-723TPVHD.js.map +0 -1
- package/dist/chunk-EOKNAVDO.cjs +0 -424
- package/dist/chunk-EOKNAVDO.cjs.map +0 -1
- package/dist/chunk-HQZ3HUMY.js +0 -1087
- package/dist/chunk-HQZ3HUMY.js.map +0 -1
- package/dist/chunk-KWYIVRIH.js +0 -344
- package/dist/chunk-KWYIVRIH.js.map +0 -1
- package/dist/chunk-LKH4ZAN6.js +0 -421
- package/dist/chunk-LKH4ZAN6.js.map +0 -1
- package/dist/chunk-SATNCODL.js +0 -45
- package/dist/chunk-SATNCODL.js.map +0 -1
- package/dist/chunk-VMZN4EVR.cjs +0 -347
- package/dist/chunk-VMZN4EVR.cjs.map +0 -1
- package/dist/chunk-VV3UUUYP.cjs +0 -1089
- package/dist/chunk-VV3UUUYP.cjs.map +0 -1
- package/dist/chunk-XRYTSQHZ.cjs +0 -1076
- package/dist/chunk-XRYTSQHZ.cjs.map +0 -1
- package/dist/debugger.cjs +0 -19
- package/dist/debugger.cjs.map +0 -1
- package/dist/debugger.d.cts +0 -171
- package/dist/debugger.d.ts +0 -171
- package/dist/debugger.js +0 -6
- package/dist/debugger.js.map +0 -1
- package/dist/index.cjs +0 -755
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -169
- package/dist/index.d.ts +0 -169
- package/dist/index.js +0 -699
- package/dist/index.js.map +0 -1
- package/dist/parser.cjs +0 -13
- package/dist/parser.cjs.map +0 -1
- package/dist/parser.d.cts +0 -154
- package/dist/parser.d.ts +0 -154
- package/dist/parser.js +0 -4
- package/dist/parser.js.map +0 -1
- package/dist/runtime.cjs +0 -13
- package/dist/runtime.cjs.map +0 -1
- package/dist/runtime.d.cts +0 -147
- package/dist/runtime.d.ts +0 -147
- package/dist/runtime.js +0 -4
- package/dist/runtime.js.map +0 -1
- package/dist/type-checker.cjs +0 -16
- package/dist/type-checker.cjs.map +0 -1
- package/dist/type-checker.d.cts +0 -105
- package/dist/type-checker.d.ts +0 -105
- package/dist/type-checker.js +0 -3
- package/dist/type-checker.js.map +0 -1
- package/dist/types-WQSk1Qs2.d.cts +0 -238
- package/dist/types-WQSk1Qs2.d.ts +0 -238
package/src/index.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/core
|
|
3
|
+
*
|
|
4
|
+
* HoloScript+ - VR language with declarative syntax, state management, and VR interactions.
|
|
5
|
+
* Enhanced version of HoloScript with:
|
|
6
|
+
* - VR interaction traits (@grabbable, @throwable, @hoverable, etc.)
|
|
7
|
+
* - Reactive state management (@state { ... })
|
|
8
|
+
* - Control flow (@for, @if directives)
|
|
9
|
+
* - TypeScript companion imports
|
|
10
|
+
* - Expression interpolation ${...}
|
|
11
|
+
*
|
|
12
|
+
* Fully backward compatible with original HoloScript syntax.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { HoloScriptPlusParser, HoloScriptPlusRuntime } from '@holoscript/core';
|
|
17
|
+
*
|
|
18
|
+
* const parser = new HoloScriptPlusParser();
|
|
19
|
+
* const result = parser.parse(`
|
|
20
|
+
* orb#myOrb {
|
|
21
|
+
* position: [0, 0, 0]
|
|
22
|
+
* @grabbable(snap_to_hand: true)
|
|
23
|
+
* @throwable(bounce: true)
|
|
24
|
+
* }
|
|
25
|
+
* `);
|
|
26
|
+
*
|
|
27
|
+
* const runtime = new HoloScriptPlusRuntime(result.ast);
|
|
28
|
+
* await runtime.mount(document.body);
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @packageDocumentation
|
|
32
|
+
*/
|
|
33
|
+
// Import for use in utility functions
|
|
34
|
+
import { HoloScriptParser } from './HoloScriptParser';
|
|
35
|
+
import { HoloScriptRuntime } from './HoloScriptRuntime';
|
|
36
|
+
// Parser
|
|
37
|
+
export { HoloScriptParser } from './HoloScriptParser';
|
|
38
|
+
export { HoloScript2DParser } from './HoloScript2DParser';
|
|
39
|
+
export { HoloScriptCodeParser } from './HoloScriptCodeParser';
|
|
40
|
+
// HoloScript+ Parser (NEW)
|
|
41
|
+
export { HoloScriptPlusParser, createParser, parse as parseHoloScriptPlus } from './parser/HoloScriptPlusParser';
|
|
42
|
+
// HoloScript+ Enhanced Parser with Trait Annotations (NEW - Phase 3)
|
|
43
|
+
export { HoloScriptPlusParser as HoloScriptTraitAnnotationParser, } from './HoloScriptPlusParser';
|
|
44
|
+
// Runtime
|
|
45
|
+
export { HoloScriptRuntime } from './HoloScriptRuntime';
|
|
46
|
+
// HoloScript+ Runtime (NEW)
|
|
47
|
+
export { HoloScriptPlusRuntimeImpl } from './runtime/HoloScriptPlusRuntime';
|
|
48
|
+
// HoloScript+ State Management (NEW)
|
|
49
|
+
export { ReactiveState, createState, reactive, effect, computed, bind } from './state/ReactiveState';
|
|
50
|
+
// HoloScript+ VR Traits (NEW)
|
|
51
|
+
export { VRTraitRegistry } from './traits/VRTraitSystem';
|
|
52
|
+
// HoloScript+ Voice Input Trait (NEW - Phase 1)
|
|
53
|
+
export { VoiceInputTrait, createVoiceInputTrait, } from './traits/VoiceInputTrait';
|
|
54
|
+
// HoloScript+ AI Driver NPC Trait (NEW - Phase 1)
|
|
55
|
+
export { AIDriverTrait, createAIDriverTrait, BehaviorTreeRunner, GOAPPlanner, } from './traits/AIDriverTrait';
|
|
56
|
+
// HoloScript+ Material Trait (NEW - Phase 2: Graphics)
|
|
57
|
+
export { MaterialTrait, createMaterialTrait, MATERIAL_PRESETS, } from './traits/MaterialTrait';
|
|
58
|
+
// HoloScript+ Lighting Trait (NEW - Phase 2: Graphics)
|
|
59
|
+
export { LightingTrait, createLightingTrait, LIGHTING_PRESETS, } from './traits/LightingTrait';
|
|
60
|
+
// HoloScript+ Rendering Trait (NEW - Phase 2: Graphics)
|
|
61
|
+
export { RenderingTrait, createRenderingTrait, } from './traits/RenderingTrait';
|
|
62
|
+
// Performance Telemetry (NEW - Phase 1)
|
|
63
|
+
export { PerformanceTelemetry, getPerformanceTelemetry, } from './runtime/PerformanceTelemetry';
|
|
64
|
+
// Hololand Graphics Pipeline Service (NEW - Phase 4)
|
|
65
|
+
export { HololandGraphicsPipelineService, } from './services/HololandGraphicsPipelineService';
|
|
66
|
+
// Platform Performance Optimizer (NEW - Phase 5)
|
|
67
|
+
export { PlatformPerformanceOptimizer, } from './services/PlatformPerformanceOptimizer';
|
|
68
|
+
// Type Checker
|
|
69
|
+
export { HoloScriptTypeChecker, createTypeChecker, } from './HoloScriptTypeChecker';
|
|
70
|
+
// Debugger
|
|
71
|
+
export { HoloScriptDebugger, createDebugger, } from './HoloScriptDebugger';
|
|
72
|
+
// Logger
|
|
73
|
+
export { logger, setHoloScriptLogger, enableConsoleLogging, resetLogger, NoOpLogger, ConsoleLogger, } from './logger';
|
|
74
|
+
// Version
|
|
75
|
+
export const HOLOSCRIPT_VERSION = '1.0.0-alpha.1';
|
|
76
|
+
// Supported Platforms
|
|
77
|
+
export const HOLOSCRIPT_SUPPORTED_PLATFORMS = [
|
|
78
|
+
'WebXR',
|
|
79
|
+
'Oculus Quest',
|
|
80
|
+
'HTC Vive',
|
|
81
|
+
'Valve Index',
|
|
82
|
+
'Apple Vision Pro',
|
|
83
|
+
'Windows Mixed Reality',
|
|
84
|
+
];
|
|
85
|
+
// Voice Commands Reference
|
|
86
|
+
export const HOLOSCRIPT_VOICE_COMMANDS = [
|
|
87
|
+
// 3D VR Commands
|
|
88
|
+
'create orb [name]',
|
|
89
|
+
'summon function [name]',
|
|
90
|
+
'connect [from] to [to]',
|
|
91
|
+
'execute [function]',
|
|
92
|
+
'debug program',
|
|
93
|
+
'visualize [data]',
|
|
94
|
+
'gate [condition]',
|
|
95
|
+
'stream [source] through [transformations]',
|
|
96
|
+
// 2D UI Commands
|
|
97
|
+
'create button [name]',
|
|
98
|
+
'add textinput [name]',
|
|
99
|
+
'create panel [name]',
|
|
100
|
+
'add slider [name]',
|
|
101
|
+
];
|
|
102
|
+
// Gesture Reference
|
|
103
|
+
export const HOLOSCRIPT_GESTURES = [
|
|
104
|
+
'pinch - create object',
|
|
105
|
+
'swipe - connect objects',
|
|
106
|
+
'rotate - modify properties',
|
|
107
|
+
'grab - select object',
|
|
108
|
+
'spread - expand view',
|
|
109
|
+
'fist - execute action',
|
|
110
|
+
];
|
|
111
|
+
// Demo Scripts
|
|
112
|
+
export const HOLOSCRIPT_DEMO_SCRIPTS = {
|
|
113
|
+
helloWorld: `orb greeting {
|
|
114
|
+
message: "Hello, HoloScript World!"
|
|
115
|
+
color: "#00ffff"
|
|
116
|
+
glow: true
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function displayGreeting() {
|
|
120
|
+
show greeting
|
|
121
|
+
}`,
|
|
122
|
+
aiAgent: `orb agentCore {
|
|
123
|
+
personality: "helpful"
|
|
124
|
+
capabilities: ["conversation", "problem_solving", "learning"]
|
|
125
|
+
energy: 100
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function processQuery(query: string): string {
|
|
129
|
+
analyze query
|
|
130
|
+
generate response
|
|
131
|
+
return response
|
|
132
|
+
}`,
|
|
133
|
+
neuralNetwork: `orb inputLayer { neurons: 784 }
|
|
134
|
+
orb hiddenLayer { neurons: 128 }
|
|
135
|
+
orb outputLayer { neurons: 10 }
|
|
136
|
+
|
|
137
|
+
connect inputLayer to hiddenLayer as "weights"
|
|
138
|
+
connect hiddenLayer to outputLayer as "weights"
|
|
139
|
+
|
|
140
|
+
function trainNetwork(data: array): object {
|
|
141
|
+
forward_pass data
|
|
142
|
+
calculate_loss
|
|
143
|
+
backward_pass
|
|
144
|
+
update_weights
|
|
145
|
+
return metrics
|
|
146
|
+
}`,
|
|
147
|
+
loginForm: `button loginBtn {
|
|
148
|
+
text: "Login"
|
|
149
|
+
x: 100
|
|
150
|
+
y: 150
|
|
151
|
+
width: 200
|
|
152
|
+
height: 40
|
|
153
|
+
onClick: handleLogin
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
textinput usernameInput {
|
|
157
|
+
placeholder: "Username"
|
|
158
|
+
x: 100
|
|
159
|
+
y: 50
|
|
160
|
+
width: 200
|
|
161
|
+
height: 36
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
textinput passwordInput {
|
|
165
|
+
placeholder: "Password"
|
|
166
|
+
x: 100
|
|
167
|
+
y: 100
|
|
168
|
+
width: 200
|
|
169
|
+
height: 36
|
|
170
|
+
}`,
|
|
171
|
+
dashboard: `panel sidebar {
|
|
172
|
+
x: 0
|
|
173
|
+
y: 0
|
|
174
|
+
width: 200
|
|
175
|
+
height: 600
|
|
176
|
+
backgroundColor: "#2c3e50"
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
text title {
|
|
180
|
+
content: "Dashboard"
|
|
181
|
+
x: 220
|
|
182
|
+
y: 20
|
|
183
|
+
fontSize: 24
|
|
184
|
+
color: "#34495e"
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
button refreshBtn {
|
|
188
|
+
text: "Refresh Data"
|
|
189
|
+
x: 220
|
|
190
|
+
y: 60
|
|
191
|
+
onClick: refreshData
|
|
192
|
+
}`,
|
|
193
|
+
};
|
|
194
|
+
// Utility Functions
|
|
195
|
+
/**
|
|
196
|
+
* Create a pre-configured HoloScript environment
|
|
197
|
+
*/
|
|
198
|
+
export function createHoloScriptEnvironment() {
|
|
199
|
+
return {
|
|
200
|
+
parser: new HoloScriptParser(),
|
|
201
|
+
runtime: new HoloScriptRuntime(),
|
|
202
|
+
version: HOLOSCRIPT_VERSION,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Check if the current environment supports VR/XR
|
|
207
|
+
*/
|
|
208
|
+
export function isHoloScriptSupported() {
|
|
209
|
+
if (typeof globalThis === 'undefined')
|
|
210
|
+
return false;
|
|
211
|
+
const win = globalThis;
|
|
212
|
+
if (!win.window)
|
|
213
|
+
return false;
|
|
214
|
+
return !!(win.window.navigator?.xr ||
|
|
215
|
+
win.window.navigator?.getVRDisplays ||
|
|
216
|
+
win.window.webkitGetUserMedia);
|
|
217
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @holoscript/core
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* HoloScript+ - VR language with declarative syntax, state management, and VR interactions.
|
|
5
|
+
* Enhanced version of HoloScript with:
|
|
6
|
+
* - VR interaction traits (@grabbable, @throwable, @hoverable, etc.)
|
|
7
|
+
* - Reactive state management (@state { ... })
|
|
8
|
+
* - Control flow (@for, @if directives)
|
|
9
|
+
* - TypeScript companion imports
|
|
10
|
+
* - Expression interpolation ${...}
|
|
5
11
|
*
|
|
6
|
-
*
|
|
7
|
-
* - Voice commands for 3D object creation
|
|
8
|
-
* - Gesture input parsing
|
|
9
|
-
* - 2D UI element definition
|
|
10
|
-
* - Spatial programming concepts
|
|
12
|
+
* Fully backward compatible with original HoloScript syntax.
|
|
11
13
|
*
|
|
12
14
|
* @example
|
|
13
15
|
* ```typescript
|
|
14
|
-
* import {
|
|
16
|
+
* import { HoloScriptPlusParser, HoloScriptPlusRuntime } from '@holoscript/core';
|
|
15
17
|
*
|
|
16
|
-
* const parser = new
|
|
17
|
-
* const
|
|
18
|
+
* const parser = new HoloScriptPlusParser();
|
|
19
|
+
* const result = parser.parse(`
|
|
20
|
+
* orb#myOrb {
|
|
21
|
+
* position: [0, 0, 0]
|
|
22
|
+
* @grabbable(snap_to_hand: true)
|
|
23
|
+
* @throwable(bounce: true)
|
|
24
|
+
* }
|
|
25
|
+
* `);
|
|
18
26
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* command: 'create orb myOrb',
|
|
22
|
-
* confidence: 0.95,
|
|
23
|
-
* timestamp: Date.now()
|
|
24
|
-
* });
|
|
25
|
-
*
|
|
26
|
-
* // Execute the AST
|
|
27
|
-
* const results = await runtime.executeProgram(nodes);
|
|
27
|
+
* const runtime = new HoloScriptPlusRuntime(result.ast);
|
|
28
|
+
* await runtime.mount(document.body);
|
|
28
29
|
* ```
|
|
29
30
|
*
|
|
30
31
|
* @packageDocumentation
|
|
@@ -39,9 +40,129 @@ export { HoloScriptParser } from './HoloScriptParser';
|
|
|
39
40
|
export { HoloScript2DParser } from './HoloScript2DParser';
|
|
40
41
|
export { HoloScriptCodeParser, type ParseResult, type ParseError } from './HoloScriptCodeParser';
|
|
41
42
|
|
|
43
|
+
// HoloScript+ Parser (NEW)
|
|
44
|
+
export { HoloScriptPlusParser, createParser, parse as parseHoloScriptPlus } from './parser/HoloScriptPlusParser';
|
|
45
|
+
|
|
46
|
+
// HoloScript+ Enhanced Parser with Trait Annotations (NEW - Phase 3)
|
|
47
|
+
export {
|
|
48
|
+
HoloScriptPlusParser as HoloScriptTraitAnnotationParser,
|
|
49
|
+
type MaterialTraitAnnotation,
|
|
50
|
+
type LightingTraitAnnotation,
|
|
51
|
+
type RenderingTraitAnnotation,
|
|
52
|
+
type GraphicsConfiguration,
|
|
53
|
+
} from './HoloScriptPlusParser';
|
|
54
|
+
|
|
42
55
|
// Runtime
|
|
43
56
|
export { HoloScriptRuntime } from './HoloScriptRuntime';
|
|
44
57
|
|
|
58
|
+
// HoloScript+ Runtime (NEW)
|
|
59
|
+
export { HoloScriptPlusRuntimeImpl } from './runtime/HoloScriptPlusRuntime';
|
|
60
|
+
|
|
61
|
+
// HoloScript+ State Management (NEW)
|
|
62
|
+
export { ReactiveState, createState, reactive, effect, computed, bind } from './state/ReactiveState';
|
|
63
|
+
|
|
64
|
+
// HoloScript+ VR Traits (NEW)
|
|
65
|
+
export { VRTraitRegistry } from './traits/VRTraitSystem';
|
|
66
|
+
|
|
67
|
+
// HoloScript+ Voice Input Trait (NEW - Phase 1)
|
|
68
|
+
export {
|
|
69
|
+
VoiceInputTrait,
|
|
70
|
+
createVoiceInputTrait,
|
|
71
|
+
type VoiceInputConfig,
|
|
72
|
+
type VoiceInputMode,
|
|
73
|
+
type VoiceRecognitionResult,
|
|
74
|
+
type VoiceInputEvent,
|
|
75
|
+
} from './traits/VoiceInputTrait';
|
|
76
|
+
|
|
77
|
+
// HoloScript+ AI Driver NPC Trait (NEW - Phase 1)
|
|
78
|
+
export {
|
|
79
|
+
AIDriverTrait,
|
|
80
|
+
createAIDriverTrait,
|
|
81
|
+
BehaviorTreeRunner,
|
|
82
|
+
GOAPPlanner,
|
|
83
|
+
type AIDriverConfig,
|
|
84
|
+
type DecisionMode,
|
|
85
|
+
type BehaviorNode,
|
|
86
|
+
type NPCContext,
|
|
87
|
+
type NPCGoal,
|
|
88
|
+
type BehaviorState,
|
|
89
|
+
} from './traits/AIDriverTrait';
|
|
90
|
+
|
|
91
|
+
// HoloScript+ Material Trait (NEW - Phase 2: Graphics)
|
|
92
|
+
export {
|
|
93
|
+
MaterialTrait,
|
|
94
|
+
createMaterialTrait,
|
|
95
|
+
MATERIAL_PRESETS,
|
|
96
|
+
type MaterialType,
|
|
97
|
+
type TextureChannel,
|
|
98
|
+
type TextureMap,
|
|
99
|
+
type PBRMaterial,
|
|
100
|
+
type MaterialConfig,
|
|
101
|
+
} from './traits/MaterialTrait';
|
|
102
|
+
|
|
103
|
+
// HoloScript+ Lighting Trait (NEW - Phase 2: Graphics)
|
|
104
|
+
export {
|
|
105
|
+
LightingTrait,
|
|
106
|
+
createLightingTrait,
|
|
107
|
+
LIGHTING_PRESETS,
|
|
108
|
+
type LightType,
|
|
109
|
+
type ShadowType,
|
|
110
|
+
type ShadowConfig,
|
|
111
|
+
type LightSource,
|
|
112
|
+
type GlobalIlluminationConfig,
|
|
113
|
+
} from './traits/LightingTrait';
|
|
114
|
+
|
|
115
|
+
// HoloScript+ Rendering Trait (NEW - Phase 2: Graphics)
|
|
116
|
+
export {
|
|
117
|
+
RenderingTrait,
|
|
118
|
+
createRenderingTrait,
|
|
119
|
+
type CullingMode,
|
|
120
|
+
type LodStrategy,
|
|
121
|
+
type GPUResourceTier,
|
|
122
|
+
type LODLevel,
|
|
123
|
+
type CullingConfig,
|
|
124
|
+
type BatchingConfig,
|
|
125
|
+
type TextureOptimization,
|
|
126
|
+
type ShaderOptimization,
|
|
127
|
+
type RenderingOptimization,
|
|
128
|
+
} from './traits/RenderingTrait';
|
|
129
|
+
|
|
130
|
+
// Performance Telemetry (NEW - Phase 1)
|
|
131
|
+
export {
|
|
132
|
+
PerformanceTelemetry,
|
|
133
|
+
getPerformanceTelemetry,
|
|
134
|
+
type Metric,
|
|
135
|
+
type MetricType,
|
|
136
|
+
type SeverityLevel,
|
|
137
|
+
type PerformanceBudget,
|
|
138
|
+
type FrameTiming,
|
|
139
|
+
type MemorySnapshot,
|
|
140
|
+
type AnalyticsExporter,
|
|
141
|
+
} from './runtime/PerformanceTelemetry';
|
|
142
|
+
|
|
143
|
+
// Hololand Graphics Pipeline Service (NEW - Phase 4)
|
|
144
|
+
export {
|
|
145
|
+
HololandGraphicsPipelineService,
|
|
146
|
+
type MaterialAsset,
|
|
147
|
+
type TextureAsset,
|
|
148
|
+
type ShaderProgram,
|
|
149
|
+
type PlatformConfig,
|
|
150
|
+
type GPUMemoryEstimate,
|
|
151
|
+
type PerformanceMetrics,
|
|
152
|
+
} from './services/HololandGraphicsPipelineService';
|
|
153
|
+
|
|
154
|
+
// Platform Performance Optimizer (NEW - Phase 5)
|
|
155
|
+
export {
|
|
156
|
+
PlatformPerformanceOptimizer,
|
|
157
|
+
type DeviceInfo,
|
|
158
|
+
type PerformanceProfile,
|
|
159
|
+
type AdaptiveQualitySettings,
|
|
160
|
+
type BenchmarkResult,
|
|
161
|
+
type DeviceCapabilities,
|
|
162
|
+
type CompressionFormat,
|
|
163
|
+
type PerformanceRecommendation,
|
|
164
|
+
} from './services/PlatformPerformanceOptimizer';
|
|
165
|
+
|
|
45
166
|
// Type Checker
|
|
46
167
|
export {
|
|
47
168
|
HoloScriptTypeChecker,
|
|
@@ -101,6 +222,24 @@ export type {
|
|
|
101
222
|
TransformationNode,
|
|
102
223
|
GenericASTNode,
|
|
103
224
|
|
|
225
|
+
// VR Types
|
|
226
|
+
Vector3,
|
|
227
|
+
Vector2,
|
|
228
|
+
Color,
|
|
229
|
+
Duration,
|
|
230
|
+
Transform,
|
|
231
|
+
VRHand,
|
|
232
|
+
ThrowVelocity,
|
|
233
|
+
CollisionEvent,
|
|
234
|
+
|
|
235
|
+
// VR Traits
|
|
236
|
+
GrabbableTrait,
|
|
237
|
+
ThrowableTrait,
|
|
238
|
+
PointableTrait,
|
|
239
|
+
HoverableTrait,
|
|
240
|
+
ScalableTrait,
|
|
241
|
+
RotatableTrait,
|
|
242
|
+
|
|
104
243
|
// Phase 2: Loop Nodes
|
|
105
244
|
ForLoopNode,
|
|
106
245
|
WhileLoopNode,
|
|
@@ -109,6 +248,7 @@ export type {
|
|
|
109
248
|
// Phase 2: Module Nodes
|
|
110
249
|
ImportNode,
|
|
111
250
|
ExportNode,
|
|
251
|
+
ImportLoader,
|
|
112
252
|
|
|
113
253
|
// Phase 2: Variable Nodes
|
|
114
254
|
VariableDeclarationNode,
|