string-tune-3d 0.0.5 → 0.0.6
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/dist/index.cjs +118 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +127 -2
- package/dist/index.d.ts +127 -2
- package/dist/index.js +118 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +118 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -74,6 +74,13 @@ interface I3DMaterial {
|
|
|
74
74
|
opacity?: number;
|
|
75
75
|
transparent?: boolean;
|
|
76
76
|
}
|
|
77
|
+
interface I3DRenderTarget {
|
|
78
|
+
texture: any;
|
|
79
|
+
width: number;
|
|
80
|
+
height: number;
|
|
81
|
+
setSize(width: number, height: number): void;
|
|
82
|
+
dispose(): void;
|
|
83
|
+
}
|
|
77
84
|
interface I3DLight extends I3DObject {
|
|
78
85
|
color: any;
|
|
79
86
|
intensity: number;
|
|
@@ -117,6 +124,9 @@ interface I3DRenderer {
|
|
|
117
124
|
enabled: boolean;
|
|
118
125
|
type: any;
|
|
119
126
|
};
|
|
127
|
+
setRenderTarget?(target: I3DRenderTarget | null): void;
|
|
128
|
+
getRenderTarget?(): I3DRenderTarget | null;
|
|
129
|
+
clear?(color?: boolean, depth?: boolean, stencil?: boolean): void;
|
|
120
130
|
}
|
|
121
131
|
interface I3DTextureLoader {
|
|
122
132
|
load(url: string, onLoad?: (texture: any) => void): any;
|
|
@@ -147,6 +157,7 @@ interface I3DEngine {
|
|
|
147
157
|
createCylinderGeometry(radiusTop: number, radiusBottom: number, height: number, segments?: number): I3DGeometry;
|
|
148
158
|
createMeshBasicMaterial(params?: any): I3DMaterial;
|
|
149
159
|
createMeshStandardMaterial(params?: any): I3DMaterial;
|
|
160
|
+
createShaderMaterial?(params?: any): I3DMaterial;
|
|
150
161
|
createPointLight(color?: string | number, intensity?: number, distance?: number, decay?: number): I3DLight;
|
|
151
162
|
createSpotLight(color?: string | number, intensity?: number, distance?: number, angle?: number, penumbra?: number, decay?: number): I3DLight;
|
|
152
163
|
createHemisphereLight(skyColor?: string | number, groundColor?: string | number, intensity?: number): I3DLight;
|
|
@@ -154,6 +165,7 @@ interface I3DEngine {
|
|
|
154
165
|
createDirectionalLight(color?: string | number, intensity?: number): I3DLight;
|
|
155
166
|
createTextureLoader(): I3DTextureLoader;
|
|
156
167
|
createModelLoader(type: string): I3DModelLoader;
|
|
168
|
+
createRenderTarget?(width: number, height: number, options?: any): I3DRenderTarget;
|
|
157
169
|
degToRad(degrees: number): number;
|
|
158
170
|
radToDeg(radians: number): number;
|
|
159
171
|
computeBoundingBoxRecursively(object: I3DObject): I3DBox3;
|
|
@@ -198,6 +210,8 @@ declare class String3D extends StringModule {
|
|
|
198
210
|
private lastSubmittedVersion;
|
|
199
211
|
private scrollTicking;
|
|
200
212
|
private onScrollBound;
|
|
213
|
+
private filterStates;
|
|
214
|
+
private filterWarnings;
|
|
201
215
|
static setProvider(provider: I3DEngineProvider): void;
|
|
202
216
|
constructor(context: StringContext);
|
|
203
217
|
canConnect(object: StringObject): boolean;
|
|
@@ -226,6 +240,27 @@ declare class String3D extends StringModule {
|
|
|
226
240
|
private markDirty;
|
|
227
241
|
private markAllDirty;
|
|
228
242
|
private readNumberStyle;
|
|
243
|
+
private readFilterRaw;
|
|
244
|
+
private parseFilterChain;
|
|
245
|
+
private warnFilterIssues;
|
|
246
|
+
private readFilterChain;
|
|
247
|
+
private collectFilterTargets;
|
|
248
|
+
private stringifyFilterChain;
|
|
249
|
+
private getFilterTransition;
|
|
250
|
+
private splitTransitionList;
|
|
251
|
+
private findTransitionIndex;
|
|
252
|
+
private parseTime;
|
|
253
|
+
private parseTransitionShorthand;
|
|
254
|
+
private parseEasing;
|
|
255
|
+
private cubicBezier;
|
|
256
|
+
private canInterpolate;
|
|
257
|
+
private makeZeroChain;
|
|
258
|
+
private sampleTransition;
|
|
259
|
+
private getCurrentChain;
|
|
260
|
+
private interpolateChain;
|
|
261
|
+
private interpolateEffect;
|
|
262
|
+
private isNumeric;
|
|
263
|
+
private isZeroChain;
|
|
229
264
|
private buildWorkerCameraData;
|
|
230
265
|
private collectWorkerInputs;
|
|
231
266
|
private applyWorkerResults;
|
|
@@ -274,6 +309,8 @@ declare class String3DObject {
|
|
|
274
309
|
private _bbox;
|
|
275
310
|
el: any;
|
|
276
311
|
private _children;
|
|
312
|
+
private _flatObjectsCache;
|
|
313
|
+
private _subtreeCache;
|
|
277
314
|
private engine;
|
|
278
315
|
get children(): String3DObject[];
|
|
279
316
|
constructor(id: string, type: string, object: I3DObject, engine: I3DEngine, options?: {
|
|
@@ -303,6 +340,10 @@ declare class String3DObject {
|
|
|
303
340
|
set geometry(geometry: I3DGeometry | undefined);
|
|
304
341
|
updateBoundingBox(): void;
|
|
305
342
|
destroy(): void;
|
|
343
|
+
getFlatObjects(): I3DObject[];
|
|
344
|
+
getSubtreeObjects(): I3DObject[];
|
|
345
|
+
private invalidateFlatCache;
|
|
346
|
+
private invalidateSubtreeCache;
|
|
306
347
|
private disposeObjectResources;
|
|
307
348
|
}
|
|
308
349
|
|
|
@@ -323,6 +364,7 @@ declare class String3DScene {
|
|
|
323
364
|
constructor(engine: I3DEngine, options?: String3DSceneOptions);
|
|
324
365
|
getScene(): I3DScene;
|
|
325
366
|
getObject(id: string): String3DObject | undefined;
|
|
367
|
+
getAllObjects(): String3DObject[];
|
|
326
368
|
hasObject(id: string): boolean;
|
|
327
369
|
deleteObject(id: string): boolean;
|
|
328
370
|
createFromElement(object: StringObject): void;
|
|
@@ -346,20 +388,87 @@ declare class String3DScene {
|
|
|
346
388
|
destroy(): void;
|
|
347
389
|
}
|
|
348
390
|
|
|
391
|
+
type String3DFilterEffect = {
|
|
392
|
+
type: "blur";
|
|
393
|
+
amount: number;
|
|
394
|
+
} | {
|
|
395
|
+
type: "pixel";
|
|
396
|
+
size: number;
|
|
397
|
+
} | {
|
|
398
|
+
type: "bloom";
|
|
399
|
+
intensity: number;
|
|
400
|
+
threshold: number;
|
|
401
|
+
} | {
|
|
402
|
+
type: "brightness";
|
|
403
|
+
amount: number;
|
|
404
|
+
} | {
|
|
405
|
+
type: "contrast";
|
|
406
|
+
amount: number;
|
|
407
|
+
} | {
|
|
408
|
+
type: "saturate";
|
|
409
|
+
amount: number;
|
|
410
|
+
} | {
|
|
411
|
+
type: "grayscale";
|
|
412
|
+
amount: number;
|
|
413
|
+
} | {
|
|
414
|
+
type: "sepia";
|
|
415
|
+
amount: number;
|
|
416
|
+
} | {
|
|
417
|
+
type: "invert";
|
|
418
|
+
amount: number;
|
|
419
|
+
} | {
|
|
420
|
+
type: "hue-rotate";
|
|
421
|
+
angle: number;
|
|
422
|
+
} | {
|
|
423
|
+
type: "custom";
|
|
424
|
+
name: string;
|
|
425
|
+
uniforms: Record<string, any>;
|
|
426
|
+
};
|
|
427
|
+
type String3DFilterChain = String3DFilterEffect[];
|
|
428
|
+
type String3DFilterTarget = {
|
|
429
|
+
object: String3DObject;
|
|
430
|
+
effects: String3DFilterChain;
|
|
431
|
+
effectsKey: string;
|
|
432
|
+
dirty: boolean;
|
|
433
|
+
};
|
|
434
|
+
|
|
349
435
|
declare class String3DRenderer {
|
|
350
436
|
private _container;
|
|
351
437
|
private _renderer;
|
|
352
438
|
private _width;
|
|
353
439
|
private _height;
|
|
354
440
|
private engine;
|
|
441
|
+
private filterPipeline;
|
|
442
|
+
private filterCache;
|
|
443
|
+
private frameId;
|
|
444
|
+
private lastFrameTime;
|
|
445
|
+
private avgFrameMs;
|
|
446
|
+
private qualityScale;
|
|
447
|
+
private lastQualityChange;
|
|
448
|
+
private filterLayer;
|
|
355
449
|
constructor(container: HTMLElement, engine: I3DEngine);
|
|
356
450
|
attach(): void;
|
|
357
|
-
render(scene: String3DScene, camera: String3DCamera): void;
|
|
451
|
+
render(scene: String3DScene, camera: String3DCamera, filterTargets?: String3DFilterTarget[]): void;
|
|
358
452
|
resize(camera: String3DCamera): void;
|
|
359
453
|
get width(): number;
|
|
360
454
|
get height(): number;
|
|
361
455
|
get renderer(): I3DRenderer;
|
|
362
456
|
destroy(): void;
|
|
457
|
+
private ensureFilterPipeline;
|
|
458
|
+
private canCreateFilterPipeline;
|
|
459
|
+
private collectSubtreeObjects;
|
|
460
|
+
private setVisible;
|
|
461
|
+
private getFilterCenter;
|
|
462
|
+
private injectEffectContext;
|
|
463
|
+
private updateQuality;
|
|
464
|
+
private invalidateFilterCache;
|
|
465
|
+
private evictCache;
|
|
466
|
+
private supportsLayers;
|
|
467
|
+
private hasLayers;
|
|
468
|
+
private applyLayerMask;
|
|
469
|
+
private restoreLayerMask;
|
|
470
|
+
private setCameraLayer;
|
|
471
|
+
private restoreCameraLayer;
|
|
363
472
|
}
|
|
364
473
|
|
|
365
474
|
declare class String3DSynchronizer {
|
|
@@ -373,6 +482,20 @@ declare class String3DSynchronizer {
|
|
|
373
482
|
updateViewportSize(width: number, height: number): void;
|
|
374
483
|
}
|
|
375
484
|
|
|
485
|
+
type String3DCustomFilterDefinition = {
|
|
486
|
+
name: string;
|
|
487
|
+
fragmentShader: string;
|
|
488
|
+
uniforms?: Record<string, any>;
|
|
489
|
+
parse?: (args: string) => Record<string, any> | null;
|
|
490
|
+
};
|
|
491
|
+
declare class String3DCustomFilterRegistry {
|
|
492
|
+
private static filters;
|
|
493
|
+
static register(definition: String3DCustomFilterDefinition): void;
|
|
494
|
+
static get(name: string): String3DCustomFilterDefinition | undefined;
|
|
495
|
+
static has(name: string): boolean;
|
|
496
|
+
static list(): String3DCustomFilterDefinition[];
|
|
497
|
+
}
|
|
498
|
+
|
|
376
499
|
declare class ThreeJSEngine implements I3DEngine {
|
|
377
500
|
private THREE;
|
|
378
501
|
private loaders;
|
|
@@ -399,6 +522,7 @@ declare class ThreeJSEngine implements I3DEngine {
|
|
|
399
522
|
createCylinderGeometry(radiusTop: number, radiusBottom: number, height: number, segments?: number): I3DGeometry;
|
|
400
523
|
createMeshBasicMaterial(params?: any): I3DMaterial;
|
|
401
524
|
createMeshStandardMaterial(params?: any): I3DMaterial;
|
|
525
|
+
createShaderMaterial(params?: any): I3DMaterial;
|
|
402
526
|
createPointLight(color?: string | number, intensity?: number, distance?: number, decay?: number): I3DLight;
|
|
403
527
|
createSpotLight(color?: string | number, intensity?: number, distance?: number, angle?: number, penumbra?: number, decay?: number): I3DLight;
|
|
404
528
|
createHemisphereLight(skyColor?: string | number, groundColor?: string | number, intensity?: number): I3DLight;
|
|
@@ -406,6 +530,7 @@ declare class ThreeJSEngine implements I3DEngine {
|
|
|
406
530
|
createDirectionalLight(color?: string | number, intensity?: number): I3DLight;
|
|
407
531
|
createTextureLoader(): I3DTextureLoader;
|
|
408
532
|
createModelLoader(type: string): I3DModelLoader;
|
|
533
|
+
createRenderTarget(width: number, height: number, options?: any): I3DRenderTarget;
|
|
409
534
|
degToRad(degrees: number): number;
|
|
410
535
|
radToDeg(radians: number): number;
|
|
411
536
|
computeBoundingBoxRecursively(object: I3DObject): I3DBox3;
|
|
@@ -417,4 +542,4 @@ declare class ThreeJSProvider implements I3DEngineProvider {
|
|
|
417
542
|
getName(): string;
|
|
418
543
|
}
|
|
419
544
|
|
|
420
|
-
export { type CameraMode, type I3DBox3, type I3DCamera, type I3DEngine, type I3DEngineProvider, type I3DEuler, type I3DGeometry, type I3DLight, type I3DMaterial, type I3DMatrix4, type I3DMesh, type I3DModelLoader, type I3DObject, type I3DOrthographicCamera, type I3DPerspectiveCamera, type I3DQuaternion, type I3DRenderer, type I3DScene, type I3DTextureLoader, type I3DVector2, type I3DVector3, String3D, String3DCamera, String3DObject, type String3DOptions, String3DRenderer, String3DScene, String3DSynchronizer, ThreeJSEngine, ThreeJSProvider };
|
|
545
|
+
export { type CameraMode, type I3DBox3, type I3DCamera, type I3DEngine, type I3DEngineProvider, type I3DEuler, type I3DGeometry, type I3DLight, type I3DMaterial, type I3DMatrix4, type I3DMesh, type I3DModelLoader, type I3DObject, type I3DOrthographicCamera, type I3DPerspectiveCamera, type I3DQuaternion, type I3DRenderTarget, type I3DRenderer, type I3DScene, type I3DTextureLoader, type I3DVector2, type I3DVector3, String3D, String3DCamera, type String3DCustomFilterDefinition, String3DCustomFilterRegistry, String3DObject, type String3DOptions, String3DRenderer, String3DScene, String3DSynchronizer, ThreeJSEngine, ThreeJSProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -74,6 +74,13 @@ interface I3DMaterial {
|
|
|
74
74
|
opacity?: number;
|
|
75
75
|
transparent?: boolean;
|
|
76
76
|
}
|
|
77
|
+
interface I3DRenderTarget {
|
|
78
|
+
texture: any;
|
|
79
|
+
width: number;
|
|
80
|
+
height: number;
|
|
81
|
+
setSize(width: number, height: number): void;
|
|
82
|
+
dispose(): void;
|
|
83
|
+
}
|
|
77
84
|
interface I3DLight extends I3DObject {
|
|
78
85
|
color: any;
|
|
79
86
|
intensity: number;
|
|
@@ -117,6 +124,9 @@ interface I3DRenderer {
|
|
|
117
124
|
enabled: boolean;
|
|
118
125
|
type: any;
|
|
119
126
|
};
|
|
127
|
+
setRenderTarget?(target: I3DRenderTarget | null): void;
|
|
128
|
+
getRenderTarget?(): I3DRenderTarget | null;
|
|
129
|
+
clear?(color?: boolean, depth?: boolean, stencil?: boolean): void;
|
|
120
130
|
}
|
|
121
131
|
interface I3DTextureLoader {
|
|
122
132
|
load(url: string, onLoad?: (texture: any) => void): any;
|
|
@@ -147,6 +157,7 @@ interface I3DEngine {
|
|
|
147
157
|
createCylinderGeometry(radiusTop: number, radiusBottom: number, height: number, segments?: number): I3DGeometry;
|
|
148
158
|
createMeshBasicMaterial(params?: any): I3DMaterial;
|
|
149
159
|
createMeshStandardMaterial(params?: any): I3DMaterial;
|
|
160
|
+
createShaderMaterial?(params?: any): I3DMaterial;
|
|
150
161
|
createPointLight(color?: string | number, intensity?: number, distance?: number, decay?: number): I3DLight;
|
|
151
162
|
createSpotLight(color?: string | number, intensity?: number, distance?: number, angle?: number, penumbra?: number, decay?: number): I3DLight;
|
|
152
163
|
createHemisphereLight(skyColor?: string | number, groundColor?: string | number, intensity?: number): I3DLight;
|
|
@@ -154,6 +165,7 @@ interface I3DEngine {
|
|
|
154
165
|
createDirectionalLight(color?: string | number, intensity?: number): I3DLight;
|
|
155
166
|
createTextureLoader(): I3DTextureLoader;
|
|
156
167
|
createModelLoader(type: string): I3DModelLoader;
|
|
168
|
+
createRenderTarget?(width: number, height: number, options?: any): I3DRenderTarget;
|
|
157
169
|
degToRad(degrees: number): number;
|
|
158
170
|
radToDeg(radians: number): number;
|
|
159
171
|
computeBoundingBoxRecursively(object: I3DObject): I3DBox3;
|
|
@@ -198,6 +210,8 @@ declare class String3D extends StringModule {
|
|
|
198
210
|
private lastSubmittedVersion;
|
|
199
211
|
private scrollTicking;
|
|
200
212
|
private onScrollBound;
|
|
213
|
+
private filterStates;
|
|
214
|
+
private filterWarnings;
|
|
201
215
|
static setProvider(provider: I3DEngineProvider): void;
|
|
202
216
|
constructor(context: StringContext);
|
|
203
217
|
canConnect(object: StringObject): boolean;
|
|
@@ -226,6 +240,27 @@ declare class String3D extends StringModule {
|
|
|
226
240
|
private markDirty;
|
|
227
241
|
private markAllDirty;
|
|
228
242
|
private readNumberStyle;
|
|
243
|
+
private readFilterRaw;
|
|
244
|
+
private parseFilterChain;
|
|
245
|
+
private warnFilterIssues;
|
|
246
|
+
private readFilterChain;
|
|
247
|
+
private collectFilterTargets;
|
|
248
|
+
private stringifyFilterChain;
|
|
249
|
+
private getFilterTransition;
|
|
250
|
+
private splitTransitionList;
|
|
251
|
+
private findTransitionIndex;
|
|
252
|
+
private parseTime;
|
|
253
|
+
private parseTransitionShorthand;
|
|
254
|
+
private parseEasing;
|
|
255
|
+
private cubicBezier;
|
|
256
|
+
private canInterpolate;
|
|
257
|
+
private makeZeroChain;
|
|
258
|
+
private sampleTransition;
|
|
259
|
+
private getCurrentChain;
|
|
260
|
+
private interpolateChain;
|
|
261
|
+
private interpolateEffect;
|
|
262
|
+
private isNumeric;
|
|
263
|
+
private isZeroChain;
|
|
229
264
|
private buildWorkerCameraData;
|
|
230
265
|
private collectWorkerInputs;
|
|
231
266
|
private applyWorkerResults;
|
|
@@ -274,6 +309,8 @@ declare class String3DObject {
|
|
|
274
309
|
private _bbox;
|
|
275
310
|
el: any;
|
|
276
311
|
private _children;
|
|
312
|
+
private _flatObjectsCache;
|
|
313
|
+
private _subtreeCache;
|
|
277
314
|
private engine;
|
|
278
315
|
get children(): String3DObject[];
|
|
279
316
|
constructor(id: string, type: string, object: I3DObject, engine: I3DEngine, options?: {
|
|
@@ -303,6 +340,10 @@ declare class String3DObject {
|
|
|
303
340
|
set geometry(geometry: I3DGeometry | undefined);
|
|
304
341
|
updateBoundingBox(): void;
|
|
305
342
|
destroy(): void;
|
|
343
|
+
getFlatObjects(): I3DObject[];
|
|
344
|
+
getSubtreeObjects(): I3DObject[];
|
|
345
|
+
private invalidateFlatCache;
|
|
346
|
+
private invalidateSubtreeCache;
|
|
306
347
|
private disposeObjectResources;
|
|
307
348
|
}
|
|
308
349
|
|
|
@@ -323,6 +364,7 @@ declare class String3DScene {
|
|
|
323
364
|
constructor(engine: I3DEngine, options?: String3DSceneOptions);
|
|
324
365
|
getScene(): I3DScene;
|
|
325
366
|
getObject(id: string): String3DObject | undefined;
|
|
367
|
+
getAllObjects(): String3DObject[];
|
|
326
368
|
hasObject(id: string): boolean;
|
|
327
369
|
deleteObject(id: string): boolean;
|
|
328
370
|
createFromElement(object: StringObject): void;
|
|
@@ -346,20 +388,87 @@ declare class String3DScene {
|
|
|
346
388
|
destroy(): void;
|
|
347
389
|
}
|
|
348
390
|
|
|
391
|
+
type String3DFilterEffect = {
|
|
392
|
+
type: "blur";
|
|
393
|
+
amount: number;
|
|
394
|
+
} | {
|
|
395
|
+
type: "pixel";
|
|
396
|
+
size: number;
|
|
397
|
+
} | {
|
|
398
|
+
type: "bloom";
|
|
399
|
+
intensity: number;
|
|
400
|
+
threshold: number;
|
|
401
|
+
} | {
|
|
402
|
+
type: "brightness";
|
|
403
|
+
amount: number;
|
|
404
|
+
} | {
|
|
405
|
+
type: "contrast";
|
|
406
|
+
amount: number;
|
|
407
|
+
} | {
|
|
408
|
+
type: "saturate";
|
|
409
|
+
amount: number;
|
|
410
|
+
} | {
|
|
411
|
+
type: "grayscale";
|
|
412
|
+
amount: number;
|
|
413
|
+
} | {
|
|
414
|
+
type: "sepia";
|
|
415
|
+
amount: number;
|
|
416
|
+
} | {
|
|
417
|
+
type: "invert";
|
|
418
|
+
amount: number;
|
|
419
|
+
} | {
|
|
420
|
+
type: "hue-rotate";
|
|
421
|
+
angle: number;
|
|
422
|
+
} | {
|
|
423
|
+
type: "custom";
|
|
424
|
+
name: string;
|
|
425
|
+
uniforms: Record<string, any>;
|
|
426
|
+
};
|
|
427
|
+
type String3DFilterChain = String3DFilterEffect[];
|
|
428
|
+
type String3DFilterTarget = {
|
|
429
|
+
object: String3DObject;
|
|
430
|
+
effects: String3DFilterChain;
|
|
431
|
+
effectsKey: string;
|
|
432
|
+
dirty: boolean;
|
|
433
|
+
};
|
|
434
|
+
|
|
349
435
|
declare class String3DRenderer {
|
|
350
436
|
private _container;
|
|
351
437
|
private _renderer;
|
|
352
438
|
private _width;
|
|
353
439
|
private _height;
|
|
354
440
|
private engine;
|
|
441
|
+
private filterPipeline;
|
|
442
|
+
private filterCache;
|
|
443
|
+
private frameId;
|
|
444
|
+
private lastFrameTime;
|
|
445
|
+
private avgFrameMs;
|
|
446
|
+
private qualityScale;
|
|
447
|
+
private lastQualityChange;
|
|
448
|
+
private filterLayer;
|
|
355
449
|
constructor(container: HTMLElement, engine: I3DEngine);
|
|
356
450
|
attach(): void;
|
|
357
|
-
render(scene: String3DScene, camera: String3DCamera): void;
|
|
451
|
+
render(scene: String3DScene, camera: String3DCamera, filterTargets?: String3DFilterTarget[]): void;
|
|
358
452
|
resize(camera: String3DCamera): void;
|
|
359
453
|
get width(): number;
|
|
360
454
|
get height(): number;
|
|
361
455
|
get renderer(): I3DRenderer;
|
|
362
456
|
destroy(): void;
|
|
457
|
+
private ensureFilterPipeline;
|
|
458
|
+
private canCreateFilterPipeline;
|
|
459
|
+
private collectSubtreeObjects;
|
|
460
|
+
private setVisible;
|
|
461
|
+
private getFilterCenter;
|
|
462
|
+
private injectEffectContext;
|
|
463
|
+
private updateQuality;
|
|
464
|
+
private invalidateFilterCache;
|
|
465
|
+
private evictCache;
|
|
466
|
+
private supportsLayers;
|
|
467
|
+
private hasLayers;
|
|
468
|
+
private applyLayerMask;
|
|
469
|
+
private restoreLayerMask;
|
|
470
|
+
private setCameraLayer;
|
|
471
|
+
private restoreCameraLayer;
|
|
363
472
|
}
|
|
364
473
|
|
|
365
474
|
declare class String3DSynchronizer {
|
|
@@ -373,6 +482,20 @@ declare class String3DSynchronizer {
|
|
|
373
482
|
updateViewportSize(width: number, height: number): void;
|
|
374
483
|
}
|
|
375
484
|
|
|
485
|
+
type String3DCustomFilterDefinition = {
|
|
486
|
+
name: string;
|
|
487
|
+
fragmentShader: string;
|
|
488
|
+
uniforms?: Record<string, any>;
|
|
489
|
+
parse?: (args: string) => Record<string, any> | null;
|
|
490
|
+
};
|
|
491
|
+
declare class String3DCustomFilterRegistry {
|
|
492
|
+
private static filters;
|
|
493
|
+
static register(definition: String3DCustomFilterDefinition): void;
|
|
494
|
+
static get(name: string): String3DCustomFilterDefinition | undefined;
|
|
495
|
+
static has(name: string): boolean;
|
|
496
|
+
static list(): String3DCustomFilterDefinition[];
|
|
497
|
+
}
|
|
498
|
+
|
|
376
499
|
declare class ThreeJSEngine implements I3DEngine {
|
|
377
500
|
private THREE;
|
|
378
501
|
private loaders;
|
|
@@ -399,6 +522,7 @@ declare class ThreeJSEngine implements I3DEngine {
|
|
|
399
522
|
createCylinderGeometry(radiusTop: number, radiusBottom: number, height: number, segments?: number): I3DGeometry;
|
|
400
523
|
createMeshBasicMaterial(params?: any): I3DMaterial;
|
|
401
524
|
createMeshStandardMaterial(params?: any): I3DMaterial;
|
|
525
|
+
createShaderMaterial(params?: any): I3DMaterial;
|
|
402
526
|
createPointLight(color?: string | number, intensity?: number, distance?: number, decay?: number): I3DLight;
|
|
403
527
|
createSpotLight(color?: string | number, intensity?: number, distance?: number, angle?: number, penumbra?: number, decay?: number): I3DLight;
|
|
404
528
|
createHemisphereLight(skyColor?: string | number, groundColor?: string | number, intensity?: number): I3DLight;
|
|
@@ -406,6 +530,7 @@ declare class ThreeJSEngine implements I3DEngine {
|
|
|
406
530
|
createDirectionalLight(color?: string | number, intensity?: number): I3DLight;
|
|
407
531
|
createTextureLoader(): I3DTextureLoader;
|
|
408
532
|
createModelLoader(type: string): I3DModelLoader;
|
|
533
|
+
createRenderTarget(width: number, height: number, options?: any): I3DRenderTarget;
|
|
409
534
|
degToRad(degrees: number): number;
|
|
410
535
|
radToDeg(radians: number): number;
|
|
411
536
|
computeBoundingBoxRecursively(object: I3DObject): I3DBox3;
|
|
@@ -417,4 +542,4 @@ declare class ThreeJSProvider implements I3DEngineProvider {
|
|
|
417
542
|
getName(): string;
|
|
418
543
|
}
|
|
419
544
|
|
|
420
|
-
export { type CameraMode, type I3DBox3, type I3DCamera, type I3DEngine, type I3DEngineProvider, type I3DEuler, type I3DGeometry, type I3DLight, type I3DMaterial, type I3DMatrix4, type I3DMesh, type I3DModelLoader, type I3DObject, type I3DOrthographicCamera, type I3DPerspectiveCamera, type I3DQuaternion, type I3DRenderer, type I3DScene, type I3DTextureLoader, type I3DVector2, type I3DVector3, String3D, String3DCamera, String3DObject, type String3DOptions, String3DRenderer, String3DScene, String3DSynchronizer, ThreeJSEngine, ThreeJSProvider };
|
|
545
|
+
export { type CameraMode, type I3DBox3, type I3DCamera, type I3DEngine, type I3DEngineProvider, type I3DEuler, type I3DGeometry, type I3DLight, type I3DMaterial, type I3DMatrix4, type I3DMesh, type I3DModelLoader, type I3DObject, type I3DOrthographicCamera, type I3DPerspectiveCamera, type I3DQuaternion, type I3DRenderTarget, type I3DRenderer, type I3DScene, type I3DTextureLoader, type I3DVector2, type I3DVector3, String3D, String3DCamera, type String3DCustomFilterDefinition, String3DCustomFilterRegistry, String3DObject, type String3DOptions, String3DRenderer, String3DScene, String3DSynchronizer, ThreeJSEngine, ThreeJSProvider };
|