@3driseai/3drise-core 1.0.28 → 1.0.30
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/autoAnimate/describeScene.js +1 -1
- package/dist/catalog/catalogInfo.d.ts.map +1 -1
- package/dist/catalog/catalogInfo.js +38 -19
- package/dist/catalog/objectCatalog.d.ts.map +1 -1
- package/dist/catalog/objectCatalog.js +6 -2
- package/dist/data/galleryDefaults.d.ts +14 -0
- package/dist/data/galleryDefaults.d.ts.map +1 -0
- package/dist/data/galleryDefaults.js +500 -0
- package/dist/data/imageDefaults.d.ts +10 -0
- package/dist/data/imageDefaults.d.ts.map +1 -0
- package/dist/data/imageDefaults.js +212 -0
- package/dist/data/index.d.ts +2 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +2 -0
- package/dist/properties/registry.d.ts +6 -2
- package/dist/properties/registry.d.ts.map +1 -1
- package/dist/properties/registry.js +20 -5
- package/dist/properties/tables/galleryProperties.d.ts +5 -0
- package/dist/properties/tables/galleryProperties.d.ts.map +1 -0
- package/dist/properties/tables/galleryProperties.js +659 -0
- package/dist/properties/tables/imageProperties.d.ts +4 -0
- package/dist/properties/tables/imageProperties.d.ts.map +1 -0
- package/dist/properties/tables/imageProperties.js +231 -0
- package/dist/properties/tables/index.d.ts +2 -0
- package/dist/properties/tables/index.d.ts.map +1 -1
- package/dist/properties/tables/index.js +2 -0
- package/dist/properties/tables/optionalProperties.d.ts +1 -0
- package/dist/properties/tables/optionalProperties.d.ts.map +1 -1
- package/dist/properties/tables/optionalProperties.js +1 -1
- package/dist/properties/types.d.ts +1 -1
- package/dist/properties/types.d.ts.map +1 -1
- package/dist/types/commands.d.ts +10 -1
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/galleryObjects.d.ts +1317 -0
- package/dist/types/galleryObjects.d.ts.map +1 -0
- package/dist/types/galleryObjects.js +15 -0
- package/dist/types/imageObjects.d.ts +361 -0
- package/dist/types/imageObjects.d.ts.map +1 -0
- package/dist/types/imageObjects.js +17 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/objectSettings.d.ts +16 -0
- package/dist/types/objectSettings.d.ts.map +1 -1
- package/dist/types/scene3d.d.ts +1 -1
- package/dist/types/scene3d.d.ts.map +1 -1
- package/dist/utils/galleryMigration.d.ts +3 -0
- package/dist/utils/galleryMigration.d.ts.map +1 -0
- package/dist/utils/galleryMigration.js +17 -0
- package/dist/utils/generativeAnimatable.d.ts +1 -1
- package/dist/utils/generativeAnimatable.d.ts.map +1 -1
- package/dist/utils/generativeAnimatable.js +6 -0
- package/dist/utils/getAnimatableProperties.d.ts +1 -1
- package/dist/utils/getAnimatableProperties.d.ts.map +1 -1
- package/dist/utils/getAnimatableProperties.js +1 -1
- package/dist/utils/imageMigration.d.ts +3 -0
- package/dist/utils/imageMigration.d.ts.map +1 -0
- package/dist/utils/imageMigration.js +18 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/objectMigration.d.ts.map +1 -1
- package/dist/utils/objectMigration.js +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
import { galleryCommonProperties, GALLERY_FIELD_DEFS } from './optionalProperties.js';
|
|
2
|
+
import { GALLERY_LAYOUT_CONFIGS } from '../../utils/GalleryLayouts.js';
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// GALLERY OBJECTS OPTIONAL PROPERTIES
|
|
5
|
+
// Order: selects, the shared frame rows, then every layout field (the controller shows only the ones the
|
|
6
|
+
// selected layout reads — galleryLayoutOptionalProperties; the registry lists them all so the AI can set any).
|
|
7
|
+
// =============================================================================
|
|
8
|
+
const layoutKeys = Object.keys(GALLERY_LAYOUT_CONFIGS);
|
|
9
|
+
export const layoutGalleryProperties = [
|
|
10
|
+
{ name: 'layout', description: 'How the frames are arranged (rebuilds)', type: 'select', options: layoutKeys, optionLabels: layoutKeys.map(k => GALLERY_LAYOUT_CONFIGS[k].label) },
|
|
11
|
+
{ name: 'geometryType', description: 'Shape of the frame around each picture; none = the picture alone (rebuilds)', type: 'select', options: ['none', 'arc', 'bentPlane', 'bentPlaneInverse', 'box', 'capsule', 'cone', 'cylinder', 'dodecahedron', 'icosahedron', 'octahedron', 'plane', 'point', 'ring', 'sphere', 'tetrahedron', 'torus'], optionLabels: ['None', 'Arc', 'Bent plane', 'Bent plane (inverse)', 'Box', 'Capsule', 'Cone', 'Cylinder', 'Dodecahedron', 'Icosahedron', 'Octahedron', 'Plane', 'Point', 'Ring', 'Sphere', 'Tetrahedron', 'Torus'] },
|
|
12
|
+
{ name: 'side', description: 'Which side of each frame shows the picture: front, back or both', type: 'select', options: ['0', '1', '2'], optionLabels: ['Front', 'Back', 'Both'] },
|
|
13
|
+
...galleryCommonProperties.map(p => ({ ...p, animatable: false })),
|
|
14
|
+
...Object.values(GALLERY_FIELD_DEFS).map(p => ({ ...p, animatable: false })),
|
|
15
|
+
];
|
|
16
|
+
export const GALLERY_PROPERTIES = {
|
|
17
|
+
layout: layoutGalleryProperties,
|
|
18
|
+
lightThreads: [
|
|
19
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
20
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or a soft light that brings colour back to the faded curtains', type: 'select', options: ['none', 'reveal'], optionLabels: ['Off', 'Reveal'], tab: 'cursor' },
|
|
21
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
22
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
23
|
+
{ name: 'threads', label: 'Threads', description: 'Threads per picture, one column of the image each (structural: rebuilds)', type: 'number', min: 40, max: 400, step: 1, tab: 'shared' },
|
|
24
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
25
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
26
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
27
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
28
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
29
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 150, step: 1, tab: 'shared' },
|
|
30
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
31
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
32
|
+
{ name: 'restring', label: 'Restring', description: 'Seconds the light takes to run down the threads of the arriving picture', type: 'number', min: 0.3, max: 4, step: 0.05, tab: 'active' },
|
|
33
|
+
{ name: 'sweep', label: 'Sweep', description: 'How far each thread’s light runs behind its left neighbour’s, so the light sweeps across', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
34
|
+
{ name: 'headGlow', label: 'Head glow', description: 'Brightness of the light’s leading edge as it runs down', type: 'number', min: 0, max: 3, step: 0.01, tab: 'active' },
|
|
35
|
+
{ name: 'beads', label: 'Beads', description: 'Bead pattern along each thread', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
36
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
37
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
38
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
39
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
40
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
41
|
+
{ name: 'rail', label: 'Rail', description: 'Show the rail the threads hang from', type: 'boolean', tab: 'shared' },
|
|
42
|
+
{ name: 'threadColor', label: 'Thread color', description: 'Colour of the light’s leading edge', type: 'color', tab: 'shared' },
|
|
43
|
+
{ name: 'railColor', label: 'Rail color', description: 'Colour of the rail', type: 'color', tab: 'shared', showWhen: [{ key: 'rail', is: true }] },
|
|
44
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
45
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
46
|
+
],
|
|
47
|
+
silk: [
|
|
48
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
49
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, a breath of air that follows its movement, or a touch that presses the cloth', type: 'select', options: ['none', 'breath', 'touch'], optionLabels: ['Off', 'Breath', 'Touch'], tab: 'cursor' },
|
|
50
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
51
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
52
|
+
{ name: 'resolution', label: 'Resolution', description: 'Cloth resolution across a sheet (structural: rebuilds)', type: 'number', min: 8, max: 40, step: 1, tab: 'shared' },
|
|
53
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
54
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
55
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
56
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
57
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
58
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
59
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
60
|
+
{ name: 'wind', label: 'Wind', description: 'Strength of the breeze', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
61
|
+
{ name: 'gravity', label: 'Gravity', description: 'Weight of the cloth', type: 'number', min: 1, max: 30, step: 0.1, tab: 'shared' },
|
|
62
|
+
{ name: 'drag', label: 'Drag', description: 'Air resistance of the cloth: higher keeps it moving longer', type: 'number', min: 0.9, max: 0.999, step: 0.001, tab: 'shared' },
|
|
63
|
+
{ name: 'iterations', label: 'Iterations', description: 'Cloth stiffness passes per frame (higher is stiffer, costs more)', type: 'number', min: 1, max: 12, step: 1, tab: 'shared' },
|
|
64
|
+
{ name: 'fallTime', label: 'Fall time', description: 'Seconds a let-go sheet takes to fall away', type: 'number', min: 0.5, max: 6, step: 0.1, tab: 'inactive' },
|
|
65
|
+
{ name: 'sheen', label: 'Sheen', description: 'Silk sheen along the folds', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
66
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
67
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
68
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
69
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
70
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
71
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
72
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
73
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
74
|
+
],
|
|
75
|
+
particleShift: [
|
|
76
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
77
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or turns the area it passes back into a halftone of the picture', type: 'select', options: ['none', 'shift'], optionLabels: ['Off', 'Shift'], tab: 'cursor' },
|
|
78
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
79
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
80
|
+
{ name: 'grains', label: 'Particles', description: 'Particles (and halftone dots) across a picture (structural: rebuilds)', type: 'number', min: 60, max: 260, step: 2, tab: 'inactive' },
|
|
81
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
82
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
83
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
84
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
85
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
86
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
87
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the wave takes to cross a picture', type: 'number', min: 0.6, max: 6, step: 0.1, tab: 'active' },
|
|
88
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
89
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
90
|
+
{ name: 'lift', label: 'Lift', description: 'How far the particles rise off the picture as the wave passes', type: 'number', min: 0, max: 0.3, step: 0.005, tab: 'active' },
|
|
91
|
+
{ name: 'particleSize', label: 'Dot size', description: 'Size of the halftone dots of the waiting pictures', type: 'number', min: 0.1, max: 1, step: 0.01, tab: 'inactive' },
|
|
92
|
+
{ name: 'faded', label: 'Faded', description: 'Brightness of the waiting pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
93
|
+
{ name: 'grain', label: 'Grain', description: 'Overall particle size', type: 'number', min: 0.4, max: 2.5, step: 0.01, tab: 'shared' },
|
|
94
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
95
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 1, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
96
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Radius of the area the cursor turns back into particles', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
97
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
98
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
99
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
100
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
101
|
+
],
|
|
102
|
+
glassPanes: [
|
|
103
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
104
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or the panes near it tilt toward it', type: 'select', options: ['none', 'tilt'], optionLabels: ['Off', 'Tilt'], tab: 'cursor' },
|
|
105
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
106
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
107
|
+
{ name: 'thickness', label: 'Thickness', description: 'Thickness of the glass slab (structural: rebuilds)', type: 'number', min: 0.02, max: 0.25, step: 0.005, tab: 'shared' },
|
|
108
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
109
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
110
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
111
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
112
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
113
|
+
{ name: 'focusLift', label: 'Focus lift', description: 'How far the front pane steps forward', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'active' },
|
|
114
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
115
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
116
|
+
{ name: 'roughness', label: 'Roughness', description: 'Frosting of the glass', type: 'number', min: 0, max: 0.5, step: 0.005, tab: 'shared' },
|
|
117
|
+
{ name: 'ior', label: 'Ior', description: 'Index of refraction of the glass', type: 'number', min: 1, max: 2.3, step: 0.01, tab: 'shared' },
|
|
118
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
119
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
120
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 4, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
121
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
122
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
123
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
124
|
+
{ name: 'tint', label: 'Tint', description: 'Tint of the glass', type: 'color', tab: 'shared' },
|
|
125
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
126
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
127
|
+
],
|
|
128
|
+
halo: [
|
|
129
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
130
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
131
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
132
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
133
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
134
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
135
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
136
|
+
{ name: 'stepOut', label: 'Step out', description: 'How far the front picture steps out toward the viewer', type: 'number', min: 0, max: 2, step: 0.01, tab: 'active' },
|
|
137
|
+
{ name: 'focusScale', label: 'Focus scale', description: 'How much the front picture grows', type: 'number', min: 1, max: 2, step: 0.01, tab: 'active' },
|
|
138
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
139
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
140
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds a picture takes to step out and come to colour', type: 'number', min: 0.2, max: 3, step: 0.05, tab: 'active' },
|
|
141
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
142
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the prints under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
143
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
144
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
145
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
146
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
147
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
148
|
+
],
|
|
149
|
+
loom: [
|
|
150
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
151
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or reveals colour on the grey weave', type: 'select', options: ['none', 'reveal'], optionLabels: ['Off', 'Reveal'], tab: 'cursor' },
|
|
152
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
153
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
154
|
+
{ name: 'warp', label: 'Warp', description: 'Warp threads across a picture (structural: rebuilds)', type: 'number', min: 30, max: 300, step: 1, tab: 'shared' },
|
|
155
|
+
{ name: 'weft', label: 'Weft', description: 'Weft rows down a picture (structural: rebuilds)', type: 'number', min: 20, max: 160, step: 1, tab: 'shared' },
|
|
156
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
157
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
158
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
159
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
160
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
161
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
162
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
163
|
+
{ name: 'weaveTime', label: 'Weave time', description: 'Seconds the weaving wave takes to close the active picture', type: 'number', min: 0.5, max: 8, step: 0.1, tab: 'active' },
|
|
164
|
+
{ name: 'unravelTime', label: 'Unravel time', description: 'Seconds a leaving picture takes to unravel back to grey', type: 'number', min: 0.3, max: 6, step: 0.1, tab: 'inactive' },
|
|
165
|
+
{ name: 'wave', label: 'Wave', description: 'Softness of the weaving wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
166
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the weaving wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
167
|
+
{ name: 'thread', label: 'Thread', description: 'Thickness of the inactive weft threads', type: 'number', min: 0.05, max: 0.8, step: 0.01, tab: 'inactive' },
|
|
168
|
+
{ name: 'shuttle', label: 'Shuttle', description: 'A faint brightening on the wave while it weaves', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'active' },
|
|
169
|
+
{ name: 'weave', label: 'Weave', description: 'Over / under offset of the weft rows', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
170
|
+
{ name: 'warpGlow', label: 'Warp glow', description: 'Brightness of the warp threads', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
171
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
172
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
173
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
174
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
175
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
176
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
177
|
+
{ name: 'warpColor', label: 'Warp color', description: 'Colour of the warp threads', type: 'color', tab: 'shared' },
|
|
178
|
+
{ name: 'shuttleColor', label: 'Shuttle color', description: 'Colour of the brightening on the wave', type: 'color', tab: 'shared' },
|
|
179
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
180
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
181
|
+
],
|
|
182
|
+
basicCarousel: [
|
|
183
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, tilts the frames near it toward it, or lifts the frame under it', type: 'select', options: ['none', 'tilt', 'lift'], optionLabels: ['Off', 'Tilt', 'Lift'], tab: 'cursor' },
|
|
184
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
185
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.5, max: 2.5, step: 0.01, tab: 'shared' },
|
|
186
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring frames, in frame widths', type: 'number', min: 0.4, max: 2.5, step: 0.01, tab: 'shared' },
|
|
187
|
+
{ name: 'curve', label: 'Curve', description: 'Shape of the carousel: 0 = a flat row, 1 = a circle', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
188
|
+
{ name: 'tilt', label: 'Tilt', description: 'Coverflow turn of the neighbours (radians)', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'shared' },
|
|
189
|
+
{ name: 'depth', label: 'Depth', description: 'How far the neighbours recede', type: 'number', min: 0, max: 2, step: 0.01, tab: 'inactive' },
|
|
190
|
+
{ name: 'visible', label: 'Visible', description: 'Frames on each side before they fade out', type: 'number', min: 1, max: 8, step: 0.1, tab: 'shared' },
|
|
191
|
+
{ name: 'focusScale', label: 'Focus scale', description: 'Scale of the centre frame', type: 'number', min: 1, max: 2, step: 0.01, tab: 'active' },
|
|
192
|
+
{ name: 'focusLift', label: 'Focus lift', description: 'How far the centre frame comes forward', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'active' },
|
|
193
|
+
{ name: 'focusAmount', label: 'Focus amount', description: 'Extra forward travel when the centre frame is focused', type: 'number', min: 0, max: 3, step: 0.01, tab: 'active' },
|
|
194
|
+
{ name: 'dim', label: 'Dim', description: 'Darkening of the neighbours', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
195
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 200, step: 1, tab: 'shared' },
|
|
196
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 40, step: 0.1, tab: 'shared' },
|
|
197
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.6, step: 0.01, tab: 'shared' },
|
|
198
|
+
{ name: 'breathe', label: 'Breathe', description: 'Slow idle float of the frames', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
199
|
+
{ name: 'reflection', label: 'Reflection', description: 'Strength of the floor reflection', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
200
|
+
{ name: 'floorGap', label: 'Floor gap', description: 'Gap between the frames and the reflecting floor', type: 'number', min: 0, max: 0.6, step: 0.01, tab: 'shared' },
|
|
201
|
+
{ name: 'border', label: 'Border', description: 'Frame border width, in frame units', type: 'number', min: 0, max: 0.08, step: 0.001, tab: 'shared' },
|
|
202
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
203
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
204
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 4, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
205
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
206
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
207
|
+
{ name: 'borderColor', label: 'Border color', description: 'Colour of the frame border', type: 'color', tab: 'shared' },
|
|
208
|
+
{ name: 'backColor', label: 'Back color', description: 'Colour of the frames’ backs', type: 'color', tab: 'shared' },
|
|
209
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
210
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
211
|
+
],
|
|
212
|
+
paperLanterns: [
|
|
213
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, a breeze that sets the lanterns near it swinging, or a glow on the lantern under it', type: 'select', options: ['none', 'breeze', 'glow'], optionLabels: ['Off', 'Breeze', 'Glow'], tab: 'cursor' },
|
|
214
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
215
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
216
|
+
{ name: 'radius', label: 'Radius', description: 'Radius of a lantern (structural: rebuilds)', type: 'number', min: 0.2, max: 0.8, step: 0.01, tab: 'shared' },
|
|
217
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between lanterns along the rope', type: 'number', min: 1, max: 3, step: 0.01, tab: 'shared' },
|
|
218
|
+
{ name: 'sag', label: 'Sag', description: 'Sag of the rope between its posts', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'shared' },
|
|
219
|
+
{ name: 'span', label: 'Span', description: 'Length of the rope', type: 'number', min: 3, max: 14, step: 0.1, tab: 'shared' },
|
|
220
|
+
{ name: 'cord', label: 'Cord', description: 'Length of each lantern’s cord', type: 'number', min: 0.1, max: 1.5, step: 0.01, tab: 'shared' },
|
|
221
|
+
{ name: 'focusDrop', label: 'Focus drop', description: 'How much lower the front lantern hangs', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'active' },
|
|
222
|
+
{ name: 'focusLift', label: 'Focus lift', description: 'How far the front lantern comes toward the viewer', type: 'number', min: 0, max: 2, step: 0.01, tab: 'active' },
|
|
223
|
+
{ name: 'visible', label: 'Visible', description: 'Lanterns on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
224
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 150, step: 1, tab: 'shared' },
|
|
225
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
226
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
227
|
+
{ name: 'gravity', label: 'Gravity', description: 'Gravity of the pendulums: higher swings faster', type: 'number', min: 1, max: 30, step: 0.1, tab: 'shared' },
|
|
228
|
+
{ name: 'swingDamping', label: 'Swing damping', description: 'How quickly a swing dies down', type: 'number', min: 0, max: 4, step: 0.01, tab: 'shared' },
|
|
229
|
+
{ name: 'wind', label: 'Wind', description: 'Strength of the breeze through the lanterns', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
230
|
+
{ name: 'tug', label: 'Tug', description: 'How strongly a change tugs the rope (a wave of swings)', type: 'number', min: 0, max: 3, step: 0.01, tab: 'active' },
|
|
231
|
+
{ name: 'glow', label: 'Glow', description: 'Soft glow around the front lantern', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
232
|
+
{ name: 'lamp', label: 'Lamp', description: 'Brightness of the lamp inside the front lantern', type: 'number', min: 0, max: 2, step: 0.01, tab: 'active' },
|
|
233
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
234
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 3, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
235
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.2, max: 4, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
236
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
237
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
238
|
+
{ name: 'lampColor', label: 'Lamp color', description: 'Colour of the lamp', type: 'color', tab: 'shared' },
|
|
239
|
+
{ name: 'paperColor', label: 'Paper color', description: 'Colour of the lantern paper', type: 'color', tab: 'shared' },
|
|
240
|
+
{ name: 'rimColor', label: 'Rim color', description: 'Colour of the paper’s lit rim', type: 'color', tab: 'shared' },
|
|
241
|
+
{ name: 'ringColor', label: 'Ring color', description: 'Colour of the lantern rings', type: 'color', tab: 'shared' },
|
|
242
|
+
{ name: 'pointerColor', label: 'Pointer color', description: 'Colour the cursor effect adds', type: 'color', tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
243
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
244
|
+
],
|
|
245
|
+
pinscreen: [
|
|
246
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
247
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or presses the pins in', type: 'select', options: ['none', 'press'], optionLabels: ['Off', 'Press'], tab: 'cursor' },
|
|
248
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
249
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
250
|
+
{ name: 'pins', label: 'Pins', description: 'Pins across a picture (structural: rebuilds)', type: 'number', min: 24, max: 110, step: 1, tab: 'shared' },
|
|
251
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
252
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
253
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
254
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
255
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
256
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
257
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
258
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
259
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
260
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
261
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
262
|
+
{ name: 'relief', label: 'Relief', description: 'How far the brightest pins stand out', type: 'number', min: 0, max: 0.5, step: 0.005, tab: 'active' },
|
|
263
|
+
{ name: 'base', label: 'Base', description: 'Relief of the darkest pins, as a share of the brightest', type: 'number', min: 0, max: 0.6, step: 0.01, tab: 'active' },
|
|
264
|
+
{ name: 'pinSize', label: 'Pin size', description: 'Pin width, as a share of the spacing', type: 'number', min: 0.3, max: 1, step: 0.01, tab: 'shared' },
|
|
265
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the pins under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
266
|
+
{ name: 'metalness', label: 'Metalness', description: 'Metalness of the pins', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
267
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
268
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
269
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
270
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
271
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
272
|
+
{ name: 'boardColor', label: 'Board color', description: 'Colour of the board the pins stand in', type: 'color', tab: 'shared' },
|
|
273
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
274
|
+
],
|
|
275
|
+
depthLayers: [
|
|
276
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
277
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or opens the sheets further where it passes', type: 'select', options: ['none', 'open'], optionLabels: ['Off', 'Open'], tab: 'cursor' },
|
|
278
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
279
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
280
|
+
{ name: 'layers', label: 'Layers', description: 'Sheets per picture (structural: rebuilds)', type: 'number', min: 2, max: 10, step: 1, tab: 'shared' },
|
|
281
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
282
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
283
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
284
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
285
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
286
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
287
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
288
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
289
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
290
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
291
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
292
|
+
{ name: 'separation', label: 'Separation', description: 'Distance between the sheets when open', type: 'number', min: 0, max: 0.4, step: 0.005, tab: 'active' },
|
|
293
|
+
{ name: 'softness', label: 'Softness', description: 'Softness of each sheet’s brightness threshold', type: 'number', min: 0.01, max: 0.3, step: 0.005, tab: 'shared' },
|
|
294
|
+
{ name: 'edge', label: 'Edge', description: 'Brightness of the fine edge along each sheet', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'active' },
|
|
295
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
296
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
297
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
298
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
299
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
300
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
301
|
+
],
|
|
302
|
+
contourLines: [
|
|
303
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
304
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or lifts the contours into relief', type: 'select', options: ['none', 'lift'], optionLabels: ['Off', 'Lift'], tab: 'cursor' },
|
|
305
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
306
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
307
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
308
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
309
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
310
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
311
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
312
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
313
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
314
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
315
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
316
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
317
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
318
|
+
{ name: 'levels', label: 'Levels', description: 'Contour levels over the full brightness range', type: 'number', min: 6, max: 60, step: 1, tab: 'shared' },
|
|
319
|
+
{ name: 'sparse', label: 'Sparse', description: 'An inactive picture shows every n-th level', type: 'number', min: 1, max: 8, step: 1, tab: 'inactive' },
|
|
320
|
+
{ name: 'lineWidth', label: 'Line width', description: 'Width of an inactive line, as a share of the level spacing', type: 'number', min: 0.02, max: 0.4, step: 0.005, tab: 'inactive' },
|
|
321
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before the contours are drawn', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
322
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
323
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
324
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
325
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
326
|
+
{ name: 'lift', label: 'Lift', description: 'Height of the cursor’s relief', type: 'number', min: 0, max: 0.6, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
327
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
328
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
329
|
+
],
|
|
330
|
+
prismSplit: [
|
|
331
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
332
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or splits the colour planes apart again', type: 'select', options: ['none', 'split'], optionLabels: ['Off', 'Split'], tab: 'cursor' },
|
|
333
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
334
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
335
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
336
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
337
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
338
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
339
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
340
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
341
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
342
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
343
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
344
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
345
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
346
|
+
{ name: 'split', label: 'Split', description: 'Depth between the colour planes of an inactive picture', type: 'number', min: 0, max: 0.5, step: 0.005, tab: 'inactive' },
|
|
347
|
+
{ name: 'dispersion', label: 'Dispersion', description: 'Sideways offset of the planes, as a share of the split', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
348
|
+
{ name: 'saturation', label: 'Saturation', description: 'Colour of an inactive picture', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
349
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
350
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
351
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
352
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
353
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
354
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
355
|
+
],
|
|
356
|
+
engraving: [
|
|
357
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
358
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or turns the hatching under it', type: 'select', options: ['none', 'turn'], optionLabels: ['Off', 'Turn'], tab: 'cursor' },
|
|
359
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
360
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
361
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
362
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
363
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
364
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
365
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
366
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
367
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
368
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
369
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
370
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
371
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
372
|
+
{ name: 'lines', label: 'Lines', description: 'Lines across the picture', type: 'number', min: 30, max: 300, step: 1, tab: 'shared' },
|
|
373
|
+
{ name: 'angle', label: 'Angle', description: 'Angle of the hatching (degrees)', type: 'number', min: -90, max: 90, step: 1, tab: 'shared' },
|
|
374
|
+
{ name: 'bend', label: 'Bend', description: 'How much the picture’s tone bends the lines', type: 'number', min: 0, max: 5, step: 0.01, tab: 'shared' },
|
|
375
|
+
{ name: 'hairline', label: 'Hairline', description: 'Width of an inactive line, as a share of a bright line', type: 'number', min: 0.05, max: 0.8, step: 0.01, tab: 'inactive' },
|
|
376
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
377
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
378
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
379
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
380
|
+
{ name: 'turn', label: 'Turn', description: 'How far the cursor turns the hatching (radians)', type: 'number', min: 0, max: 1.6, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
381
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
382
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
383
|
+
],
|
|
384
|
+
slats: [
|
|
385
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
386
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or turns the slats near it', type: 'select', options: ['none', 'turn'], optionLabels: ['Off', 'Turn'], tab: 'cursor' },
|
|
387
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
388
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
389
|
+
{ name: 'slats', label: 'Slats', description: 'Slats across a picture (structural: rebuilds)', type: 'number', min: 8, max: 120, step: 1, tab: 'shared' },
|
|
390
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
391
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
392
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
393
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
394
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
395
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
396
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
397
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
398
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
399
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
400
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
401
|
+
{ name: 'turn', label: 'Turn', description: 'How far an inactive picture’s slats are turned (degrees)', type: 'number', min: 0, max: 90, step: 1, tab: 'inactive' },
|
|
402
|
+
{ name: 'thickness', label: 'Thickness', description: 'Thickness of a slat', type: 'number', min: 0.002, max: 0.08, step: 0.001, tab: 'shared' },
|
|
403
|
+
{ name: 'gap', label: 'Gap', description: 'Gap between slats, as a share of a slat', type: 'number', min: 0, max: 0.4, step: 0.005, tab: 'shared' },
|
|
404
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the slats under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
405
|
+
{ name: 'metalness', label: 'Metalness', description: 'Metalness of the slats', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
406
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
407
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
408
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
409
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
410
|
+
{ name: 'pointerTurn', label: 'Pointer turn', description: 'How far the cursor turns the slats (degrees)', type: 'number', min: 0, max: 60, step: 1, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
411
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
412
|
+
{ name: 'backColor', label: 'Back color', description: 'Colour of the slats’ backs and edges', type: 'color', tab: 'shared' },
|
|
413
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
414
|
+
],
|
|
415
|
+
fold: [
|
|
416
|
+
{ name: 'foldType', label: 'Fold type', description: 'How the paper is folded: accordion, herringbone, hand fan, scroll, page curl or crumpled', type: 'select', options: ['accordion', 'miura', 'fan', 'roll', 'curl', 'crumple'], optionLabels: ['Accordion', 'Herringbone', 'Hand fan', 'Scroll', 'Page curl', 'Crumpled'], tab: 'shared' },
|
|
417
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
418
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or presses a dent into the paper', type: 'select', options: ['none', 'press'], optionLabels: ['Off', 'Press'], tab: 'cursor' },
|
|
419
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
420
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
421
|
+
{ name: 'panels', label: 'Panels', description: 'Panels across a picture — the fold’s scale (structural: rebuilds)', type: 'number', min: 2, max: 30, step: 1, tab: 'shared' },
|
|
422
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
423
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
424
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
425
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
426
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
427
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
428
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
429
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
430
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
431
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
432
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
433
|
+
{ name: 'folded', label: 'Folded', description: 'Fold angle of an inactive picture (degrees; accordion, herringbone, hand fan)', type: 'number', min: 10, max: 88, step: 1, tab: 'inactive', showWhen: [{ key: 'foldType', not: 'roll' }, { key: 'foldType', not: 'curl' }, { key: 'foldType', not: 'crumple' }] },
|
|
434
|
+
{ name: 'creases', label: 'Creases', description: 'The soft creases an unfolded sheet keeps (degrees)', type: 'number', min: 0, max: 15, step: 0.5, tab: 'active' },
|
|
435
|
+
{ name: 'rollRadius', label: 'Roll radius', description: 'Radius of the scroll and the page curl', type: 'number', min: 0.03, max: 0.4, step: 0.005, tab: 'shared', showWhen: [{ key: 'foldType', not: 'accordion' }, { key: 'foldType', not: 'miura' }, { key: 'foldType', not: 'fan' }, { key: 'foldType', not: 'crumple' }] },
|
|
436
|
+
{ name: 'crumple', label: 'Crumple', description: 'Depth of the crumpled creases', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared', showWhen: [{ key: 'foldType', is: 'crumple' }] },
|
|
437
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the paper under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
438
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
439
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
440
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
441
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
442
|
+
{ name: 'press', label: 'Press', description: 'Depth of the cursor’s dent', type: 'number', min: 0, max: 0.3, step: 0.005, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
443
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
444
|
+
{ name: 'paperColor', label: 'Paper color', description: 'Colour of the paper’s back', type: 'color', tab: 'shared' },
|
|
445
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
446
|
+
],
|
|
447
|
+
wireRelief: [
|
|
448
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
449
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or lifts the panels away to the bare wire', type: 'select', options: ['none', 'reveal'], optionLabels: ['Off', 'Reveal'], tab: 'cursor' },
|
|
450
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
451
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
452
|
+
{ name: 'cells', label: 'Cells', description: 'Grid cells across a picture (structural: rebuilds)', type: 'number', min: 12, max: 120, step: 1, tab: 'shared' },
|
|
453
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
454
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
455
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
456
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
457
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
458
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
459
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
460
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
461
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
462
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
463
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
464
|
+
{ name: 'relief', label: 'Relief', description: 'Height of the relief at the brightest point', type: 'number', min: 0, max: 0.6, step: 0.005, tab: 'active' },
|
|
465
|
+
{ name: 'wire', label: 'Wire', description: 'Brightness of the wires', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'shared' },
|
|
466
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
467
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
468
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
469
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
470
|
+
{ name: 'lift', label: 'Lift', description: 'How far the panels lift away under the cursor', type: 'number', min: 0, max: 0.3, step: 0.005, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
471
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
472
|
+
{ name: 'wireColor', label: 'Wire color', description: 'Colour of the wires', type: 'color', tab: 'shared' },
|
|
473
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
474
|
+
],
|
|
475
|
+
terraces: [
|
|
476
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
477
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or lifts the terraces near it', type: 'select', options: ['none', 'lift'], optionLabels: ['Off', 'Lift'], tab: 'cursor' },
|
|
478
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
479
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
480
|
+
{ name: 'resolution', label: 'Resolution', description: 'Grid resolution across a picture (structural: rebuilds)', type: 'number', min: 40, max: 260, step: 2, tab: 'shared' },
|
|
481
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
482
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
483
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
484
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
485
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
486
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
487
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
488
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
489
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
490
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
491
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
492
|
+
{ name: 'levels', label: 'Levels', description: 'Number of terraces', type: 'number', min: 2, max: 24, step: 1, tab: 'shared' },
|
|
493
|
+
{ name: 'relief', label: 'Relief', description: 'Height of the top terrace', type: 'number', min: 0, max: 0.6, step: 0.005, tab: 'active' },
|
|
494
|
+
{ name: 'sharpness', label: 'Sharpness', description: 'How crisp the terrace walls are', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
495
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before it is cut into terraces', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
496
|
+
{ name: 'edges', label: 'Edges', description: 'Brightness of the thin card edge along each terrace', type: 'number', min: 0, max: 1.5, step: 0.01, tab: 'shared' },
|
|
497
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the card under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
498
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
499
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
500
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
501
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
502
|
+
{ name: 'lift', label: 'Lift', description: 'How far the cursor lifts the terraces', type: 'number', min: 0, max: 0.4, step: 0.005, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
503
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
504
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
505
|
+
],
|
|
506
|
+
shadowBox: [
|
|
507
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
508
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or opens the sheets further', type: 'select', options: ['none', 'open'], optionLabels: ['Off', 'Open'], tab: 'cursor' },
|
|
509
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
510
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
511
|
+
{ name: 'sheets', label: 'Sheets', description: 'Paper sheets per picture (structural: rebuilds)', type: 'number', min: 2, max: 9, step: 1, tab: 'shared' },
|
|
512
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
513
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
514
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
515
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
516
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
517
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
518
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
519
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
520
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
521
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
522
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
523
|
+
{ name: 'separation', label: 'Separation', description: 'Distance between the sheets when open', type: 'number', min: 0, max: 0.4, step: 0.005, tab: 'active' },
|
|
524
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before the sheets are cut (rounder cuts)', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
525
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the paper under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
526
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
527
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
528
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
529
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
530
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
531
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
532
|
+
],
|
|
533
|
+
popUp: [
|
|
534
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
535
|
+
{ name: 'direction', label: 'Direction', description: 'Which way an inactive picture’s sheets lie: back, away from the viewer, or forward, folded down toward the viewer', type: 'select', options: ['back', 'forward'], optionLabels: ['Back', 'Forward'], tab: 'inactive' },
|
|
536
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or tilts the sheets near it', type: 'select', options: ['none', 'tilt'], optionLabels: ['Off', 'Tilt'], tab: 'cursor' },
|
|
537
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
538
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
539
|
+
{ name: 'sheets', label: 'Sheets', description: 'Pop-up sheets per picture (structural: rebuilds)', type: 'number', min: 2, max: 7, step: 1, tab: 'shared' },
|
|
540
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
541
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
542
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
543
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
544
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
545
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
546
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
547
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
548
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
549
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
550
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
551
|
+
{ name: 'separation', label: 'Separation', description: 'Depth between the sheets’ hinges', type: 'number', min: 0.02, max: 0.5, step: 0.005, tab: 'shared' },
|
|
552
|
+
{ name: 'closed', label: 'Closed', description: 'How far an inactive picture’s sheets lie down (degrees from upright)', type: 'number', min: 20, max: 88, step: 1, tab: 'inactive' },
|
|
553
|
+
{ name: 'stagger', label: 'Stagger', description: 'How much the sheets stand up one after another', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
554
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before the sheets are cut', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
555
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the paper under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
556
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
557
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
558
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
559
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
560
|
+
{ name: 'tilt', label: 'Tilt', description: 'How far the cursor tilts the sheets (degrees, the way they lie)', type: 'number', min: 0, max: 40, step: 1, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
561
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
562
|
+
{ name: 'shadows', label: 'Shadows', description: 'The sheets cast shadows (on each other and on the scene)', type: 'boolean', tab: 'shared' },
|
|
563
|
+
{ name: 'page', label: 'Page', description: 'Show the paper page the sheets are hinged to', type: 'boolean', tab: 'shared' },
|
|
564
|
+
{ name: 'pageColor', label: 'Page color', description: 'Colour of the page and of the sheets’ plain backs', type: 'color', tab: 'shared', showWhen: [{ key: 'page', is: true }] },
|
|
565
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
566
|
+
],
|
|
567
|
+
ridgelines: [
|
|
568
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
569
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or raises the ridges near it', type: 'select', options: ['none', 'raise'], optionLabels: ['Off', 'Raise'], tab: 'cursor' },
|
|
570
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
571
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
572
|
+
{ name: 'rows', label: 'Rows', description: 'Ridgelines down a picture (structural: rebuilds)', type: 'number', min: 12, max: 160, step: 1, tab: 'shared' },
|
|
573
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
574
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
575
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
576
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
577
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
578
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
579
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
580
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
581
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
582
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
583
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
584
|
+
{ name: 'relief', label: 'Relief', description: 'How high the brightest point lifts its ridge', type: 'number', min: 0, max: 0.4, step: 0.005, tab: 'active' },
|
|
585
|
+
{ name: 'lineWidth', label: 'Line width', description: 'Width of a ridgeline', type: 'number', min: 0.001, max: 0.015, step: 0.0005, tab: 'shared' },
|
|
586
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before it lifts the ridges', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
587
|
+
{ name: 'fillOpacity', label: 'Fill opacity', description: 'Opacity of an inactive picture’s fill (what hides the lines behind)', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
588
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
589
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
590
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
591
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
592
|
+
{ name: 'raise', label: 'Raise', description: 'How far the cursor raises the ridges', type: 'number', min: 0, max: 0.3, step: 0.005, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
593
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
594
|
+
{ name: 'lineColor', label: 'Line color', description: 'Colour of the ridgelines', type: 'color', tab: 'shared' },
|
|
595
|
+
{ name: 'fillColor', label: 'Fill color', description: 'Colour of an inactive picture’s fill', type: 'color', tab: 'inactive' },
|
|
596
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
597
|
+
],
|
|
598
|
+
flowLines: [
|
|
599
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
600
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or parts the lines around it', type: 'select', options: ['none', 'part'], optionLabels: ['Off', 'Part'], tab: 'cursor' },
|
|
601
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
602
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
603
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
604
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
605
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
606
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
607
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
608
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
609
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
610
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
611
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
612
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
613
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
614
|
+
{ name: 'lines', label: 'Lines', description: 'Lines across the picture', type: 'number', min: 16, max: 200, step: 1, tab: 'shared' },
|
|
615
|
+
{ name: 'bend', label: 'Bend', description: 'How much the picture’s forms bend the lines', type: 'number', min: 0, max: 6, step: 0.01, tab: 'shared' },
|
|
616
|
+
{ name: 'meander', label: 'Meander', description: 'Slow meander of the lines', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
617
|
+
{ name: 'flow', label: 'Flow', description: 'Speed of the flow along the lines', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared' },
|
|
618
|
+
{ name: 'dashes', label: 'Dashes', description: 'Dashes per picture width along an inactive line (0 = solid)', type: 'number', min: 0, max: 30, step: 0.5, tab: 'inactive' },
|
|
619
|
+
{ name: 'hairline', label: 'Hairline', description: 'Width of an inactive line, as a share of a bright line', type: 'number', min: 0.05, max: 0.8, step: 0.01, tab: 'inactive' },
|
|
620
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before it bends the lines', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
621
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
622
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
623
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
624
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
625
|
+
{ name: 'part', label: 'Part', description: 'How strongly the cursor parts the lines', type: 'number', min: 0, max: 4, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
626
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
627
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
628
|
+
],
|
|
629
|
+
strata: [
|
|
630
|
+
{ name: 'layout', label: 'Layout', description: 'Where the pictures sit: a row, a wave, a ring, a helix around the viewer, a tunnel into depth, a stack, a fan or a constellation', type: 'select', options: ['row', 'wave', 'ring', 'helix', 'tunnel', 'stack', 'fan', 'constellation'], optionLabels: ['Row', 'Wave', 'Ring', 'Helix', 'Tunnel', 'Stack', 'Fan', 'Constellation'], tab: 'shared' },
|
|
631
|
+
{ name: 'pointerMode', label: 'Pointer mode', description: 'What the cursor does: off, or pushes the plates near it back', type: 'select', options: ['none', 'push'], optionLabels: ['Off', 'Push'], tab: 'cursor' },
|
|
632
|
+
{ name: 'navigation', label: 'Navigation', description: 'What the pointer does: off; click right / left of the centre for next / previous; or also drag and throw the gallery', type: 'select', options: ['none', 'click', 'drag'], optionLabels: ['Off', 'Click', 'Click & drag'], tab: 'cursor' },
|
|
633
|
+
{ name: 'aspect', label: 'Aspect', description: 'Width / height of every picture; pictures are cover-fitted (structural: rebuilds)', type: 'number', min: 0.6, max: 2.5, step: 0.01, tab: 'shared' },
|
|
634
|
+
{ name: 'plates', label: 'Plates', description: 'Plates down a picture (structural: rebuilds)', type: 'number', min: 6, max: 120, step: 1, tab: 'shared' },
|
|
635
|
+
{ name: 'spacing', label: 'Spacing', description: 'Distance between neighbouring pictures, in picture widths', type: 'number', min: 0.8, max: 2.5, step: 0.01, tab: 'shared' },
|
|
636
|
+
{ name: 'depth', label: 'Depth', description: 'How far the inactive pictures stand back', type: 'number', min: 0, max: 3, step: 0.01, tab: 'inactive' },
|
|
637
|
+
{ name: 'visible', label: 'Visible', description: 'How many neighbours show on each side before they fade out', type: 'number', min: 1, max: 6, step: 0.1, tab: 'shared' },
|
|
638
|
+
{ name: 'shape', label: 'Shape', description: 'The layout’s own shape: wave height, ring tilt, helix rise, tunnel drift, stack offset, fan spread or constellation scatter', type: 'number', min: 0, max: 2, step: 0.01, tab: 'shared', showWhen: [{ key: 'layout', not: 'row' }] },
|
|
639
|
+
{ name: 'stiffness', label: 'Stiffness', description: 'Stiffness of the scroll spring: how briskly the gallery moves to the next picture', type: 'number', min: 5, max: 120, step: 1, tab: 'shared' },
|
|
640
|
+
{ name: 'damping', label: 'Damping', description: 'Damping of the scroll spring: higher settles without overshoot', type: 'number', min: 2, max: 30, step: 0.1, tab: 'shared' },
|
|
641
|
+
{ name: 'changeTime', label: 'Change time', description: 'Seconds the change takes to cross a picture', type: 'number', min: 0.4, max: 6, step: 0.1, tab: 'active' },
|
|
642
|
+
{ name: 'wave', label: 'Wave', description: 'Width of the soft change wave', type: 'number', min: 0.05, max: 1, step: 0.01, tab: 'active' },
|
|
643
|
+
{ name: 'slant', label: 'Slant', description: 'How diagonal the change wave is', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
644
|
+
{ name: 'dim', label: 'Dim', description: 'Brightness of the inactive pictures', type: 'number', min: 0, max: 1, step: 0.01, tab: 'inactive' },
|
|
645
|
+
{ name: 'autoplay', label: 'Autoplay', description: 'Seconds between automatic changes; 0 = off (held while the cursor is over the gallery)', type: 'number', min: 0, max: 20, step: 0.5, tab: 'pictures' },
|
|
646
|
+
{ name: 'relief', label: 'Relief', description: 'How far the brightest part of a plate stands forward', type: 'number', min: 0, max: 0.6, step: 0.005, tab: 'active' },
|
|
647
|
+
{ name: 'base', label: 'Base', description: 'Depth of the darkest part, as a share of the brightest', type: 'number', min: 0, max: 1, step: 0.01, tab: 'active' },
|
|
648
|
+
{ name: 'gap', label: 'Gap', description: 'Gap between plates, as a share of a plate', type: 'number', min: 0, max: 0.6, step: 0.01, tab: 'shared' },
|
|
649
|
+
{ name: 'smoothing', label: 'Smoothing', description: 'How much the brightness is smoothed before it shapes the plates', type: 'number', min: 0, max: 5, step: 0.1, tab: 'shared' },
|
|
650
|
+
{ name: 'roughness', label: 'Roughness', description: 'Roughness of the plates under the scene’s light', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
651
|
+
{ name: 'pointerStrength', label: 'Pointer strength', description: 'Strength of the cursor effect', type: 'number', min: 0, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
652
|
+
{ name: 'pointerRadius', label: 'Pointer radius', description: 'Reach of the cursor effect around the cursor', type: 'number', min: 0.1, max: 2, step: 0.01, tab: 'cursor', showWhen: [{ key: 'pointerMode', not: 'none' }] },
|
|
653
|
+
{ name: 'intensity', label: 'Intensity', description: 'Overall brightness', type: 'number', min: 0, max: 3, step: 0.01, tab: 'shared' },
|
|
654
|
+
{ name: 'opacity', label: 'Opacity', description: 'Overall opacity', type: 'number', min: 0, max: 1, step: 0.01, tab: 'shared' },
|
|
655
|
+
{ name: 'throwing', label: 'Throwing', description: 'How far a drag release throws the gallery before it snaps', type: 'number', min: 0, max: 0.5, step: 0.01, tab: 'shared' },
|
|
656
|
+
{ name: 'plateColor', label: 'Plate color', description: 'Colour of the plates’ tops and edges', type: 'color', tab: 'shared' },
|
|
657
|
+
{ name: 'feeds', label: 'Show on', description: 'Objects that show the active picture too: image objects play their own change to it, meshes take it as their texture; their own pictures come back when the feed ends', type: 'objects', tab: 'images', animatable: false },
|
|
658
|
+
],
|
|
659
|
+
};
|