@ntalmagor/3drise-common 1.0.25 → 1.0.27
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/build/data/defaults.d.ts +106 -0
- package/build/data/defaults.js +99 -0
- package/build/data/effectsDefaults.d.ts +3 -0
- package/build/data/effectsDefaults.js +56 -0
- package/build/data/index.d.ts +2 -0
- package/build/data/index.js +18 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +4 -0
- package/build/types/generativeEffects.d.ts +275 -0
- package/build/types/generativeEffects.js +9 -0
- package/build/types/index.d.ts +3 -0
- package/build/types/index.js +19 -0
- package/build/types/objectTypeCatalog.d.ts +35 -0
- package/build/types/objectTypeCatalog.js +7 -0
- package/build/types/types.d.ts +1 -0
- package/build/types/types.js +2 -0
- package/build/utils/objectTypeTree.d.ts +6 -0
- package/build/utils/objectTypeTree.js +43 -0
- package/package.json +1 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export declare const DEFAULTS_CONFIGS: {
|
|
2
|
+
rain: {
|
|
3
|
+
color: string;
|
|
4
|
+
size: number;
|
|
5
|
+
opacity: number;
|
|
6
|
+
speed: number;
|
|
7
|
+
density: number;
|
|
8
|
+
windStrength: number;
|
|
9
|
+
windDirection: number;
|
|
10
|
+
turbulence: number;
|
|
11
|
+
splash: boolean;
|
|
12
|
+
};
|
|
13
|
+
text: {
|
|
14
|
+
text: string;
|
|
15
|
+
font: string;
|
|
16
|
+
renderMode: string;
|
|
17
|
+
fontSize: number;
|
|
18
|
+
maxWidth: number;
|
|
19
|
+
lineHeight: number;
|
|
20
|
+
letterSpacing: number;
|
|
21
|
+
textAlign: string;
|
|
22
|
+
anchorX: string;
|
|
23
|
+
anchorY: string;
|
|
24
|
+
};
|
|
25
|
+
grid: {
|
|
26
|
+
cellSize: number;
|
|
27
|
+
cellThickness: number;
|
|
28
|
+
cellColor: string;
|
|
29
|
+
sectionSize: number;
|
|
30
|
+
sectionThickness: number;
|
|
31
|
+
sectionColor: string;
|
|
32
|
+
};
|
|
33
|
+
water: {
|
|
34
|
+
planeSize: number[];
|
|
35
|
+
planeSegments: number;
|
|
36
|
+
};
|
|
37
|
+
stars: {
|
|
38
|
+
rotateSpeed: number;
|
|
39
|
+
count: number;
|
|
40
|
+
color: string;
|
|
41
|
+
opacity: number;
|
|
42
|
+
size: number;
|
|
43
|
+
};
|
|
44
|
+
clouds: {
|
|
45
|
+
speed: number;
|
|
46
|
+
planeSize: number[];
|
|
47
|
+
planeSegments: number;
|
|
48
|
+
};
|
|
49
|
+
earth: {
|
|
50
|
+
sunPosition: number[];
|
|
51
|
+
atmosphereDayColor: string;
|
|
52
|
+
atmosphereTwilightColor: string;
|
|
53
|
+
};
|
|
54
|
+
solarSystem: {
|
|
55
|
+
enableOrbit: boolean;
|
|
56
|
+
enableSelfRotation: boolean;
|
|
57
|
+
showOrbitRings: boolean;
|
|
58
|
+
orbitSpeedMultiplier: number;
|
|
59
|
+
sunColor: string;
|
|
60
|
+
sunRadius: number;
|
|
61
|
+
sunIntensity: number;
|
|
62
|
+
orbitRingColor: string;
|
|
63
|
+
orbitRingOpacity: number;
|
|
64
|
+
};
|
|
65
|
+
shootingStars: {
|
|
66
|
+
enabled: boolean;
|
|
67
|
+
count: number;
|
|
68
|
+
color: string;
|
|
69
|
+
speedRange: number[];
|
|
70
|
+
lengthRange: number[];
|
|
71
|
+
intervalRange: number[];
|
|
72
|
+
trailLengthRange: number[];
|
|
73
|
+
followMouse: boolean;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export declare const DEFAULTS_TRANSFORM: {
|
|
77
|
+
rain: {
|
|
78
|
+
scale: number[];
|
|
79
|
+
};
|
|
80
|
+
water: {
|
|
81
|
+
rotation: number[];
|
|
82
|
+
};
|
|
83
|
+
stars: {
|
|
84
|
+
scale: number[];
|
|
85
|
+
};
|
|
86
|
+
shootingStars: {
|
|
87
|
+
scale: number[];
|
|
88
|
+
};
|
|
89
|
+
clouds: {
|
|
90
|
+
position: number[];
|
|
91
|
+
rotation: number[];
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
export declare const DEFAULTS_MATERIAL: {
|
|
95
|
+
water: {
|
|
96
|
+
materialType: string;
|
|
97
|
+
materialVariant: string;
|
|
98
|
+
};
|
|
99
|
+
stars: {
|
|
100
|
+
materialType: string;
|
|
101
|
+
};
|
|
102
|
+
clouds: {
|
|
103
|
+
materialType: string;
|
|
104
|
+
materialVariant: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULTS_MATERIAL = exports.DEFAULTS_TRANSFORM = exports.DEFAULTS_CONFIGS = void 0;
|
|
4
|
+
exports.DEFAULTS_CONFIGS = {
|
|
5
|
+
rain: {
|
|
6
|
+
color: "#ffffff",
|
|
7
|
+
size: 0.1,
|
|
8
|
+
opacity: 0.5,
|
|
9
|
+
speed: 1.0,
|
|
10
|
+
density: 100,
|
|
11
|
+
windStrength: 0,
|
|
12
|
+
windDirection: 0,
|
|
13
|
+
turbulence: 0,
|
|
14
|
+
splash: false,
|
|
15
|
+
},
|
|
16
|
+
text: {
|
|
17
|
+
text: 'New Text',
|
|
18
|
+
font: 'Arial',
|
|
19
|
+
renderMode: 'bitmap',
|
|
20
|
+
fontSize: 1,
|
|
21
|
+
maxWidth: 10,
|
|
22
|
+
lineHeight: 1,
|
|
23
|
+
letterSpacing: 0,
|
|
24
|
+
textAlign: 'center',
|
|
25
|
+
anchorX: 'center',
|
|
26
|
+
anchorY: 'middle',
|
|
27
|
+
},
|
|
28
|
+
grid: {
|
|
29
|
+
cellSize: 1,
|
|
30
|
+
cellThickness: 1,
|
|
31
|
+
cellColor: '#630c0c',
|
|
32
|
+
sectionSize: 10,
|
|
33
|
+
sectionThickness: 1.5,
|
|
34
|
+
sectionColor: '#ffffff',
|
|
35
|
+
},
|
|
36
|
+
water: {
|
|
37
|
+
planeSize: [100, 100],
|
|
38
|
+
planeSegments: 64,
|
|
39
|
+
},
|
|
40
|
+
stars: {
|
|
41
|
+
rotateSpeed: 0.1,
|
|
42
|
+
count: 5000,
|
|
43
|
+
color: '#ffffff',
|
|
44
|
+
opacity: 1,
|
|
45
|
+
size: 0.1,
|
|
46
|
+
},
|
|
47
|
+
clouds: {
|
|
48
|
+
speed: 1,
|
|
49
|
+
planeSize: [1000, 1000],
|
|
50
|
+
planeSegments: 64,
|
|
51
|
+
},
|
|
52
|
+
earth: {
|
|
53
|
+
sunPosition: [0, 0, 3],
|
|
54
|
+
atmosphereDayColor: '#4db2ff',
|
|
55
|
+
atmosphereTwilightColor: '#bc490b',
|
|
56
|
+
},
|
|
57
|
+
solarSystem: {
|
|
58
|
+
enableOrbit: true,
|
|
59
|
+
enableSelfRotation: true,
|
|
60
|
+
showOrbitRings: true,
|
|
61
|
+
orbitSpeedMultiplier: 1,
|
|
62
|
+
sunColor: '#ffd27a',
|
|
63
|
+
sunRadius: 8,
|
|
64
|
+
sunIntensity: 3,
|
|
65
|
+
orbitRingColor: '#444444',
|
|
66
|
+
orbitRingOpacity: 0.35,
|
|
67
|
+
},
|
|
68
|
+
shootingStars: {
|
|
69
|
+
enabled: true,
|
|
70
|
+
count: 10,
|
|
71
|
+
color: '#ffffff',
|
|
72
|
+
// colors: [],
|
|
73
|
+
speedRange: [0.05, 0.15],
|
|
74
|
+
lengthRange: [50, 150],
|
|
75
|
+
intervalRange: [2, 5],
|
|
76
|
+
trailLengthRange: [10, 100],
|
|
77
|
+
followMouse: false,
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
exports.DEFAULTS_TRANSFORM = {
|
|
81
|
+
rain: { scale: [100, 100, 100] },
|
|
82
|
+
water: { rotation: [-Math.PI / 2, 0, 0] },
|
|
83
|
+
stars: { scale: [500, 500, 500] },
|
|
84
|
+
shootingStars: { scale: [500, 500, 500] },
|
|
85
|
+
clouds: { position: [0, 100, 0], rotation: [-Math.PI / 2, Math.PI, 0] },
|
|
86
|
+
};
|
|
87
|
+
exports.DEFAULTS_MATERIAL = {
|
|
88
|
+
water: {
|
|
89
|
+
materialType: 'water',
|
|
90
|
+
materialVariant: 'Lake',
|
|
91
|
+
},
|
|
92
|
+
stars: {
|
|
93
|
+
materialType: 'particles',
|
|
94
|
+
},
|
|
95
|
+
clouds: {
|
|
96
|
+
materialType: 'clouds',
|
|
97
|
+
materialVariant: 'Sky Clouds Bright',
|
|
98
|
+
}
|
|
99
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GenerativeEffectConfig, GenerativeEffectType } from "../types/generativeEffects";
|
|
2
|
+
export declare const DEFAULT_GENERATIVE_EFFECTS: Record<GenerativeEffectType, GenerativeEffectConfig>;
|
|
3
|
+
export declare const GENERATIVE_EFFECT_LABELS: Record<GenerativeEffectType, string>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// DEFAULTS
|
|
4
|
+
// =============================================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GENERATIVE_EFFECT_LABELS = exports.DEFAULT_GENERATIVE_EFFECTS = void 0;
|
|
7
|
+
exports.DEFAULT_GENERATIVE_EFFECTS = {
|
|
8
|
+
molecules: { type: 'molecules', enabled: true, intensity: 1, speed: 1, color: '#00d4ff', opacity: 0.9, atomCount: 6, orbitRadius: 1.5, atomSize: 0.08, showBonds: true, bondColor: '#ffffff', randomizeAxes: true },
|
|
9
|
+
shockwave: { type: 'shockwave', enabled: true, intensity: 1, speed: 1, color: '#ffffff', opacity: 0.8, ringCount: 2, expansionRadius: 3, thickness: 0.04, intervalSeconds: 2, rimColor: '#88ccff' },
|
|
10
|
+
aura: { type: 'aura', enabled: true, intensity: 1, speed: 1, color: '#7b2fff', opacity: 0.6, layerCount: 3, fresnelPower: 3, pulseSpeed: 1.5, innerColor: '#ffffff', outerColor: '#7b2fff', noiseAmount: 0.3, sizeMultiplier: 1.3 },
|
|
11
|
+
dataStream: { type: 'dataStream', enabled: true, intensity: 1, speed: 1, color: '#00ff88', opacity: 0.85, particleCount: 150, spiralTurns: 3, streamRadius: 1.2, inward: false, particleSize: 0.04 },
|
|
12
|
+
constellation: { type: 'constellation', enabled: true, intensity: 1, speed: 0.3, color: '#ffe066', opacity: 0.9, starCount: 60, connectRadius: 1.2, orbitRadius: 2.0, twinkleSpeed: 2, lineOpacity: 0.3, starSize: 0.05 },
|
|
13
|
+
hologram: { type: 'hologram', enabled: true, intensity: 1, speed: 1, color: '#00ffcc', opacity: 0.5, scanlineCount: 8, scanSpeed: 1.5, scanColor: '#00ffcc', gridEnabled: true, flickerAmount: 0.15, glitchEnabled: true },
|
|
14
|
+
portal: { type: 'portal', enabled: true, intensity: 1, speed: 1, color: '#8800ff', opacity: 0.85, radius: 1.5, spiralTurns: 6, innerGlowColor: '#ffffff', outerGlowColor: '#8800ff', rotationSpeed: 1.2, particleRingEnabled: true, particleCount: 80 },
|
|
15
|
+
dnaHelix: { type: 'dnaHelix', enabled: true, intensity: 0.02, speed: 1, color: '#ff6600', opacity: 0.9, particleCount: 60, strandCount: 2, helixRadius: 0.8, helixHeight: 2.0, basePairColor: '#aaffcc', runningLightEnabled: true },
|
|
16
|
+
orb: { type: 'orb', enabled: true, intensity: 1.5, speed: 1, color: '#7b2fff', opacity: 0.9, coreSize: 0.15, glowLayers: 3, innerColor: '#ffffff', outerColor: '#7b2fff', coronaEnabled: true, coronaColor: '#88ccff', noiseAmount: 0.45, pulseSpeed: 1.5 },
|
|
17
|
+
lightning: { type: 'lightning', enabled: true, intensity: 1, speed: 1, color: '#ffffff', opacity: 0.9, glowColor: '#6699ff', boltCount: 4, branchDepth: 4, branchProbability: 0.5, flickerRate: 10, strikeRadius: 2.0 },
|
|
18
|
+
aurora: { type: 'aurora', enabled: true, intensity: 1, speed: 1, color: '#00ff88', opacity: 0.75, ribbonCount: 6, waveAmplitude: 0.55, colorShift: 0.33, arcWidth: 0.6 },
|
|
19
|
+
fire: { type: 'fire', enabled: true, intensity: 1, speed: 1, color: '#ff3300', opacity: 0.9, radius: 1.0, height: 2.0, radiusScale: 0.5, heightScale: 1.5, turbulence: 1.5, sway: 1.2, tint: '#ff6600', light: true, mode: 'tongues', coverage: 0.85, tongues: 36 },
|
|
20
|
+
forcefield: { type: 'forcefield', enabled: true, intensity: 1, speed: 1, color: '#44aaff', opacity: 0.9, hexSize: 0.06, rippleEnabled: true, shieldColor: '#44aaff', rimColor: '#ffffff' },
|
|
21
|
+
neuralNetwork: { type: 'neuralNetwork', enabled: true, intensity: 1, speed: 1, color: '#00aaff', opacity: 0.9, nodeCount: 20, signalSpeed: 1.2, nodeColor: '#00aaff', pulseColor: '#ffffff', orbitSpeed: 0.3 },
|
|
22
|
+
blackHole: { type: 'blackHole', enabled: true, intensity: 1.5, speed: 1, color: '#ff6600', opacity: 0.95, diskColor: '#ff6600', jetEnabled: true, jetColor: '#88aaff', rotationSpeed: 1.0, tilt: 15 },
|
|
23
|
+
iceCrystals: { type: 'iceCrystals', enabled: true, intensity: 1, speed: 0.5, color: '#88ccff', opacity: 0.9, spikeCount: 30, spikeLength: 1.0, frostEnabled: true, iceColor: '#88ccff', pulseSpeed: 0.4 },
|
|
24
|
+
smokePlume: { type: 'smokePlume', enabled: true, intensity: 1, speed: 1, color: '#aaaaaa', opacity: 0.6, particleCount: 180, height: 2.0, spread: 0.5, smokeColor: '#aaaaaa', turbulence: 0.5 },
|
|
25
|
+
volumetricFog: { type: 'volumetricFog', enabled: true, intensity: 1, speed: 0.4, color: '#cccccc', opacity: 0.5, particleCount: 60, fogRadius: 1.4, driftSpeed: 0.3, fogColor: '#cccccc', density: 0.35 },
|
|
26
|
+
smokeRing: { type: 'smokeRing', enabled: true, intensity: 1, speed: 1, color: '#bbbbbb', opacity: 0.65, ringCount: 2, expansionRadius: 3.0, riseSpeed: 0.5, intervalSeconds: 2.5, smokeColor: '#bbbbbb', thickness: 0.18 },
|
|
27
|
+
flares: { type: 'flares', enabled: true, intensity: 1, speed: 1, color: '#ff6600', opacity: 0.9, shooting: true, maskResolution: 512, maskLayer: 0, radius: 1.0, padding: 0.5, fitKey: 'scale' },
|
|
28
|
+
sparklesBurst: { type: 'sparklesBurst', enabled: true, intensity: 1, speed: 1, color: '#ffffff', opacity: 0.9, coreColor: '#ffffff', burstColor: '#ffffff', loop: true, durationMs: 1000, rayCount: 20, scale: 1.2, hoverColor: '#ffeb99', hoverRadius: 0.5, hoverIntensity: 2 },
|
|
29
|
+
bubbles: { type: 'bubbles', enabled: true, intensity: 1, speed: 1, color: '#00ffff', opacity: 0.8, colors: ['#00ffff', '#88ccff', '#ffffff'], scale: 1.0, spawnRate: 5, floatSpeed: 0.5, iridescence: 0.7, lifetimeMs: 4000 },
|
|
30
|
+
glyphs: { type: 'glyphs', enabled: true, intensity: 1, speed: 1, color: '#ff00ff', opacity: 0.9, ringColor: '#ff00ff', glyphsColor: '#ff00ff', shadesMultiplier: 0.5, hoverColor: '#ffeb99', hoverRadius: 0.5, hoverIntensity: 2, ringRadius: 1.2, glyphCount: 30, rotationSpeed: 0.5, morphSpeed: 0.3 },
|
|
31
|
+
};
|
|
32
|
+
exports.GENERATIVE_EFFECT_LABELS = {
|
|
33
|
+
molecules: 'Molecules',
|
|
34
|
+
shockwave: 'Shockwave',
|
|
35
|
+
aura: 'Aura',
|
|
36
|
+
dataStream: 'Data Stream',
|
|
37
|
+
constellation: 'Constellation',
|
|
38
|
+
hologram: 'Hologram',
|
|
39
|
+
portal: 'Portal',
|
|
40
|
+
dnaHelix: 'DNA Helix',
|
|
41
|
+
orb: 'Orb',
|
|
42
|
+
lightning: 'Lightning',
|
|
43
|
+
aurora: 'Aurora',
|
|
44
|
+
fire: 'Fire',
|
|
45
|
+
forcefield: 'Forcefield',
|
|
46
|
+
neuralNetwork: 'Neural Network',
|
|
47
|
+
blackHole: 'Black Hole',
|
|
48
|
+
iceCrystals: 'Ice Crystals',
|
|
49
|
+
smokePlume: 'Smoke Plume',
|
|
50
|
+
volumetricFog: 'Volumetric Fog',
|
|
51
|
+
smokeRing: 'Smoke Ring',
|
|
52
|
+
flares: 'Flares',
|
|
53
|
+
sparklesBurst: 'Sparkles Burst',
|
|
54
|
+
bubbles: 'Bubbles',
|
|
55
|
+
glyphs: 'Glyphs',
|
|
56
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./defaults"), exports);
|
|
18
|
+
__exportStar(require("./effectsDefaults"), exports);
|
package/build/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export { OAuth2Client } from 'google-auth-library';
|
|
|
18
18
|
export { S3Client, ListBucketsCommand, PutObjectCommand, GetObjectCommand, DeleteObjectCommand, ListObjectsV2Command } from '@aws-sdk/client-s3';
|
|
19
19
|
export { getSequelize } from './database';
|
|
20
20
|
export * from './models/index';
|
|
21
|
+
export * from './data/index';
|
|
22
|
+
export * from './types/index';
|
|
21
23
|
export type { RedisType } from './utils/redisClient';
|
|
22
24
|
export * from './errors/bad-request-error';
|
|
23
25
|
export * from './errors/custom-error';
|
|
@@ -37,3 +39,5 @@ export * from './events/subjects';
|
|
|
37
39
|
export * from './events/types/order-status';
|
|
38
40
|
export * from './events/types/upload-status';
|
|
39
41
|
export * from './utils/types';
|
|
42
|
+
export * from './utils/objectTypeTree';
|
|
43
|
+
export * from './types/types';
|
package/build/index.js
CHANGED
|
@@ -59,6 +59,8 @@ Object.defineProperty(exports, "ListObjectsV2Command", { enumerable: true, get:
|
|
|
59
59
|
var database_1 = require("./database");
|
|
60
60
|
Object.defineProperty(exports, "getSequelize", { enumerable: true, get: function () { return database_1.getSequelize; } });
|
|
61
61
|
__exportStar(require("./models/index"), exports);
|
|
62
|
+
__exportStar(require("./data/index"), exports);
|
|
63
|
+
__exportStar(require("./types/index"), exports);
|
|
62
64
|
__exportStar(require("./errors/bad-request-error"), exports);
|
|
63
65
|
__exportStar(require("./errors/custom-error"), exports);
|
|
64
66
|
__exportStar(require("./errors/database-connection-error"), exports);
|
|
@@ -77,4 +79,6 @@ __exportStar(require("./events/subjects"), exports);
|
|
|
77
79
|
__exportStar(require("./events/types/order-status"), exports);
|
|
78
80
|
__exportStar(require("./events/types/upload-status"), exports);
|
|
79
81
|
__exportStar(require("./utils/types"), exports);
|
|
82
|
+
__exportStar(require("./utils/objectTypeTree"), exports);
|
|
83
|
+
__exportStar(require("./types/types"), exports);
|
|
80
84
|
// export { default as allJson } from './data/all.json';
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
export type GenerativeEffectType = 'molecules' | 'shockwave' | 'aura' | 'dataStream' | 'constellation' | 'hologram' | 'portal' | 'dnaHelix' | 'orb' | 'lightning' | 'aurora' | 'fire' | 'forcefield' | 'neuralNetwork' | 'blackHole' | 'iceCrystals' | 'smokePlume' | 'volumetricFog' | 'smokeRing' | 'flares' | 'sparklesBurst' | 'bubbles' | 'glyphs' | 'fire';
|
|
2
|
+
export interface BaseGenerativeEffectConfig {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
intensity: number;
|
|
5
|
+
speed: number;
|
|
6
|
+
color: string;
|
|
7
|
+
opacity: number;
|
|
8
|
+
}
|
|
9
|
+
export interface MoleculesConfig extends BaseGenerativeEffectConfig {
|
|
10
|
+
atomCount: number;
|
|
11
|
+
orbitRadius: number;
|
|
12
|
+
atomSize: number;
|
|
13
|
+
showBonds: boolean;
|
|
14
|
+
bondColor: string;
|
|
15
|
+
randomizeAxes: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ShockwaveConfig extends BaseGenerativeEffectConfig {
|
|
18
|
+
ringCount: number;
|
|
19
|
+
expansionRadius: number;
|
|
20
|
+
thickness: number;
|
|
21
|
+
intervalSeconds: number;
|
|
22
|
+
rimColor: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AuraConfig extends BaseGenerativeEffectConfig {
|
|
25
|
+
layerCount: number;
|
|
26
|
+
fresnelPower: number;
|
|
27
|
+
pulseSpeed: number;
|
|
28
|
+
innerColor: string;
|
|
29
|
+
outerColor: string;
|
|
30
|
+
noiseAmount: number;
|
|
31
|
+
sizeMultiplier: number;
|
|
32
|
+
}
|
|
33
|
+
export interface DataStreamConfig extends BaseGenerativeEffectConfig {
|
|
34
|
+
particleCount: number;
|
|
35
|
+
spiralTurns: number;
|
|
36
|
+
streamRadius: number;
|
|
37
|
+
inward: boolean;
|
|
38
|
+
particleSize: number;
|
|
39
|
+
}
|
|
40
|
+
export interface ConstellationConfig extends BaseGenerativeEffectConfig {
|
|
41
|
+
starCount: number;
|
|
42
|
+
connectRadius: number;
|
|
43
|
+
orbitRadius: number;
|
|
44
|
+
twinkleSpeed: number;
|
|
45
|
+
lineOpacity: number;
|
|
46
|
+
starSize: number;
|
|
47
|
+
}
|
|
48
|
+
export interface HologramConfig extends BaseGenerativeEffectConfig {
|
|
49
|
+
scanlineCount: number;
|
|
50
|
+
scanSpeed: number;
|
|
51
|
+
scanColor: string;
|
|
52
|
+
gridEnabled: boolean;
|
|
53
|
+
flickerAmount: number;
|
|
54
|
+
glitchEnabled: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface PortalConfig extends BaseGenerativeEffectConfig {
|
|
57
|
+
radius: number;
|
|
58
|
+
spiralTurns: number;
|
|
59
|
+
innerGlowColor: string;
|
|
60
|
+
outerGlowColor: string;
|
|
61
|
+
rotationSpeed: number;
|
|
62
|
+
particleRingEnabled: boolean;
|
|
63
|
+
particleCount: number;
|
|
64
|
+
}
|
|
65
|
+
export interface DnaHelixConfig extends BaseGenerativeEffectConfig {
|
|
66
|
+
particleCount: number;
|
|
67
|
+
strandCount: 2 | 3;
|
|
68
|
+
helixRadius: number;
|
|
69
|
+
helixHeight: number;
|
|
70
|
+
basePairColor: string;
|
|
71
|
+
runningLightEnabled: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface LightningConfig extends BaseGenerativeEffectConfig {
|
|
74
|
+
boltCount: number;
|
|
75
|
+
branchDepth: number;
|
|
76
|
+
branchProbability: number;
|
|
77
|
+
glowColor: string;
|
|
78
|
+
flickerRate: number;
|
|
79
|
+
strikeRadius: number;
|
|
80
|
+
}
|
|
81
|
+
export interface OrbConfig extends BaseGenerativeEffectConfig {
|
|
82
|
+
coreSize: number;
|
|
83
|
+
glowLayers: number;
|
|
84
|
+
innerColor: string;
|
|
85
|
+
outerColor: string;
|
|
86
|
+
coronaEnabled: boolean;
|
|
87
|
+
coronaColor: string;
|
|
88
|
+
noiseAmount: number;
|
|
89
|
+
pulseSpeed: number;
|
|
90
|
+
}
|
|
91
|
+
export interface AuroraConfig extends BaseGenerativeEffectConfig {
|
|
92
|
+
ribbonCount: number;
|
|
93
|
+
waveAmplitude: number;
|
|
94
|
+
colorShift: number;
|
|
95
|
+
arcWidth: number;
|
|
96
|
+
}
|
|
97
|
+
export interface ForcefieldConfig extends BaseGenerativeEffectConfig {
|
|
98
|
+
hexSize: number;
|
|
99
|
+
rippleEnabled: boolean;
|
|
100
|
+
shieldColor: string;
|
|
101
|
+
rimColor: string;
|
|
102
|
+
}
|
|
103
|
+
export interface NeuralNetworkConfig extends BaseGenerativeEffectConfig {
|
|
104
|
+
nodeCount: number;
|
|
105
|
+
signalSpeed: number;
|
|
106
|
+
nodeColor: string;
|
|
107
|
+
pulseColor: string;
|
|
108
|
+
orbitSpeed: number;
|
|
109
|
+
}
|
|
110
|
+
export interface BlackHoleConfig extends BaseGenerativeEffectConfig {
|
|
111
|
+
diskColor: string;
|
|
112
|
+
jetEnabled: boolean;
|
|
113
|
+
jetColor: string;
|
|
114
|
+
rotationSpeed: number;
|
|
115
|
+
tilt: number;
|
|
116
|
+
}
|
|
117
|
+
export interface IceCrystalsConfig extends BaseGenerativeEffectConfig {
|
|
118
|
+
spikeCount: number;
|
|
119
|
+
spikeLength: number;
|
|
120
|
+
frostEnabled: boolean;
|
|
121
|
+
iceColor: string;
|
|
122
|
+
pulseSpeed: number;
|
|
123
|
+
}
|
|
124
|
+
export interface SmokePlumeConfig extends BaseGenerativeEffectConfig {
|
|
125
|
+
particleCount: number;
|
|
126
|
+
height: number;
|
|
127
|
+
spread: number;
|
|
128
|
+
smokeColor: string;
|
|
129
|
+
turbulence: number;
|
|
130
|
+
}
|
|
131
|
+
export interface VolumetricFogConfig extends BaseGenerativeEffectConfig {
|
|
132
|
+
particleCount: number;
|
|
133
|
+
fogRadius: number;
|
|
134
|
+
driftSpeed: number;
|
|
135
|
+
fogColor: string;
|
|
136
|
+
density: number;
|
|
137
|
+
}
|
|
138
|
+
export interface SmokeRingConfig extends BaseGenerativeEffectConfig {
|
|
139
|
+
ringCount: number;
|
|
140
|
+
expansionRadius: number;
|
|
141
|
+
riseSpeed: number;
|
|
142
|
+
intervalSeconds: number;
|
|
143
|
+
smokeColor: string;
|
|
144
|
+
thickness: number;
|
|
145
|
+
}
|
|
146
|
+
export interface FlaresConfig extends BaseGenerativeEffectConfig {
|
|
147
|
+
shooting: boolean;
|
|
148
|
+
maskResolution: number;
|
|
149
|
+
maskLayer: number;
|
|
150
|
+
radius: number;
|
|
151
|
+
padding: number;
|
|
152
|
+
fitKey?: string;
|
|
153
|
+
}
|
|
154
|
+
export interface BubblesConfig extends BaseGenerativeEffectConfig {
|
|
155
|
+
/** Three colors cycled by the thin-film iridescence shader. */
|
|
156
|
+
colors: [string, string, string];
|
|
157
|
+
scale: number;
|
|
158
|
+
opacity: number;
|
|
159
|
+
spawnRate: number;
|
|
160
|
+
floatSpeed: number;
|
|
161
|
+
iridescence: number;
|
|
162
|
+
lifetimeMs: number;
|
|
163
|
+
/** Time multiplier applied to upward float and shader shimmer. */
|
|
164
|
+
speed: number;
|
|
165
|
+
}
|
|
166
|
+
export interface GlyphsConfig extends BaseGenerativeEffectConfig {
|
|
167
|
+
/** Color of the soft underline ring beneath the glyphs. */
|
|
168
|
+
ringColor: string;
|
|
169
|
+
/** Color of the glyph strokes themselves. */
|
|
170
|
+
glyphsColor: string;
|
|
171
|
+
/** Strength of per-glyph RGB shade variation. 0 = uniform color, 1 = ±50% per channel, higher pushes further. */
|
|
172
|
+
shadesMultiplier: number;
|
|
173
|
+
/** Color a glyph shifts toward when the cursor is hovering near it. */
|
|
174
|
+
hoverColor: string;
|
|
175
|
+
/** Radius of the hover-glow falloff in NDC units (0..~1.4). */
|
|
176
|
+
hoverRadius: number;
|
|
177
|
+
/** Strength of the hover effect. 0 = off; 1 = full color swap + glow boost; higher = brighter. */
|
|
178
|
+
hoverIntensity: number;
|
|
179
|
+
/** Visible radius of the ring (drives the plane mesh size). */
|
|
180
|
+
ringRadius: number;
|
|
181
|
+
/** How many glyphs are arranged around the ring (>= 3). */
|
|
182
|
+
glyphCount: number;
|
|
183
|
+
/** Angular rotation speed of the ring (radians/sec multiplier). */
|
|
184
|
+
rotationSpeed: number;
|
|
185
|
+
/** How fast the glyph shapes morph between seeds. 0 = static. */
|
|
186
|
+
morphSpeed: number;
|
|
187
|
+
/** Glow intensity multiplier on top of the base color. */
|
|
188
|
+
intensity: number;
|
|
189
|
+
/** Global opacity of the effect. */
|
|
190
|
+
opacity: number;
|
|
191
|
+
}
|
|
192
|
+
export interface SparklesBurstConfig extends BaseGenerativeEffectConfig {
|
|
193
|
+
/** Hot inner color of the burst core. */
|
|
194
|
+
coreColor: string;
|
|
195
|
+
/** Outer color of the rays and wavefront ring. */
|
|
196
|
+
burstColor: string;
|
|
197
|
+
/** Whether the burst loops continuously or plays once on mount. */
|
|
198
|
+
loop: boolean;
|
|
199
|
+
/** Duration of one full burst cycle, in milliseconds. */
|
|
200
|
+
durationMs: number;
|
|
201
|
+
/** Number of rays radiating from center. */
|
|
202
|
+
rayCount: number;
|
|
203
|
+
/** Plane size in world units. */
|
|
204
|
+
scale: number;
|
|
205
|
+
/** Brightness multiplier. */
|
|
206
|
+
intensity: number;
|
|
207
|
+
/** Global opacity. */
|
|
208
|
+
opacity: number;
|
|
209
|
+
/** Color a burst shifts toward when the cursor hovers near it. */
|
|
210
|
+
hoverColor: string;
|
|
211
|
+
/** NDC radius of the hover-glow falloff. */
|
|
212
|
+
hoverRadius: number;
|
|
213
|
+
/** Strength of hover effect. 0 = off. */
|
|
214
|
+
hoverIntensity: number;
|
|
215
|
+
}
|
|
216
|
+
export interface FireConfig extends BaseGenerativeEffectConfig {
|
|
217
|
+
radius?: number;
|
|
218
|
+
height?: number;
|
|
219
|
+
radiusScale?: number;
|
|
220
|
+
heightScale?: number;
|
|
221
|
+
turbulence?: number;
|
|
222
|
+
sway?: number;
|
|
223
|
+
tint?: string;
|
|
224
|
+
light?: boolean;
|
|
225
|
+
mode?: 'crown' | 'tongues';
|
|
226
|
+
coverage?: number;
|
|
227
|
+
tongues?: number;
|
|
228
|
+
}
|
|
229
|
+
export type GenerativeEffectConfig = ({
|
|
230
|
+
type: 'molecules';
|
|
231
|
+
} & MoleculesConfig) | ({
|
|
232
|
+
type: 'shockwave';
|
|
233
|
+
} & ShockwaveConfig) | ({
|
|
234
|
+
type: 'aura';
|
|
235
|
+
} & AuraConfig) | ({
|
|
236
|
+
type: 'dataStream';
|
|
237
|
+
} & DataStreamConfig) | ({
|
|
238
|
+
type: 'constellation';
|
|
239
|
+
} & ConstellationConfig) | ({
|
|
240
|
+
type: 'hologram';
|
|
241
|
+
} & HologramConfig) | ({
|
|
242
|
+
type: 'portal';
|
|
243
|
+
} & PortalConfig) | ({
|
|
244
|
+
type: 'dnaHelix';
|
|
245
|
+
} & DnaHelixConfig) | ({
|
|
246
|
+
type: 'orb';
|
|
247
|
+
} & OrbConfig) | ({
|
|
248
|
+
type: 'lightning';
|
|
249
|
+
} & LightningConfig) | ({
|
|
250
|
+
type: 'aurora';
|
|
251
|
+
} & AuroraConfig) | ({
|
|
252
|
+
type: 'fire';
|
|
253
|
+
} & FireConfig) | ({
|
|
254
|
+
type: 'forcefield';
|
|
255
|
+
} & ForcefieldConfig) | ({
|
|
256
|
+
type: 'neuralNetwork';
|
|
257
|
+
} & NeuralNetworkConfig) | ({
|
|
258
|
+
type: 'blackHole';
|
|
259
|
+
} & BlackHoleConfig) | ({
|
|
260
|
+
type: 'iceCrystals';
|
|
261
|
+
} & IceCrystalsConfig) | ({
|
|
262
|
+
type: 'smokePlume';
|
|
263
|
+
} & SmokePlumeConfig) | ({
|
|
264
|
+
type: 'volumetricFog';
|
|
265
|
+
} & VolumetricFogConfig) | ({
|
|
266
|
+
type: 'smokeRing';
|
|
267
|
+
} & SmokeRingConfig) | ({
|
|
268
|
+
type: 'flares';
|
|
269
|
+
} & FlaresConfig) | ({
|
|
270
|
+
type: 'sparklesBurst';
|
|
271
|
+
} & SparklesBurstConfig) | ({
|
|
272
|
+
type: 'bubbles';
|
|
273
|
+
} & BubblesConfig) | ({
|
|
274
|
+
type: 'glyphs';
|
|
275
|
+
} & GlyphsConfig);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// GENERATIVE EFFECTS — Visual effects that ADD geometry around objects
|
|
4
|
+
// (atoms, shockwaves, auras, portals, etc.)
|
|
5
|
+
// =============================================================================
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// TOP-LEVEL SETTINGS — stored in object.effects
|
|
9
|
+
// =============================================================================
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./generativeEffects"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./objectTypeCatalog"), exports);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface ObjectTypeItem {
|
|
2
|
+
id: string;
|
|
3
|
+
objectTypeName: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defaultVariant?: string | null;
|
|
6
|
+
iconName: string;
|
|
7
|
+
order?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ObjectVariantItem {
|
|
10
|
+
id: string;
|
|
11
|
+
objectTypeId: string;
|
|
12
|
+
objectTypeName?: string | null;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
tags: string[];
|
|
16
|
+
defaultSettings?: Record<string, any> | null;
|
|
17
|
+
}
|
|
18
|
+
export interface TemplateObjectItem {
|
|
19
|
+
id: string;
|
|
20
|
+
sceneObjectId: string;
|
|
21
|
+
objectTypeId: string;
|
|
22
|
+
objectTypeName?: string | null;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
price?: number | string | null;
|
|
26
|
+
privacy: string;
|
|
27
|
+
createdAt?: string;
|
|
28
|
+
updatedAt?: string;
|
|
29
|
+
createdBy?: string;
|
|
30
|
+
}
|
|
31
|
+
export type ObjectTypeTreeVariant = ObjectVariantItem | TemplateObjectItem;
|
|
32
|
+
export type ObjectTypeWithVariants = ObjectTypeItem & {
|
|
33
|
+
variants: ObjectTypeTreeVariant[];
|
|
34
|
+
};
|
|
35
|
+
export declare const isObjectVariantItem: (item: ObjectTypeTreeVariant) => item is ObjectVariantItem;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CreatedObjectType = 'mesh' | 'model' | 'text' | 'group' | 'custom_primitive' | 'particles' | 'grid' | 'path' | 'gallery' | 'effect' | 'light' | 'space' | 'environment';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ObjectTypeItem, ObjectVariantItem, TemplateObjectItem } from '../types/objectTypeCatalog';
|
|
2
|
+
export type ObjectTypeTreeNode<TObjectType extends ObjectTypeItem = ObjectTypeItem, TVariant extends ObjectVariantItem = ObjectVariantItem, TTemplate extends TemplateObjectItem = TemplateObjectItem> = TObjectType & {
|
|
3
|
+
variants: Array<TVariant | TTemplate>;
|
|
4
|
+
};
|
|
5
|
+
export declare const buildObjectTypeTree: <TObjectType extends ObjectTypeItem, TVariant extends ObjectVariantItem, TTemplate extends TemplateObjectItem>(objectTypes: TObjectType[], objectVariants: TVariant[], templateObjects?: TTemplate[]) => Array<ObjectTypeTreeNode<TObjectType, TVariant, TTemplate>>;
|
|
6
|
+
export declare const toDisplayName: (value: string) => string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toDisplayName = exports.buildObjectTypeTree = void 0;
|
|
4
|
+
const buildObjectTypeTree = (objectTypes, objectVariants, templateObjects = []) => {
|
|
5
|
+
const variantsByTypeId = new Map();
|
|
6
|
+
const templatesByTypeId = new Map();
|
|
7
|
+
for (const variant of objectVariants) {
|
|
8
|
+
const existing = variantsByTypeId.get(variant.objectTypeId);
|
|
9
|
+
if (existing) {
|
|
10
|
+
existing.push(variant);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
variantsByTypeId.set(variant.objectTypeId, [variant]);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
for (const template of templateObjects) {
|
|
17
|
+
const existing = templatesByTypeId.get(template.objectTypeId);
|
|
18
|
+
if (existing) {
|
|
19
|
+
existing.push(template);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
templatesByTypeId.set(template.objectTypeId, [template]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return [...objectTypes]
|
|
26
|
+
.sort((a, b) => { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); })
|
|
27
|
+
.map((objectType) => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
return (Object.assign(Object.assign({}, objectType), { variants: [
|
|
30
|
+
...((_a = variantsByTypeId.get(objectType.id)) !== null && _a !== void 0 ? _a : []),
|
|
31
|
+
...((_b = templatesByTypeId.get(objectType.id)) !== null && _b !== void 0 ? _b : []),
|
|
32
|
+
] }));
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
exports.buildObjectTypeTree = buildObjectTypeTree;
|
|
36
|
+
const toDisplayName = (value) => {
|
|
37
|
+
return value
|
|
38
|
+
.replace(/[_-]+/g, ' ')
|
|
39
|
+
.replace(/\s+/g, ' ')
|
|
40
|
+
.trim()
|
|
41
|
+
.replace(/\b\w/g, (char) => char.toUpperCase());
|
|
42
|
+
};
|
|
43
|
+
exports.toDisplayName = toDisplayName;
|