@luminocity/lemonate-engine 26.3.13 → 26.3.15
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/Player.d.ts +10 -7
- package/dist/SceneGraphCollection.d.ts +7 -2
- package/dist/lemonate.es.js +899 -366
- package/dist/lemonate.js +901 -368
- package/dist/lemonate.min.js +6 -6
- package/dist/lemonate.umd.js +899 -366
- package/dist/player.zip +0 -0
- package/dist/scenegraph/SgAudio.d.ts +2 -2
- package/dist/scenegraph/SgItem.d.ts +3 -3
- package/dist/scenegraph/SgParticles.d.ts +1 -0
- package/dist/scenegraph/SgScriptedMesh.d.ts +1 -1
- package/dist/subsystems/composer/EffectShader.d.ts +2 -14
- package/dist/subsystems/composer/nodes/bloom/LuminosityHighPassShader.d.ts +6 -25
- package/dist/subsystems/composer/nodes/blur/WrappingConvolutionShader.d.ts +2 -26
- package/dist/subsystems/composer/nodes/chromaticAbberation/shader.d.ts +2 -16
- package/dist/subsystems/composer/nodes/colorDepth/shader.d.ts +2 -9
- package/dist/subsystems/composer/nodes/depthOfField/shader.d.ts +2 -23
- package/dist/subsystems/composer/nodes/film/shader.d.ts +2 -25
- package/dist/subsystems/composer/nodes/fog/index.d.ts +1 -2
- package/dist/subsystems/composer/nodes/fog/shader.d.ts +2 -59
- package/dist/subsystems/composer/nodes/glitch/shader.d.ts +2 -25
- package/dist/subsystems/composer/nodes/kawaseBlur/shader.d.ts +2 -18
- package/dist/subsystems/composer/nodes/merge/shader.d.ts +2 -16
- package/dist/subsystems/composer/nodes/outline/shader.d.ts +2 -42
- package/dist/subsystems/composer/nodes/pixelation/shader.d.ts +2 -12
- package/dist/subsystems/composer/nodes/radialBlur/shader.d.ts +2 -19
- package/dist/subsystems/composer/nodes/scanline/shader.d.ts +2 -17
- package/dist/subsystems/composer/nodes/sepia/shader.d.ts +2 -16
- package/dist/subsystems/composer/nodes/shockwave/shader.d.ts +2 -29
- package/dist/subsystems/composer/nodes/ssao/shader.d.ts +2 -37
- package/dist/subsystems/composer/nodes/toneMapping/shader.d.ts +2 -21
- package/dist/subsystems/composer/nodes/vignette/shader.d.ts +2 -9
- package/dist/subsystems/composer/shaders/types.d.ts +3 -1
- package/dist/subsystems/particlesystem/ParticleSystem.d.ts +2 -0
- package/dist/subsystems/particlesystem/ParticleTexturePreview.d.ts +50 -0
- package/dist/subsystems/particlesystem/shaders/common.d.ts +20 -0
- package/dist/subsystems/particlesystem/shaders/particlepreview/shader.d.ts +94 -0
- package/dist/subsystems/particlesystem/shaders/visualisation/shader.d.ts +9 -0
- package/dist/subsystems/scripting/ScriptEngine.d.ts +35 -5
- package/dist/subsystems/scripting/ScriptRunner.d.ts +1 -1
- package/dist/subsystems/scripting/runtime/sceneobjects/RtSgScriptedMesh.d.ts +1 -1
- package/headlessrenderer/ItemRenderer.ts +2 -2
- package/package.json +4 -2
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { WebGLRenderer, Texture, Vector2, Vector4 } from "three";
|
|
2
|
+
import { Engine } from "../../Engine";
|
|
3
|
+
export declare class ParticleTexturePreview {
|
|
4
|
+
private renderer;
|
|
5
|
+
private engine;
|
|
6
|
+
id: string;
|
|
7
|
+
size: number;
|
|
8
|
+
private renderTarget;
|
|
9
|
+
private rtCamera;
|
|
10
|
+
private rtScene;
|
|
11
|
+
private shader;
|
|
12
|
+
private jpegData?;
|
|
13
|
+
constructor(renderer: WebGLRenderer, engine: Engine, id: string, size?: number);
|
|
14
|
+
get lifeRatio(): number;
|
|
15
|
+
set lifeRatio(v: number);
|
|
16
|
+
get time(): number;
|
|
17
|
+
set time(v: number);
|
|
18
|
+
set baseColor(v: Vector4);
|
|
19
|
+
set baseFinalColor(v: Vector4);
|
|
20
|
+
set enableFinalColor(v: boolean);
|
|
21
|
+
set enableTexture(v: boolean);
|
|
22
|
+
set particleTexture(v: Texture | null);
|
|
23
|
+
set maskType(v: number);
|
|
24
|
+
set flipY(v: boolean);
|
|
25
|
+
set textureBlendingFlag(v: boolean);
|
|
26
|
+
set preMultiplyAlphaFlag(v: boolean);
|
|
27
|
+
set blendValue(v: number);
|
|
28
|
+
set hueShift(v: number);
|
|
29
|
+
set randomColorFactor(v: number);
|
|
30
|
+
set angularVelocity(v: number);
|
|
31
|
+
set rotationDirection(v: number);
|
|
32
|
+
set rollSpriteWithLife(v: boolean);
|
|
33
|
+
set enableSpriteFade(v: boolean);
|
|
34
|
+
set spriteSpeed(v: number);
|
|
35
|
+
set spriteRows(v: number);
|
|
36
|
+
set spriteCols(v: number);
|
|
37
|
+
set atlasWidth(v: number);
|
|
38
|
+
set atlasHeight(v: number);
|
|
39
|
+
set fadeMode(v: number);
|
|
40
|
+
set fadeFunction(v: number);
|
|
41
|
+
set fadeApproach(v: number);
|
|
42
|
+
set fadeRange(v: Vector2);
|
|
43
|
+
set fadeInitialOpacity(v: number);
|
|
44
|
+
set fadeFinalOpacity(v: number);
|
|
45
|
+
private handleSetLifeRatio;
|
|
46
|
+
render(): void;
|
|
47
|
+
getTexture(): Promise<string | undefined>;
|
|
48
|
+
emitUpdateEvent(): void;
|
|
49
|
+
destroy(): void;
|
|
50
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared GLSL fragments for particle rendering.
|
|
3
|
+
*
|
|
4
|
+
* Both the visualisation shader (GL_POINTS) and the particle preview shader
|
|
5
|
+
* (fullscreen quad) compose their fragment shaders from these building blocks.
|
|
6
|
+
*
|
|
7
|
+
* Callers of `mainBody` must define these macros before embedding it:
|
|
8
|
+
*
|
|
9
|
+
* POINTCOORD — vec2 [0,1]^2 (gl_PointCoord or vUv)
|
|
10
|
+
* LIFE_RATIO — float [0,1] normalised particle age
|
|
11
|
+
* ROTATION_ANGLE — float per-particle rotation (vRotation or 0.0)
|
|
12
|
+
* ATLAS_INDEX_OFFSET — float atlas cell offset (vAtlasUV.x or 0.0)
|
|
13
|
+
* FADE_ALPHA — float fade factor (vColor.a or 1.0)
|
|
14
|
+
* RANDOM_COLOR — vec3 per-particle random colour (vColor.xyz or vec3(0.5))
|
|
15
|
+
* OUTPUT_COLOR(c) — statement that writes the final vec4 output
|
|
16
|
+
*/
|
|
17
|
+
declare const uniforms = "\n uniform float time;\n uniform float randomColorFactor;\n uniform vec4 baseColor;\n uniform vec4 baseFinalColor;\n uniform bool enableFinalColor;\n uniform bool enableTexture;\n uniform sampler2D particleTexture;\n uniform int maskType; // 0 = none, 1 = circular\n uniform bool textureFlipY;\n uniform bool textureBlendingFlag;\n uniform bool preMultiplyAlphaFlag;\n uniform float blendValue;\n uniform float hueShift;\n uniform float angularVelocity;\n uniform float rotationDirection;\n uniform bool rollSpriteWithLife;\n uniform bool enableSpriteFade;\n uniform float spriteSpeed;\n uniform float spriteRows;\n uniform float spriteCols;\n uniform float atlasWidth;\n uniform float atlasHeight;\n\n // Fade-over-life (mirrored from the visualisation vertex shader)\n uniform int fadeMode; // 0 = constant, 1 = over life, 2 = by velocity\n uniform int fadeFunction; // easing: 0 = linear, 1 = exp, 2 = inv-exp, 3 = ease-in-out\n uniform float fadeApproach; // easing curve strength\n uniform vec2 fadeRange; // (initialOpacity, finalOpacity)\n";
|
|
18
|
+
declare const helpers = "\n float rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n }\n\n float pseudoRandom(vec2 co) {\n float a = 12.9898;\n float b = 78.233;\n float c = 43758.5453;\n float dt = dot(co.xy, vec2(a, b));\n float sn = mod(dt, 3.14);\n return fract(sin(sn) * c);\n }\n\n mat2 getRotationMatrix(float angle) {\n float c = cos(angle);\n float s = sin(angle);\n return mat2(c, s, -s, c);\n }\n\n vec2 getAtlasTexCoord(float index) {\n float imageWidth = atlasWidth / spriteCols;\n float imageHeight = atlasHeight / spriteRows;\n\n float atlasRow = floor(index / spriteCols);\n float atlasColumn = mod(index, spriteCols);\n\n float u = (atlasColumn * imageWidth) / atlasWidth;\n float v = (atlasRow * imageHeight) / atlasHeight;\n\n return vec2(u, v);\n }\n\n float applyEasing(float t, int mode, float k) {\n if (mode == 1) return pow(t, k);\n if (mode == 2) return 1.0 - pow(1.0 - t, k);\n if (mode == 3) return (t < 0.5) ? 0.5 * pow(2.0 * t, k)\n : 1.0 - 0.5 * pow(2.0 * (1.0 - t), k);\n // mode 0 default (linear)\n return t;\n }\n\n /** Compute the fade factor for a given life ratio and fade parameters. */\n float computeFadeFactor(float lifeR, int fMode, int fFunc, float fApproach, vec2 fRange) {\n float eased = applyEasing(lifeR, fFunc, fApproach);\n float fadeConst = fRange.x;\n float fadeLife = mix(fRange.x, fRange.y, eased);\n // For the preview we don't have velocity, so mode 2 falls back to constant\n float factor = fadeConst;\n factor = mix(factor, fadeLife, float(fMode == 1));\n return factor;\n }\n\n vec3 shiftHue(vec3 color, float hueShift) {\n vec3 P = vec3(0.55735) * dot(vec3(0.55735), color);\n vec3 U = color - P;\n vec3 V = cross(vec3(0.55735), U);\n color = U * cos(hueShift * 6.2832) + V * sin(hueShift * 6.2832) + P;\n return color;\n }\n";
|
|
19
|
+
declare const mainBody = "\n // -------------------------------------------------------------------------\n // Step 1 \u2014 Sample base color (texture or flat color)\n // -------------------------------------------------------------------------\n vec2 UV = textureFlipY ? vec2(POINTCOORD.x, 1.0 - POINTCOORD.y) : POINTCOORD;\n mat2 rotationMatrix = getRotationMatrix(rotationDirection * ROTATION_ANGLE * angularVelocity);\n\n vec4 sampledColor;\n if (enableTexture) {\n if (spriteSpeed == 0.0 && !rollSpriteWithLife) {\n vec2 rotatedUV = rotationMatrix * (UV - 0.5) + 0.5;\n sampledColor = texture(particleTexture, rotatedUV);\n } else {\n float spriteIndexFactor = rollSpriteWithLife\n ? (spriteCols * spriteRows * LIFE_RATIO)\n : (spriteSpeed * time);\n float atlasIndex = mod(floor(spriteIndexFactor) + ATLAS_INDEX_OFFSET, spriteRows * spriteCols);\n\n vec2 cellSize = vec2(1.0 / spriteCols, 1.0 / spriteRows);\n vec2 localUV = (UV - 0.5) * 0.9 + 0.5;\n vec2 rotatedUV = rotationMatrix * (localUV - 0.5) + 0.5;\n vec2 atlasUV = getAtlasTexCoord(atlasIndex) + rotatedUV * cellSize;\n\n if (enableSpriteFade) {\n float nextIndex = mod(atlasIndex + 1.0, spriteRows * spriteCols);\n vec2 nextAtlasUV = getAtlasTexCoord(nextIndex) + rotatedUV * cellSize;\n sampledColor = mix(\n texture(particleTexture, atlasUV),\n texture(particleTexture, nextAtlasUV),\n fract(spriteIndexFactor)\n );\n } else {\n sampledColor = texture(particleTexture, atlasUV);\n }\n }\n } else {\n sampledColor = baseColor;\n }\n\n // -------------------------------------------------------------------------\n // Step 2 \u2014 Mix base color with finalColor over lifetime\n // -------------------------------------------------------------------------\n vec4 particleColor = sampledColor;\n\n if (enableFinalColor) {\n vec3 startTint = enableTexture\n ? (textureBlendingFlag ? sampledColor.rgb * baseColor.rgb : sampledColor.rgb)\n : baseColor.rgb;\n vec3 endTint = enableTexture\n ? (textureBlendingFlag ? sampledColor.rgb * baseFinalColor.rgb : sampledColor.rgb)\n : baseFinalColor.rgb;\n particleColor.rgb = mix(startTint, endTint, LIFE_RATIO);\n } else if (textureBlendingFlag && enableTexture) {\n // Only multiply when there's actually a texture to blend with\n particleColor.rgb *= baseColor.rgb;\n particleColor.a *= baseColor.a;\n }\n\n // -------------------------------------------------------------------------\n // Step 3 \u2014 Compute other color variations\n // -------------------------------------------------------------------------\n if (hueShift != 0.0) {\n particleColor.rgb = shiftHue(particleColor.rgb, -hueShift);\n }\n\n if (randomColorFactor > 0.0) {\n particleColor.rgb = mix(particleColor.rgb, RANDOM_COLOR, randomColorFactor);\n }\n\n // -------------------------------------------------------------------------\n // Step 4 \u2014 Alpha computation: shape mask, fading\n // -------------------------------------------------------------------------\n float mask = 1.0;\n if (maskType == 1) {\n float distanceFromCenter = length(POINTCOORD - vec2(0.5));\n mask = smoothstep(0.5, 0.45, distanceFromCenter);\n }\n\n particleColor.a *= mask * FADE_ALPHA;\n if (particleColor.a < 0.001) discard;\n\n if (!preMultiplyAlphaFlag) {\n particleColor.a *= blendValue;\n }\n\n OUTPUT_COLOR(particleColor)\n";
|
|
20
|
+
export { uniforms, helpers, mainBody };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Vector2, Vector4 } from "three";
|
|
2
|
+
/**
|
|
3
|
+
* Shader for rendering a single-particle preview to an off-screen target.
|
|
4
|
+
* Uses a fullscreen quad (PlaneGeometry 2x2) with vUv in place of gl_PointCoord.
|
|
5
|
+
*/
|
|
6
|
+
declare const ParticlePreviewShader: {
|
|
7
|
+
shaderID: string;
|
|
8
|
+
uniforms: {
|
|
9
|
+
lifeRatio: {
|
|
10
|
+
value: number;
|
|
11
|
+
};
|
|
12
|
+
time: {
|
|
13
|
+
value: number;
|
|
14
|
+
};
|
|
15
|
+
baseColor: {
|
|
16
|
+
value: Vector4;
|
|
17
|
+
};
|
|
18
|
+
baseFinalColor: {
|
|
19
|
+
value: Vector4;
|
|
20
|
+
};
|
|
21
|
+
enableFinalColor: {
|
|
22
|
+
value: boolean;
|
|
23
|
+
};
|
|
24
|
+
enableTexture: {
|
|
25
|
+
value: boolean;
|
|
26
|
+
};
|
|
27
|
+
particleTexture: {
|
|
28
|
+
value: null;
|
|
29
|
+
};
|
|
30
|
+
maskType: {
|
|
31
|
+
value: number;
|
|
32
|
+
};
|
|
33
|
+
textureFlipY: {
|
|
34
|
+
value: boolean;
|
|
35
|
+
};
|
|
36
|
+
textureBlendingFlag: {
|
|
37
|
+
value: boolean;
|
|
38
|
+
};
|
|
39
|
+
preMultiplyAlphaFlag: {
|
|
40
|
+
value: boolean;
|
|
41
|
+
};
|
|
42
|
+
blendValue: {
|
|
43
|
+
value: number;
|
|
44
|
+
};
|
|
45
|
+
hueShift: {
|
|
46
|
+
value: number;
|
|
47
|
+
};
|
|
48
|
+
randomColorFactor: {
|
|
49
|
+
value: number;
|
|
50
|
+
};
|
|
51
|
+
angularVelocity: {
|
|
52
|
+
value: number;
|
|
53
|
+
};
|
|
54
|
+
rotationDirection: {
|
|
55
|
+
value: number;
|
|
56
|
+
};
|
|
57
|
+
rollSpriteWithLife: {
|
|
58
|
+
value: boolean;
|
|
59
|
+
};
|
|
60
|
+
enableSpriteFade: {
|
|
61
|
+
value: boolean;
|
|
62
|
+
};
|
|
63
|
+
spriteSpeed: {
|
|
64
|
+
value: number;
|
|
65
|
+
};
|
|
66
|
+
spriteRows: {
|
|
67
|
+
value: number;
|
|
68
|
+
};
|
|
69
|
+
spriteCols: {
|
|
70
|
+
value: number;
|
|
71
|
+
};
|
|
72
|
+
atlasWidth: {
|
|
73
|
+
value: number;
|
|
74
|
+
};
|
|
75
|
+
atlasHeight: {
|
|
76
|
+
value: number;
|
|
77
|
+
};
|
|
78
|
+
fadeMode: {
|
|
79
|
+
value: number;
|
|
80
|
+
};
|
|
81
|
+
fadeFunction: {
|
|
82
|
+
value: number;
|
|
83
|
+
};
|
|
84
|
+
fadeApproach: {
|
|
85
|
+
value: number;
|
|
86
|
+
};
|
|
87
|
+
fadeRange: {
|
|
88
|
+
value: Vector2;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
vertexShader: string;
|
|
92
|
+
fragmentShader: string;
|
|
93
|
+
};
|
|
94
|
+
export { ParticlePreviewShader };
|
|
@@ -28,6 +28,30 @@ type PromiseEntry = {
|
|
|
28
28
|
reject: ((reason: string) => void) | undefined;
|
|
29
29
|
resolve: (() => void) | undefined;
|
|
30
30
|
};
|
|
31
|
+
type RendererDataSet = {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
};
|
|
35
|
+
type TimingDataSet = {
|
|
36
|
+
time: number;
|
|
37
|
+
deltaTime: number;
|
|
38
|
+
gameTime: number;
|
|
39
|
+
deltaGameTime: number;
|
|
40
|
+
deltaGameTimeSmooth: number;
|
|
41
|
+
};
|
|
42
|
+
export type UpdateDataSet = {
|
|
43
|
+
timing: TimingDataSet;
|
|
44
|
+
renderer: RendererDataSet;
|
|
45
|
+
};
|
|
46
|
+
export type ScriptRuntimeData = {
|
|
47
|
+
engine: Engine;
|
|
48
|
+
scriptEngine: ScriptEngine;
|
|
49
|
+
time: number;
|
|
50
|
+
deltaTime: number;
|
|
51
|
+
gameTime: number;
|
|
52
|
+
deltaGameTime: number;
|
|
53
|
+
deltaGameTimeSmooth: number;
|
|
54
|
+
};
|
|
31
55
|
export declare class ScriptEngine {
|
|
32
56
|
engine: Engine;
|
|
33
57
|
itemRepo: ItemRepo;
|
|
@@ -36,7 +60,7 @@ export declare class ScriptEngine {
|
|
|
36
60
|
scriptRunners: Map<string, ScriptRunner>;
|
|
37
61
|
scripts: Map<any, any>;
|
|
38
62
|
eventListeners: Map<any, any>;
|
|
39
|
-
scriptRuntimeData:
|
|
63
|
+
scriptRuntimeData: ScriptRuntimeData;
|
|
40
64
|
scriptRuntime: ScriptRuntime;
|
|
41
65
|
breakpointsMap: any;
|
|
42
66
|
importedLibsPromises: any;
|
|
@@ -60,12 +84,18 @@ export declare class ScriptEngine {
|
|
|
60
84
|
_createBuffer(size: number): LuaBuffer;
|
|
61
85
|
_freeBuffer(buffer: LuaBuffer): void;
|
|
62
86
|
getScriptRuntime(): ScriptRuntime;
|
|
63
|
-
getScriptRuntimeData():
|
|
87
|
+
getScriptRuntimeData(): ScriptRuntimeData;
|
|
64
88
|
resetScriptEngineState(): void;
|
|
65
89
|
tick(deltaTimeMs: number): Promise<any>;
|
|
90
|
+
updateActiveScripts(activeScripts: {
|
|
91
|
+
[k: string]: boolean;
|
|
92
|
+
}): Promise<any>;
|
|
93
|
+
callUpdateHooks(data: UpdateDataSet): Promise<any>;
|
|
94
|
+
callRenderHooks(): Promise<any>;
|
|
95
|
+
callRenderGuiHooks(): Promise<any>;
|
|
66
96
|
packMessage(data: any): Uint8Array<ArrayBufferLike>;
|
|
67
97
|
unpackMessage(data: any): unknown;
|
|
68
|
-
reset(): void
|
|
98
|
+
reset(): Promise<void>;
|
|
69
99
|
waitForLua(): Promise<void>;
|
|
70
100
|
destroy(): void;
|
|
71
101
|
debuggerEnable(): void;
|
|
@@ -90,12 +120,12 @@ export declare class ScriptEngine {
|
|
|
90
120
|
createScript(scriptItem: ScriptItem): Promise<void>;
|
|
91
121
|
updateScript(scriptItem: ScriptItem): Promise<void>;
|
|
92
122
|
deleteScript(scriptItem: ScriptItem): void;
|
|
93
|
-
createInstance(scriptRunner: ScriptRunner): Promise<
|
|
123
|
+
createInstance(scriptRunner: ScriptRunner): Promise<string>;
|
|
94
124
|
deleteInstance(scriptId: string): Promise<void>;
|
|
95
125
|
_parseAndLoadImportedLibs(code: string, scriptItemId: string, scriptItemName: string, level?: number): Promise<void>;
|
|
96
126
|
_importLib(scriptItemId: any, path: any, scriptItemName: any): Promise<any>;
|
|
97
127
|
_disposeBehaviour(scriptId: string): Promise<void>;
|
|
98
|
-
_injectValues(scriptId:
|
|
128
|
+
_injectValues(scriptId: string, scriptItemName: string, scriptRunner: ScriptRunner): Promise<void>;
|
|
99
129
|
_prepareCode(code: string, scriptItemId: string, injectedFields?: any[] | undefined): {
|
|
100
130
|
preparedCode: string;
|
|
101
131
|
breakpointsOffset: number;
|
|
@@ -24,7 +24,7 @@ export declare class ScriptRunner {
|
|
|
24
24
|
setNode(node: any): void;
|
|
25
25
|
setInjectedFields(fields: any): void;
|
|
26
26
|
getInjectedFields(): any;
|
|
27
|
-
loadCode(script: ScriptItem): Promise<
|
|
27
|
+
loadCode(script: ScriptItem): Promise<string>;
|
|
28
28
|
_unloadCode(): Promise<void>;
|
|
29
29
|
existsFunction(name: string, forceFunctionCall?: boolean): any;
|
|
30
30
|
callUpdateHook(deltaTimes: any): Promise<any>;
|
|
@@ -2,7 +2,7 @@ import { RtItem } from '../RtItem';
|
|
|
2
2
|
import { ScriptRuntime } from "@/subsystems/scripting/ScriptRuntime";
|
|
3
3
|
export declare class RtSgScriptedMesh extends RtItem {
|
|
4
4
|
constructor(runtime: ScriptRuntime);
|
|
5
|
-
setAttributeData(params: any): void;
|
|
5
|
+
setAttributeData(params: any, buffers?: any): void;
|
|
6
6
|
computeBoundingBox(params: any): void;
|
|
7
7
|
computeBoundingSphere(params: any): void;
|
|
8
8
|
computeTangents(params: any): void;
|
|
@@ -36,7 +36,7 @@ export class ItemRenderer {
|
|
|
36
36
|
debugMode: boolean;
|
|
37
37
|
browserType: string;
|
|
38
38
|
log: Function;
|
|
39
|
-
previewTypes: string[]
|
|
39
|
+
previewTypes: string[] | undefined;
|
|
40
40
|
|
|
41
41
|
RendererType: any;
|
|
42
42
|
|
|
@@ -78,7 +78,7 @@ export class ItemRenderer {
|
|
|
78
78
|
return this.apiClient.initCaches();
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
setPreviewTypes(types: string[]) {
|
|
81
|
+
setPreviewTypes(types: string[] | undefined) {
|
|
82
82
|
this.previewTypes = types;
|
|
83
83
|
}
|
|
84
84
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luminocity/lemonate-engine",
|
|
3
|
-
"version": "26.3.
|
|
3
|
+
"version": "26.3.15",
|
|
4
4
|
"productName": "Lemonate Engine",
|
|
5
5
|
"repository": "https://codeberg.org/Luminocity/lemonate-engine",
|
|
6
6
|
"homepage": "https://lemonate.io",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@gltf-transform/core": "^4.0.1",
|
|
45
45
|
"@gltf-transform/extensions": "^4.0.1",
|
|
46
|
-
"@luminocity/lemonate-gateway": "8.2.
|
|
46
|
+
"@luminocity/lemonate-gateway": "8.2.25",
|
|
47
47
|
"@msgpack/msgpack": "3.1.1",
|
|
48
48
|
"@recast-navigation/three": "^0.42.0",
|
|
49
49
|
"@sparkjsdev/spark": "^0.1.10",
|
|
@@ -60,6 +60,8 @@
|
|
|
60
60
|
"moment": "2.30.1",
|
|
61
61
|
"opentype.js": "1.3.4",
|
|
62
62
|
"recast-navigation": "^0.42.0",
|
|
63
|
+
"sharp": "^0.34.5",
|
|
64
|
+
"sharp-phash": "^2.2.0",
|
|
63
65
|
"stats-gl": "3.6.0",
|
|
64
66
|
"three": "0.182.0",
|
|
65
67
|
"wavesurfer.js": "7.9.9",
|