@3driseai/3drise-core 1.0.22 → 1.0.24
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/catalog/catalogInfo.d.ts.map +1 -1
- package/dist/catalog/catalogInfo.js +5 -4
- package/dist/catalog/objectCatalog.d.ts.map +1 -1
- package/dist/catalog/objectCatalog.js +2 -7
- package/dist/data/defaults.d.ts +0 -12
- package/dist/data/defaults.d.ts.map +1 -1
- package/dist/data/defaults.js +0 -12
- package/dist/data/particlesDefaults.d.ts.map +1 -1
- package/dist/data/particlesDefaults.js +27 -0
- package/dist/data/textDefaults.d.ts +1 -1
- package/dist/data/textDefaults.d.ts.map +1 -1
- package/dist/data/textDefaults.js +34 -14
- package/dist/environment/terrainConfigs.d.ts +4 -1
- package/dist/environment/terrainConfigs.d.ts.map +1 -1
- package/dist/environment/terrainConfigs.js +28 -28
- package/dist/properties/registry.d.ts +10 -5
- package/dist/properties/registry.d.ts.map +1 -1
- package/dist/properties/registry.js +53 -17
- package/dist/properties/tables/geometryProperties.d.ts +7 -0
- package/dist/properties/tables/geometryProperties.d.ts.map +1 -1
- package/dist/properties/tables/geometryProperties.js +9 -1
- package/dist/properties/tables/optionalProperties.d.ts +12 -0
- package/dist/properties/tables/optionalProperties.d.ts.map +1 -1
- package/dist/properties/tables/optionalProperties.js +5 -0
- package/dist/properties/tables/particlesProperties.d.ts.map +1 -1
- package/dist/properties/tables/particlesProperties.js +38 -0
- package/dist/properties/tables/textProperties.d.ts.map +1 -1
- package/dist/properties/tables/textProperties.js +38 -12
- package/dist/properties/types.d.ts +1 -1
- package/dist/properties/types.d.ts.map +1 -1
- package/dist/services/SceneActions.d.ts +21 -0
- package/dist/services/SceneActions.d.ts.map +1 -1
- package/dist/services/SceneActions.js +65 -0
- package/dist/three/LetterV.d.ts +7 -1
- package/dist/three/LetterV.d.ts.map +1 -1
- package/dist/three/Text2DV.d.ts +7 -1
- package/dist/three/Text2DV.d.ts.map +1 -1
- package/dist/three/Text3DV.d.ts +7 -1
- package/dist/three/Text3DV.d.ts.map +1 -1
- package/dist/types/actions.d.ts +0 -1
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/commands.d.ts +13 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/generativeParticles.d.ts +52 -2
- package/dist/types/generativeParticles.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/objectSettings.d.ts +2 -0
- package/dist/types/objectSettings.d.ts.map +1 -1
- package/dist/types/scene3d.d.ts +30 -0
- package/dist/types/scene3d.d.ts.map +1 -1
- package/dist/types/textObjects.d.ts +22 -3
- package/dist/types/textObjects.d.ts.map +1 -1
- package/dist/types/textObjects.js +3 -3
- package/dist/utils/cameraControls.d.ts +17 -0
- package/dist/utils/cameraControls.d.ts.map +1 -0
- package/dist/utils/cameraControls.js +20 -0
- package/dist/utils/dataUtils.d.ts.map +1 -1
- package/dist/utils/dataUtils.js +0 -6
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/materialVariant.d.ts +10 -0
- package/dist/utils/materialVariant.d.ts.map +1 -0
- package/dist/utils/materialVariant.js +50 -0
- package/dist/utils/objectEffects.d.ts +2 -2
- package/dist/utils/objectEffects.d.ts.map +1 -1
- package/dist/utils/objectEffects.js +3 -4
- package/dist/utils/objectMigration.d.ts.map +1 -1
- package/dist/utils/objectMigration.js +2 -1
- package/dist/utils/textMigration.d.ts +3 -0
- package/dist/utils/textMigration.d.ts.map +1 -0
- package/dist/utils/textMigration.js +56 -0
- package/package.json +1 -1
|
@@ -5,9 +5,9 @@ import { GRIDS_ANIMATABLE } from '../data/gridsDefaults.js';
|
|
|
5
5
|
import { ENVIRONMENT_OBJECTS_ANIMATABLE } from '../data/environmentDefaults.js';
|
|
6
6
|
import { LAND_OBJECTS_ANIMATABLE } from '../data/landDefaults.js';
|
|
7
7
|
import { SPACE_OBJECTS_ANIMATABLE } from '../data/spaceDefaults.js';
|
|
8
|
-
import { TEXT_OBJECTS_ANIMATABLE
|
|
8
|
+
import { TEXT_OBJECTS_ANIMATABLE } from '../data/textDefaults.js';
|
|
9
9
|
import { CLOUD_ANIMATABLE_PROPERTIES } from '../environment/cloudConfigs.js';
|
|
10
|
-
import { skyOptionalProperties, skyStarsOptionalProperties, cloudDeckOptionalProperties, cirrusOptionalProperties, oceanSurfaceOptionalProperties, terrainOptionalProperties, rainOptionalProperties, cloudsOptionalProperties,
|
|
10
|
+
import { skyOptionalProperties, skyStarsOptionalProperties, cloudDeckOptionalProperties, cirrusOptionalProperties, thunderOptionalProperties, oceanSurfaceOptionalProperties, terrainOptionalProperties, rainOptionalProperties, cloudsOptionalProperties, plainOptionalProperties, pathOptionalProperties, edgesOptionalProperties, } from './tables/optionalProperties.js';
|
|
11
11
|
import { SHAPE_CONTROLS, MODE_CONTROLS } from './tables/geometryProperties.js';
|
|
12
12
|
import { LIGHT_PROPERTIES, SHADOW_PROPERTIES } from './tables/lightProperties.js';
|
|
13
13
|
import { PARTICLES_PROPERTIES } from './tables/particlesProperties.js';
|
|
@@ -24,23 +24,20 @@ import { MATERIAL_PROPERTY_BOUNDS } from './tables/materialBounds.js';
|
|
|
24
24
|
/** Rain object knobs driven per frame. */
|
|
25
25
|
export const RAIN_ANIMATABLE_KEYS = ['color', 'size', 'opacity', 'speed', 'windStrength', 'windDirection', 'turbulence'];
|
|
26
26
|
/** Material keys that are engine bookkeeping, never a property. */
|
|
27
|
-
const MATERIAL_INTERNAL = new Set(['handlers', '
|
|
28
|
-
/** Material keys that are settable but never per frame (identity, render state).
|
|
27
|
+
const MATERIAL_INTERNAL = new Set(['handlers', 'uHasTexture', 'u_time', 'u_mouse', 'u_resolution']);
|
|
28
|
+
/** Material keys that are settable but never per frame (identity, render state). `apply`: whether the
|
|
29
|
+
* 3drise material is applied at all (off = a model keeps its own GLB materials) — a switch like the rest. */
|
|
29
30
|
const MATERIAL_STRUCTURAL = new Set([
|
|
30
|
-
'materialType', 'materialVariant', 'materialName', 'name', 'side', 'visible', 'map',
|
|
31
|
+
'apply', 'materialType', 'materialVariant', 'materialName', 'name', 'side', 'visible', 'map',
|
|
31
32
|
'wireframe', 'transparent', 'flatShading',
|
|
32
33
|
]);
|
|
33
34
|
/**
|
|
34
35
|
* Objects that own their shader: their materialSettings (if any) never reach the
|
|
35
36
|
* renderer, so they have no material properties. They animate through config.
|
|
36
37
|
*/
|
|
37
|
-
export const SELF_MANAGED_MATERIAL_TYPES = new Set(['effect', 'grid', 'light', 'particles', 'environment', 'space', 'land']);
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
* Object type 'text' also hosts the legacy bitmap / 3D text, which keeps its material, so text is decided per
|
|
41
|
-
* object (config.type), not by type. Use this, never the set alone, wherever the material panel is decided.
|
|
42
|
-
*/
|
|
43
|
-
export const selfManagesMaterial = (obj) => !!obj && (SELF_MANAGED_MATERIAL_TYPES.has(obj.type) || (obj.type === 'text' && isTextObjectConfig(obj.config)));
|
|
38
|
+
export const SELF_MANAGED_MATERIAL_TYPES = new Set(['effect', 'grid', 'light', 'particles', 'environment', 'space', 'land', 'text']);
|
|
39
|
+
/** True when the object draws with its own shaders (the object types above): it gets no material specs. */
|
|
40
|
+
export const selfManagesMaterial = (obj) => !!obj && SELF_MANAGED_MATERIAL_TYPES.has(obj.type);
|
|
44
41
|
const CAMERA_SPECS = [
|
|
45
42
|
{ key: 'position', name: 'position', label: 'Position', kind: 'vec3', domain: 'camera', animatable: true },
|
|
46
43
|
{ key: 'controls.target', name: 'target', label: 'Target', kind: 'vec3', domain: 'camera', animatable: true },
|
|
@@ -192,6 +189,8 @@ function controlSpecs(controls, prefix, group) {
|
|
|
192
189
|
animatable: false,
|
|
193
190
|
default: c.default,
|
|
194
191
|
};
|
|
192
|
+
if (c.type === 'select')
|
|
193
|
+
spec.options = c.options.map((value, i) => (c.optionLabels?.[i] ? { value, label: c.optionLabels[i] } : { value }));
|
|
195
194
|
if (c.type === 'range') {
|
|
196
195
|
spec.min = c.min;
|
|
197
196
|
spec.max = c.max;
|
|
@@ -249,7 +248,7 @@ function familyOf(obj) {
|
|
|
249
248
|
// Land objects only under their own object type: their keys are landform names ('hills'…).
|
|
250
249
|
if (type === 'land' && LAND_OBJECTS_ANIMATABLE[t])
|
|
251
250
|
return land();
|
|
252
|
-
// Text looks only under the text object type,
|
|
251
|
+
// Text looks only under the text object type (plain, handwriting, …).
|
|
253
252
|
if (type === 'text' && TEXT_OBJECTS_ANIMATABLE[t])
|
|
254
253
|
return text();
|
|
255
254
|
if (t === 'rain')
|
|
@@ -266,8 +265,6 @@ function familyOf(obj) {
|
|
|
266
265
|
if (GENERATIVE_PARTICLES_ANIMATABLE[t])
|
|
267
266
|
return particles();
|
|
268
267
|
}
|
|
269
|
-
if (type === 'text')
|
|
270
|
-
return { domain: 'config', list: textOptionalProperties, animatable: null };
|
|
271
268
|
if (type === 'plain')
|
|
272
269
|
return { domain: 'config', list: plainOptionalProperties, animatable: null };
|
|
273
270
|
if (type === 'path')
|
|
@@ -300,6 +297,15 @@ function configSpecs(obj) {
|
|
|
300
297
|
const kind = kindOfValue(name, obj?.config?.[name]) ?? 'number';
|
|
301
298
|
out.push({ key: `${prefix}${name}`, name, label: label || propertyLabel(name), kind, domain, animatable: true });
|
|
302
299
|
}
|
|
300
|
+
// Text's draw / erase trigger (config.shown: on plays the draw animation, off the erase).
|
|
301
|
+
// Its controller shows it as the Shown button; the per-look tables don't list it.
|
|
302
|
+
if (domain === 'text' && !seen.has('shown')) {
|
|
303
|
+
out.push({
|
|
304
|
+
key: `${prefix}shown`, name: 'shown', label: 'Shown',
|
|
305
|
+
description: 'The draw / erase trigger: switching it on plays the draw animation, off plays the erase animation (the text then stays hidden)',
|
|
306
|
+
kind: 'boolean', domain, animatable: false, default: true,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
303
309
|
if (domain === 'light') {
|
|
304
310
|
for (const p of SHADOW_PROPERTIES[obj.config.type] ?? []) {
|
|
305
311
|
out.push({ ...fromOptional(p, 'config.shadow.', 'shadow', false), group: 'shadow' });
|
|
@@ -332,6 +338,7 @@ function environmentSpecs(element, settings) {
|
|
|
332
338
|
return [
|
|
333
339
|
...envSpecs(cloudDeckOptionalProperties(settings?.config?.deckType), 'config.', 'clouds'),
|
|
334
340
|
...envSpecs(cirrusOptionalProperties, 'cirrus.', 'cirrus'),
|
|
341
|
+
...envSpecs(thunderOptionalProperties, 'thunder.', 'thunder'),
|
|
335
342
|
];
|
|
336
343
|
case 'ocean':
|
|
337
344
|
return envSpecs(oceanSurfaceOptionalProperties(settings?.config?.waterType, settings?.config?.host), 'config.', 'ocean');
|
|
@@ -359,8 +366,14 @@ export function getPropertySpecs(element, settings) {
|
|
|
359
366
|
export function isPropertyLive(element, spec, settings) {
|
|
360
367
|
if (spec.domain === 'edges')
|
|
361
368
|
return settings?.edgesSettings?.enabled !== false;
|
|
362
|
-
if (element === 'clouds')
|
|
363
|
-
|
|
369
|
+
if (element === 'clouds') {
|
|
370
|
+
if (spec.domain === 'cirrus')
|
|
371
|
+
return !!settings?.cirrus?.enabled;
|
|
372
|
+
// Lightning needs cloud to strike in: the deck, and the thunder block itself.
|
|
373
|
+
if (spec.domain === 'thunder')
|
|
374
|
+
return !!settings?.config?.enabled && (spec.name === 'enabled' || !!settings?.thunder?.enabled);
|
|
375
|
+
return !!settings?.config?.enabled;
|
|
376
|
+
}
|
|
364
377
|
if (spec.domain === 'stars')
|
|
365
378
|
return settings?.stars?.visible !== false;
|
|
366
379
|
return true;
|
|
@@ -383,6 +396,29 @@ export function getTrackSpecs(element, settings) {
|
|
|
383
396
|
return specs;
|
|
384
397
|
return specs.filter(s => s.domain === 'transform' || s.domain === 'material' || s.domain === 'edges' || TRACK_CONFIG_DOMAINS.has(s.domain));
|
|
385
398
|
}
|
|
399
|
+
/**
|
|
400
|
+
* Text settings that configure HOW it draws / erases / replays — read only when a draw or
|
|
401
|
+
* erase starts, so keying them changes nothing you'd see. The timeline drives text with
|
|
402
|
+
* Shown (config.enabled) instead; these stay panel settings.
|
|
403
|
+
*/
|
|
404
|
+
const TEXT_LIFECYCLE = new Set([
|
|
405
|
+
'drawMethod', 'drawDuration', 'drawEase', 'drawStagger', 'drawAngle',
|
|
406
|
+
'eraseMethod', 'eraseDuration', 'eraseEase', 'eraseStagger', 'eraseAngle',
|
|
407
|
+
'autoPlay', 'loop', 'yoyo', 'holdTime', 'hiddenTime',
|
|
408
|
+
]);
|
|
409
|
+
/** Kinds a structural (discrete) track can hold: a key value the timeline can edit. */
|
|
410
|
+
const DISCRETE_KINDS = new Set(['number', 'boolean', 'string', 'select', 'color', 'vec3', 'vec2']);
|
|
411
|
+
/**
|
|
412
|
+
* Structural properties a clip can key as DISCRETE tracks (timeline): not writable per
|
|
413
|
+
* frame, so the clip sets them at its keys — the runtime lays the values at the playhead
|
|
414
|
+
* over the element's settings through the SceneActions patch layer, like an action, and
|
|
415
|
+
* the element re-renders. Every domain qualifies (it goes through the settings path, not
|
|
416
|
+
* a live handle); textures don't (no key editor for them). Not filtered by
|
|
417
|
+
* isPropertyLive: the switch that turns a layer on is itself one of these.
|
|
418
|
+
*/
|
|
419
|
+
export function getDiscreteTrackSpecs(element, settings) {
|
|
420
|
+
return getPropertySpecs(element, settings).filter(s => !s.animatable && DISCRETE_KINDS.has(s.kind) && !(s.domain === 'text' && TEXT_LIFECYCLE.has(s.name)));
|
|
421
|
+
}
|
|
386
422
|
export function getPropertySpec(element, settings, key) {
|
|
387
423
|
return getPropertySpecs(element, settings).find(s => s.key === key);
|
|
388
424
|
}
|
|
@@ -20,6 +20,13 @@ export type ControlOf<K extends string> = {
|
|
|
20
20
|
key: K;
|
|
21
21
|
label: string;
|
|
22
22
|
default: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: 'select';
|
|
25
|
+
key: K;
|
|
26
|
+
label: string;
|
|
27
|
+
options: string[];
|
|
28
|
+
optionLabels?: string[];
|
|
29
|
+
default: string;
|
|
23
30
|
};
|
|
24
31
|
type OptKey = keyof GeometryShapeConfig & string;
|
|
25
32
|
export declare const SHAPE_CONTROLS: Record<ShapeName, ControlOf<OptKey>[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometryProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/geometryProperties.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"geometryProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/geometryProperties.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG9G,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACjK;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAY3G,KAAK,MAAM,GAAG,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAGjD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CA4CjE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAkC,SAAS,EAAE,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,SAAmB,GAAG,mBAAmB,CAIlF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,SAAmB,GAAG,mBAAmB,CAEjF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,WAAqB,GAAG,UAAU,CAEzE;AAED,KAAK,MAAM,GAAG,MAAM,UAAU,GAAG,MAAM,CAAC;AAIxC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAYlE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,EAInE,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYlD,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { TEXT_FONTS } from '../../data/textDefaults.js';
|
|
1
2
|
const int = (key, label, min, max, def) => ({ type: 'range', key, label, min, max, step: 1, default: def });
|
|
2
3
|
const num = (key, label, min, max, step, def) => ({ type: 'range', key, label, min, max, step, default: def, digits: 2 });
|
|
3
4
|
const ang = (key, label, def) => ({ type: 'range', key, label, min: 0, max: Math.PI * 2, step: 0.05, default: def, digits: 2, unit: 'rad' });
|
|
4
5
|
const str = (key, label, def) => ({ type: 'text', key, label, default: def });
|
|
6
|
+
const sel = (key, label, options, optionLabels, def) => ({ type: 'select', key, label, options, optionLabels, default: def });
|
|
7
|
+
const tog = (key, label, def) => ({ type: 'toggle', key, label, default: def });
|
|
5
8
|
const CURVE = int('curveSegments', 'Curve detail', 6, 160, 64);
|
|
6
9
|
export const SHAPE_CONTROLS = {
|
|
7
10
|
heart: [CURVE],
|
|
@@ -39,7 +42,12 @@ export const SHAPE_CONTROLS = {
|
|
|
39
42
|
arcPlane: [num('radius', 'Radius', 0.2, 3, 0.01, 1), num('width', 'Band width', 0.02, 1, 0.01, 0.2), ang('startAngle', 'Start angle', 0), ang('endAngle', 'End angle', Math.PI), int('segments', 'Segments', 3, 128, 32)],
|
|
40
43
|
bentPlane: [num('radius', 'Radius', 0.2, 5, 0.01, 2), num('height', 'Height', 0.1, 3, 0.01, 1), ang('arc', 'Arc', Math.PI / 2), int('widthSegments', 'Width segments', 1, 64, 32), int('heightSegments', 'Height segments', 1, 64, 1)],
|
|
41
44
|
bentPlaneInverse: [num('radius', 'Radius', 0.2, 5, 0.01, 2), num('height', 'Height', 0.1, 3, 0.01, 1), ang('arc', 'Arc', Math.PI / 2), int('widthSegments', 'Width segments', 1, 64, 32), int('heightSegments', 'Height segments', 1, 64, 1)],
|
|
42
|
-
|
|
45
|
+
// the string extruded into a solid from the packed outline fonts (the text looks' font list)
|
|
46
|
+
text: [
|
|
47
|
+
str('text', 'Text', 'Hello'), sel('font', 'Font', TEXT_FONTS.map((f) => f.id), TEXT_FONTS.map((f) => f.label), 'inter'),
|
|
48
|
+
num('size', 'Size', 0.2, 3, 0.01, 1), num('height', 'Depth', 0.02, 1, 0.01, 0.2), num('letterSpacing', 'Letter spacing', -0.1, 0.5, 0.005, 0),
|
|
49
|
+
tog('bevelEnabled', 'Bevel', true), num('bevelThickness', 'Bevel depth', 0, 0.1, 0.002, 0.02), num('bevelSize', 'Bevel size', 0, 0.1, 0.002, 0.015), int('bevelSegments', 'Bevel segments', 1, 8, 3),
|
|
50
|
+
],
|
|
43
51
|
point: [num('size', 'Size', 0.02, 0.5, 0.01, 0.1)],
|
|
44
52
|
custom: [],
|
|
45
53
|
};
|
|
@@ -17,7 +17,19 @@ export interface OptionalProperty {
|
|
|
17
17
|
unit?: string;
|
|
18
18
|
/** Value the panel shows when the settings do not carry one yet. */
|
|
19
19
|
default?: unknown;
|
|
20
|
+
/** Controller tab the row lives on, overriding the panel's own grouping (e.g. a particles 'shells' tab). */
|
|
21
|
+
tab?: string;
|
|
22
|
+
/** The panel shows the row only while every condition holds: `{ key, is }` (equal) or `{ key, not }` (different),
|
|
23
|
+
* read from the current values over the defaults. Display only — the knob keeps its value either way. */
|
|
24
|
+
showWhen?: PropertyCondition[];
|
|
20
25
|
}
|
|
26
|
+
export interface PropertyCondition {
|
|
27
|
+
key: string;
|
|
28
|
+
is?: unknown;
|
|
29
|
+
not?: unknown;
|
|
30
|
+
}
|
|
31
|
+
/** Whether a row's showWhen holds for these values (rows without one are always shown). */
|
|
32
|
+
export declare function isPropertyShown(def: OptionalProperty, values: Record<string, unknown>): boolean;
|
|
21
33
|
export declare const skyOptionalProperties: OptionalProperty[];
|
|
22
34
|
export declare const skyStarsOptionalProperties: OptionalProperty[];
|
|
23
35
|
export declare const oceanOptionalProperties: OptionalProperty[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionalProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/optionalProperties.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;gFAC4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"optionalProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/optionalProperties.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;gFAC4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4GAA4G;IAC5G,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;8GAC0G;IAC1G,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE/F;AAID,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAOnD,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,EAQxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAmCrD,CAAC;AAKF,OAAO,EAIH,KAAK,WAAW,EAIhB,KAAK,SAAS,EACd,KAAK,SAAS,EAKd,KAAK,aAAa,EACrB,MAAM,yBAAyB,CAAC;AA0CjC,eAAO,MAAM,yBAAyB,GAAI,OAAO,WAAW,KAAG,gBAAgB,EAI9E,CAAC;AAyCF,wDAAwD;AACxD,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,EAAE,OAAO,SAAS,KAAG,gBAAgB,EAGnG,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EAY5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EAY9D,CAAC;AA8BF,eAAO,MAAM,2BAA2B,GAAI,OAAO,aAAa,KAAG,gBAAgB,EAGlF,CAAC;AAEF;;sCAEsC;AACtC,eAAO,MAAM,oCAAoC,EAAE,gBAAgB,EAChB,CAAC;AAEpD,eAAO,MAAM,kCAAkC,EAAE,gBAAgB,EAChB,CAAC;AAElD;;2CAE2C;AAC3C,eAAO,MAAM,kCAAkC,EAAE,gBAAgB,EAWhE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EAiEpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAqGrD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EA6BpD,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EASpD,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EAKpD,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAKrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAsBnD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAsCrD,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,EA8C7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAYnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAqBtD,CAAC;AAWF,OAAO,EAMH,KAAK,aAAa,EACrB,MAAM,yBAAyB,CAAC;AA6BjC,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,GAAI,WAAW,aAAa,KAAG,gBAAgB,EAGtF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAGtD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,EAGvD,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EAO5D,CAAC;AAaF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqBzD;wEACwE;AACxE,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqBzD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAKrD,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,6BAA6B,GAAI,QAAQ,aAAa,KAAG,gBAAgB,EAKrF,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,+BAA+B,GAAI,QAAQ,aAAa,KAAG,gBAAgB,EAGvF,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EAG1D,CAAC;AAGF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;CAYhC,CAAC;AAGX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,6BAA6B,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** Whether a row's showWhen holds for these values (rows without one are always shown). */
|
|
2
|
+
export function isPropertyShown(def, values) {
|
|
3
|
+
return !def.showWhen || def.showWhen.every((c) => ('is' in c ? values[c.key] === c.is : values[c.key] !== c.not));
|
|
4
|
+
}
|
|
1
5
|
// The sky panel's own ranges (SkyControllerUi renders from these). Elevation goes
|
|
2
6
|
// below the horizon for dusk / night; azimuth is signed around north.
|
|
3
7
|
export const skyOptionalProperties = [
|
|
@@ -11,6 +15,7 @@ export const skyOptionalProperties = [
|
|
|
11
15
|
// The sky's built-in stars (SkyStars): keyed under `stars.` on SkySettings. count and
|
|
12
16
|
// milkyWay rebuild the dome, so they are structural; the rest are uniforms.
|
|
13
17
|
export const skyStarsOptionalProperties = [
|
|
18
|
+
{ name: 'visible', label: 'Visible', description: 'Show the night sky. With a sky on they come out after dark; with no sky they are a stand-alone layer', type: 'boolean', animatable: false, default: true },
|
|
14
19
|
{ name: 'brightness', label: 'Brightness', description: 'How bright the stars are once it is dark', type: 'number', min: 0, max: 4, step: 0.05, default: 1 },
|
|
15
20
|
{ name: 'count', label: 'Count', description: 'How many stars fill the sky', type: 'number', min: 500, max: 20000, step: 100, animatable: false, default: 4000 },
|
|
16
21
|
{ name: 'size', label: 'Size', description: 'Size of the star points', type: 'number', min: 0.3, max: 3, step: 0.05, default: 1 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"particlesProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/particlesProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EA0B5D,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,EAyB7D,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,gBAAgB,EA0BnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,gBAAgB,EA0BjE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EAyB5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,EA0BzD,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,gBAAgB,EAwB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,EA0B3D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EA0B1D,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG7D,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgBlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"particlesProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/particlesProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EA0B5D,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,EAyB7D,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,gBAAgB,EA0BnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,gBAAgB,EA0BjE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,gBAAgB,EAyB5D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,gBAAgB,EA0B9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,EA0BzD,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,gBAAgB,EAwB/D,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,EA0B3D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,EA0B1D,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG7D,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgBlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,CAkDpF,CAAC"}
|
|
@@ -331,4 +331,42 @@ export const PARTICLES_PROPERTIES = {
|
|
|
331
331
|
magneticBottle: magneticBottleParticlesProperties,
|
|
332
332
|
shapeBurst: shapeBurstParticlesProperties,
|
|
333
333
|
shapeFlow: shapeFlowParticlesProperties,
|
|
334
|
+
fireworks: [
|
|
335
|
+
{ name: 'intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
336
|
+
{ name: 'speed', description: 'Time scale of the show', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
337
|
+
{ name: 'opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
338
|
+
{ name: 'size', description: 'World size of the object (units)', type: 'number', min: 0.2, max: 4, step: 0.01 },
|
|
339
|
+
{ name: 'color', description: 'First star colour (strontium red)', type: 'color' },
|
|
340
|
+
{ name: 'particleCount', description: 'Spark pool for tails and willows (CPU simulated)', type: 'number', min: 2000, max: 30000, step: 500 },
|
|
341
|
+
{ name: 'shellType', tab: 'shells', description: 'What the shells do: a mixed show, or one kind of shell', type: 'select', options: ['mix', 'peony', 'chrysanthemum', 'willow', 'palm', 'ring', 'crossette', 'crackle', 'strobe', 'brocade', 'timeRain', 'fish', 'fallingLeaves', 'heart', 'shapedStar', 'kamuro', 'horsetail', 'multiBreak', 'saturn', 'pistil', 'text'], optionLabels: ['Show (mix)', 'Peony', 'Chrysanthemum', 'Willow', 'Palm', 'Ring', 'Crossette', 'Crackle', 'Strobe', 'Brocade crown', 'Time rain', 'Fish', 'Falling leaves', 'Heart', 'Star (shaped)', 'Kamuro', 'Horsetail', 'Multi-break', 'Saturn', 'Pistil peony', 'Text'] },
|
|
342
|
+
{ name: 'textMode', tab: 'shells', description: 'How the text is fired: one shell for the whole word, or one shell per letter (best for longer text)', showWhen: [{ key: 'shellType', is: 'text' }], type: 'select', options: ['word', 'letters'], optionLabels: ['One shell per word', 'One shell per letter'] },
|
|
343
|
+
{ name: 'text', tab: 'shells', description: 'The text the shells write (up to 32 characters; letters wrap into lines of 8)', showWhen: [{ key: 'shellType', is: 'text' }], type: 'string' },
|
|
344
|
+
{ name: 'textSize', tab: 'shells', description: 'Size of the written text', showWhen: [{ key: 'shellType', is: 'text' }], type: 'number', min: 0.3, max: 1.6, step: 0.01 },
|
|
345
|
+
{ name: 'formation', tab: 'shells', description: 'Fire salvos whose bursts draw a shape in the sky (each launch becomes a whole salvo)', showWhen: [{ key: 'shellType', not: 'text' }], type: 'select', options: ['none', 'line', 'arc', 'v', 'circle', 'triangle', 'square', 'star', 'heart'], optionLabels: ['Off', 'Line', 'Arc', 'V', 'Circle', 'Triangle', 'Square', 'Star', 'Heart'] },
|
|
346
|
+
{ name: 'formationCount', tab: 'shells', description: 'Shells in each formation salvo', showWhen: [{ key: 'shellType', not: 'text' }, { key: 'formation', not: 'none' }], type: 'number', min: 3, max: 24, step: 1 },
|
|
347
|
+
{ name: 'formationSize', tab: 'shells', description: 'Width of the formation', showWhen: [{ key: 'shellType', not: 'text' }, { key: 'formation', not: 'none' }], type: 'number', min: 0.3, max: 1.6, step: 0.01 },
|
|
348
|
+
{ name: 'launchRate', description: 'Shells fired per second', type: 'number', min: 0, max: 4, step: 0.01 },
|
|
349
|
+
{ name: 'burstSize', tab: 'shells', description: 'Lift charge: how fast the stars are thrown, so how wide the bursts open', type: 'number', min: 0.3, max: 2, step: 0.01 },
|
|
350
|
+
{ name: 'burstHeight', tab: 'shells', description: 'How high the shells rise before they break', type: 'number', min: 0.2, max: 2, step: 0.01 },
|
|
351
|
+
{ name: 'burnTime', tab: 'shells', description: 'How long stars burn: short pops to long, hanging willows', type: 'number', min: 0.3, max: 3, step: 0.01 },
|
|
352
|
+
{ name: 'spread', description: 'Width of the mortar rack', type: 'number', min: 0, max: 1.6, step: 0.01 },
|
|
353
|
+
{ name: 'wind', description: 'Crosswind carrying stars and smoke (negative = the other way)', type: 'number', min: -1, max: 1, step: 0.01 },
|
|
354
|
+
{ name: 'smoke', description: 'Smoke left by the bursts, lit by later ones', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
355
|
+
{ name: 'randomFire', description: 'Shells launch on their own at the launch rate (off: only clicks fire, with Fire on click)', type: 'boolean' },
|
|
356
|
+
{ name: 'fireOnClick', description: 'A click in the scene fires one shell that breaks where you clicked: on an object or out in the sky', type: 'boolean' },
|
|
357
|
+
{ name: 'secondColor', description: 'Second star colour (barium green)', type: 'color' },
|
|
358
|
+
{ name: 'accentColor', description: 'Third star colour (copper blue)', type: 'color' },
|
|
359
|
+
{ name: 'sparkColor', description: 'Tint of the charcoal sparks and gold stars', type: 'color' },
|
|
360
|
+
{ name: 'seed', description: 'Show seed: a different sequence with the same character', type: 'number', min: 1, max: 999, step: 1 },
|
|
361
|
+
{ name: 'quality', description: 'Detail level: scales particle counts and trail caps', type: 'select', options: ['low', 'medium', 'high'], optionLabels: ['Low', 'Medium', 'High'] },
|
|
362
|
+
{ name: 'pointerMode', description: 'What the cursor does: off, aims the shells, blows a gust through the show, or feeds oxygen to falling stars', type: 'select', options: ['none', 'aim', 'wind', 'reignite'], optionLabels: ['Off', 'Aim the shells', 'Gust', 'Reignite'] },
|
|
363
|
+
{ name: 'pointerStrength', description: 'Lift charge of aimed shells / strength of the gust / oxygen fed to the stars (0 = no interaction)', type: 'number', min: 0, max: 3, step: 0.01 },
|
|
364
|
+
{ name: 'pointerRadius', description: 'Rack spread under the cursor / size of the gust / reach of the reignite', type: 'number', min: 0.2, max: 3, step: 0.01 },
|
|
365
|
+
{ name: 'pointerColor', description: 'Tint of the aimed shells and of re-lit stars', type: 'color' },
|
|
366
|
+
{ name: 'trailMode', description: 'Long exposure, burning tails or afterglow', type: 'select', options: ['none', 'streak', 'comet', 'echo'], optionLabels: ['Off', 'Long exposure', 'Burning tails', 'Afterglow'] },
|
|
367
|
+
{ name: 'trailLength', description: 'Shutter / tail length', type: 'number', min: 0.2, max: 6, step: 0.05 },
|
|
368
|
+
{ name: 'trailOpacity', description: 'Trail brightness', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
369
|
+
{ name: 'trailColor', description: 'Colour trails cool toward', type: 'color' },
|
|
370
|
+
{ name: 'trailShare', description: 'Fraction of stars that leave trails', type: 'number', min: 0.02, max: 1, step: 0.01 },
|
|
371
|
+
],
|
|
334
372
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/textProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAO9D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"textProperties.d.ts","sourceRoot":"","sources":["../../../src/properties/tables/textProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAO9D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,CA8XtE,CAAC"}
|
|
@@ -12,7 +12,7 @@ export const TEXT_PROPERTIES = {
|
|
|
12
12
|
{ name: 'penGlow', label: 'Pen glow', description: 'Glow at the pen tip while writing', type: 'number', min: 0, max: 2, step: 0.05 },
|
|
13
13
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
14
14
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
15
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
15
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
16
16
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
17
17
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
18
18
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -39,7 +39,7 @@ export const TEXT_PROPERTIES = {
|
|
|
39
39
|
{ name: 'offLevel', label: 'Unlit glass', description: 'How visible the tube is before it ignites', type: 'number', min: 0, max: 0.4, step: 0.01 },
|
|
40
40
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
41
41
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
42
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
42
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
43
43
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['trace', 'pen', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Trace', 'Pen', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
44
44
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
45
45
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -67,7 +67,7 @@ export const TEXT_PROPERTIES = {
|
|
|
67
67
|
{ name: 'bridges', label: 'Bridges', description: 'Visibility of the lines joining outlines to counters', type: 'number', min: 0, max: 0.6, step: 0.01 },
|
|
68
68
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
69
69
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
70
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
70
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
71
71
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['epicycle', 'trace', 'pen', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Epicycles', 'Trace', 'Pen', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
72
72
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
73
73
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -97,7 +97,7 @@ export const TEXT_PROPERTIES = {
|
|
|
97
97
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
98
98
|
{ name: 'seed', label: 'Seed', description: 'Random seed of the crystal pattern', type: 'number', min: 0, max: 999, step: 1 },
|
|
99
99
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
100
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
100
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
101
101
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['grow', 'pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Grow', 'Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
102
102
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
103
103
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -127,7 +127,7 @@ export const TEXT_PROPERTIES = {
|
|
|
127
127
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
128
128
|
{ name: 'seed', label: 'Seed', description: 'Different streamer layout', type: 'number', min: 0, max: 99, step: 1 },
|
|
129
129
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
130
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
130
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
131
131
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['strike', 'pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Strike', 'Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
132
132
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
133
133
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -157,7 +157,7 @@ export const TEXT_PROPERTIES = {
|
|
|
157
157
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity.', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
158
158
|
{ name: 'seed', label: 'Seed', description: 'Where the fire starts and how it spreads.', type: 'number', min: 0, max: 99, step: 1 },
|
|
159
159
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
160
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
160
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
161
161
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
162
162
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
163
163
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -188,7 +188,7 @@ export const TEXT_PROPERTIES = {
|
|
|
188
188
|
{ name: 'color2', label: 'Hot core', description: 'Colour of the fresh, hot trail and the tip.', type: 'color' },
|
|
189
189
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity of the light.', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
190
190
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
191
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
191
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
192
192
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
193
193
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
194
194
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -216,7 +216,7 @@ export const TEXT_PROPERTIES = {
|
|
|
216
216
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
217
217
|
{ name: 'seed', label: 'Seed', description: 'Which sky: star positions, magnitudes and colours', type: 'number', min: 0, max: 999, step: 1 },
|
|
218
218
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
219
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
219
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
220
220
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
221
221
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
222
222
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -248,7 +248,7 @@ export const TEXT_PROPERTIES = {
|
|
|
248
248
|
{ name: 'spread', label: 'Spread', description: 'Speed of the fire front; faster fronts leave their remains lingering longer (Burn erase)', type: 'number', min: 0.3, max: 2.2, step: 0.01 },
|
|
249
249
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
250
250
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
251
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
251
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
252
252
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
253
253
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
254
254
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -280,7 +280,7 @@ export const TEXT_PROPERTIES = {
|
|
|
280
280
|
{ name: 'color2', label: 'Edge tint', description: 'Colour of the reflection at grazing angles and on the rim.', type: 'color' },
|
|
281
281
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity.', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
282
282
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
283
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
283
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
284
284
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['flow', 'pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Flow', 'Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
285
285
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
286
286
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -311,7 +311,7 @@ export const TEXT_PROPERTIES = {
|
|
|
311
311
|
{ name: 'slant', label: 'Slant', description: 'Satin stitch angle to the stroke direction', type: 'number', min: 40, max: 85, step: 1, unit: '°' },
|
|
312
312
|
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
313
313
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
314
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
314
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
315
315
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['stitch', 'pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Stitch', 'Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
316
316
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
317
317
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -341,7 +341,7 @@ export const TEXT_PROPERTIES = {
|
|
|
341
341
|
{ name: 'color', label: 'Chalk', description: 'Chalk colour', type: 'color' },
|
|
342
342
|
{ name: 'color2', label: 'Highlight', description: 'Tint of the dense deposit', type: 'color' },
|
|
343
343
|
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
344
|
-
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'
|
|
344
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
345
345
|
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
346
346
|
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
347
347
|
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
@@ -358,4 +358,30 @@ export const TEXT_PROPERTIES = {
|
|
|
358
358
|
{ name: 'holdTime', label: 'Hold', description: 'How long the finished text stays before it is erased (loop)', type: 'number', min: 0, max: 10, step: 0.1, unit: 's' },
|
|
359
359
|
{ name: 'hiddenTime', label: 'Hidden pause', description: 'Pause with nothing shown between cycles (loop)', type: 'number', min: 0, max: 5, step: 0.1, unit: 's' },
|
|
360
360
|
],
|
|
361
|
+
plain: [
|
|
362
|
+
{ name: 'color', label: 'Colour', description: 'Colour of the face', type: 'color' },
|
|
363
|
+
{ name: 'weight', label: 'Weight', description: 'Bolder (right) or lighter (left) face: offsets every edge of the letters', type: 'number', min: -0.04, max: 0.05, step: 0.001, unit: 'em' },
|
|
364
|
+
{ name: 'outline', label: 'Outline', description: 'Width of the outline drawn just outside the face (0 = none)', type: 'number', min: 0, max: 0.08, step: 0.001, unit: 'em' },
|
|
365
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
366
|
+
{ name: 'color2', label: 'Outline colour', description: 'Colour of the outline', type: 'color' },
|
|
367
|
+
{ name: 'fill', label: 'Fill', description: 'Opacity of the face alone (0 with an outline = hollow letters)', type: 'number', min: 0, max: 1, step: 0.01 },
|
|
368
|
+
{ name: 'softness', label: 'Softness', description: 'Width of the edge transition: 0 is crisp, more is a soft printed edge', type: 'number', min: 0, max: 0.06, step: 0.001, unit: 'em' },
|
|
369
|
+
{ name: 'text', label: 'Text', description: 'The words; a new line starts a second line', type: 'string' },
|
|
370
|
+
{ name: 'font', label: 'Font', description: 'Typeface of the text (every look uses the same fonts)', type: 'select', options: ['inter', 'roboto', 'montserrat', 'poppins', 'oswald', 'bebas-neue', 'playfair-display', 'lora', 'caveat', 'kalam', 'handlee', 'patrick-hand', 'architects-daughter', 'indie-flower', 'gochi-hand', 'nanum-pen-script', 'mynerve', 'dancing-script', 'courgette', 'satisfy', 'kaushan-script', 'sriracha', 'pacifico'], optionLabels: ['Inter', 'Roboto', 'Montserrat', 'Poppins', 'Oswald', 'Bebas Neue', 'Playfair Display', 'Lora', 'Caveat', 'Kalam', 'Handlee', 'Patrick Hand', 'Architect\'s Daughter', 'Indie Flower', 'Gochi Hand', 'Nanum Pen', 'Mynerve', 'Dancing Script', 'Courgette', 'Satisfy', 'Kaushan Script', 'Sriracha', 'Pacifico'] },
|
|
371
|
+
{ name: 'drawMethod', label: 'Draw', description: 'How the text appears when it is shown (rebuilds)', type: 'select', options: ['pen', 'trace', 'bothEnds', 'wipe', 'radial', 'scatter', 'dissolve', 'fade', 'none'], optionLabels: ['Pen', 'Trace', 'Both ends', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Fade', 'Off'] },
|
|
372
|
+
{ name: 'drawDuration', label: 'Draw duration', description: 'How long the draw animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
373
|
+
{ name: 'drawEase', label: 'Draw easing', description: 'Easing of the draw animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
374
|
+
{ name: 'drawStagger', label: 'Draw stagger', description: 'How much the letters are staggered in time, for Trace and Both ends (rebuilds)', type: 'number', min: 0, max: 0.95, step: 0.01 },
|
|
375
|
+
{ name: 'drawAngle', label: 'Draw direction', description: 'Direction of the sweep, for Wipe (rebuilds)', type: 'number', min: -180, max: 180, step: 1, unit: '°' },
|
|
376
|
+
{ name: 'eraseMethod', label: 'Erase', description: 'How the text disappears when it is switched off (rebuilds)', type: 'select', options: ['fade', 'undraw', 'wipe', 'radial', 'scatter', 'dissolve', 'trace', 'bothEnds', 'pen', 'cut', 'none'], optionLabels: ['Fade', 'Reverse', 'Wipe', 'Radial', 'Scatter', 'Dissolve', 'Trace', 'Both ends', 'Pen', 'Cut', 'Off'] },
|
|
377
|
+
{ name: 'eraseDuration', label: 'Erase duration', description: 'How long the erase animation takes', type: 'number', min: 0.2, max: 15, step: 0.05, unit: 's' },
|
|
378
|
+
{ name: 'eraseEase', label: 'Erase easing', description: 'Easing of the erase animation', type: 'select', options: ['easeInOut', 'linear', 'easeOut', 'easeIn'], optionLabels: ['Smooth', 'Linear', 'Out', 'In'] },
|
|
379
|
+
{ name: 'eraseStagger', label: 'Erase stagger', description: 'How much the letters are staggered in time, for Trace and Both ends (rebuilds)', type: 'number', min: 0, max: 0.95, step: 0.01 },
|
|
380
|
+
{ name: 'eraseAngle', label: 'Erase direction', description: 'Direction of the sweep, for Wipe (rebuilds)', type: 'number', min: -180, max: 180, step: 1, unit: '°' },
|
|
381
|
+
{ name: 'autoPlay', label: 'Play on load', description: 'Play the draw animation when the scene starts', type: 'boolean' },
|
|
382
|
+
{ name: 'loop', label: 'Loop', description: 'Repeat hidden, draw, hold, erase, hidden', type: 'boolean' },
|
|
383
|
+
{ name: 'yoyo', label: 'Yoyo', description: 'Play the whole cycle forward, then backward', type: 'boolean' },
|
|
384
|
+
{ name: 'holdTime', label: 'Hold', description: 'How long the finished text stays before it is erased (loop)', type: 'number', min: 0, max: 10, step: 0.1, unit: 's' },
|
|
385
|
+
{ name: 'hiddenTime', label: 'Hidden pause', description: 'Pause with nothing shown between cycles (loop)', type: 'number', min: 0, max: 5, step: 0.1, unit: 's' },
|
|
386
|
+
],
|
|
361
387
|
};
|
|
@@ -8,7 +8,7 @@ export type EnvironmentElement = (typeof ENVIRONMENT_ELEMENTS)[number];
|
|
|
8
8
|
* (getAnimatableProperties), plus 'shadow' (a light's shadow block) and 'config'
|
|
9
9
|
* (config knobs of objects with no animatable table: text, plain, mesh).
|
|
10
10
|
*/
|
|
11
|
-
export type PropertyDomain = 'transform' | 'material' | 'edges' | 'light' | 'shadow' | 'particles' | 'effect' | 'grid' | 'environment' | 'space' | 'land' | 'text' | 'rain' | 'clouds' | 'config' | 'camera' | 'sky' | 'stars' | 'cirrus' | 'ocean' | 'terrain';
|
|
11
|
+
export type PropertyDomain = 'transform' | 'material' | 'edges' | 'light' | 'shadow' | 'particles' | 'effect' | 'grid' | 'environment' | 'space' | 'land' | 'text' | 'rain' | 'clouds' | 'config' | 'camera' | 'sky' | 'stars' | 'cirrus' | 'thunder' | 'ocean' | 'terrain';
|
|
12
12
|
export interface PropertyOption {
|
|
13
13
|
value: string;
|
|
14
14
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/properties/types.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9G,0GAA0G;AAC1G,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3F,eAAO,MAAM,oBAAoB,gDAAiD,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACpB,WAAW,GAAG,UAAU,GAAG,OAAO,GAClC,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAC/H,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/properties/types.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9G,0GAA0G;AAC1G,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3F,eAAO,MAAM,oBAAoB,gDAAiD,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACpB,WAAW,GAAG,UAAU,GAAG,OAAO,GAClC,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAC/H,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IACzB;;yDAEqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACnD,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAClB"}
|