Hidden Realities — Milkweed & shared wind field
First plate of the hidden-realities series: natural subjects as instrument photographs. One invisible wind field, three detectors — dunes (time-integrated, what the sand remembers), water (instantaneous), milkweed seeds (advected test particles). - src/field/wind.js: divergence-free curl-noise field with closed-form time integral; displacement / scalar / stepped-vec samplers. - src/scene/umbel.js: milkweed head as a particle interaction vertex; burst releases pedicels to seed. src/scene/drift.js: seeds advected, same track contract as track.js. - composition.js: switch -> GROUP_BUILDERS registry; fieldLake/flora/ drift layers + wind plumbing. carpet.js/perspgrid.js: warpFn/phaseFn/ modesFn/heightFn injection hooks (default off, no regression). - schema + composer panels, dunelake ink palette, dune-lake template, tools/dunelake.mjs (17-plate matrix) and its curated SVG set. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
240
output/dunelake/palette_dusk.mjs
Normal file
240
output/dunelake/palette_dusk.mjs
Normal file
@@ -0,0 +1,240 @@
|
||||
/* dune-lake-milkweed · dusk — sand holds the late light, slate water */
|
||||
export const composition = {
|
||||
"size": 1600,
|
||||
"seed": "CRITICALDUNE-7",
|
||||
"wind": {
|
||||
"seed": "ZEPHYR-011",
|
||||
"strength": 0.8,
|
||||
"scale": 1.6,
|
||||
"gust": 0.4,
|
||||
"time": 1.4
|
||||
},
|
||||
"background": {
|
||||
"color": "rgb(210,190,170)",
|
||||
"film": {
|
||||
"opacity": 0.5,
|
||||
"density": 0.5,
|
||||
"seed": 8
|
||||
},
|
||||
"aging": {
|
||||
"opacity": 0.35,
|
||||
"scratches": 3,
|
||||
"dust": 0.45,
|
||||
"foxing": 0.5,
|
||||
"seed": 5
|
||||
},
|
||||
"grain": {
|
||||
"opacity": 0.38,
|
||||
"intensity": 0.42,
|
||||
"seed": 19
|
||||
},
|
||||
"glow": {
|
||||
"strength": 0.5,
|
||||
"followSun": false
|
||||
},
|
||||
"vignette": {
|
||||
"strength": 0.32,
|
||||
"mode": "radial",
|
||||
"cx": 0.5,
|
||||
"cy": 0.42,
|
||||
"radius": 0.9,
|
||||
"angle": 90,
|
||||
"start": 0.5
|
||||
}
|
||||
},
|
||||
"fieldLake": {
|
||||
"enabled": true,
|
||||
"layerOpacity": 1,
|
||||
"transform": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"rotation": 0,
|
||||
"scale": 1
|
||||
},
|
||||
"seed": "LIMNOS-CRITICALDUNE-7",
|
||||
"color": {
|
||||
"hueBack": 0.62,
|
||||
"hueFront": 0.58,
|
||||
"sat": 0.5,
|
||||
"light": 0.42
|
||||
},
|
||||
"layers": 2,
|
||||
"chaos": 0.1,
|
||||
"blips": 0.2,
|
||||
"mound": 0,
|
||||
"horizonY": 0.39,
|
||||
"lines": 24,
|
||||
"wind": {
|
||||
"warp": 0.55
|
||||
},
|
||||
"clip": [
|
||||
0,
|
||||
0.35000000000000003,
|
||||
1,
|
||||
0.5700000000000001
|
||||
]
|
||||
},
|
||||
"fieldSea": {
|
||||
"enabled": true,
|
||||
"layerOpacity": 1,
|
||||
"transform": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"rotation": 0,
|
||||
"scale": 1
|
||||
},
|
||||
"seed": "AEOLIAN-CRITICALDUNE-7",
|
||||
"color": {
|
||||
"hueBack": 0.05,
|
||||
"hueFront": 0.95,
|
||||
"sat": 0.5,
|
||||
"light": 0.4
|
||||
},
|
||||
"layers": 3,
|
||||
"chaos": 0.22,
|
||||
"blips": 0.35,
|
||||
"mound": 0.55,
|
||||
"horizonY": 0.55,
|
||||
"lines": 52,
|
||||
"wind": {
|
||||
"warp": 0.9
|
||||
}
|
||||
},
|
||||
"fieldGrid": {
|
||||
"enabled": false,
|
||||
"layerOpacity": 1,
|
||||
"pos": "over",
|
||||
"style": "floor",
|
||||
"transform": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"rotation": 0,
|
||||
"scale": 1
|
||||
},
|
||||
"color": {
|
||||
"hue": 0.5,
|
||||
"hue2": 0.55,
|
||||
"sat": 0.32,
|
||||
"lightNear": 0.34,
|
||||
"lightFar": 0.62
|
||||
},
|
||||
"opacity": 0.44,
|
||||
"pitch": 0.45,
|
||||
"yaw": 0.42,
|
||||
"persp": 1.1,
|
||||
"dist": 2.8,
|
||||
"nx": 16,
|
||||
"nz": 24,
|
||||
"originY": 0.34,
|
||||
"ripple": {
|
||||
"amp": 0,
|
||||
"freqI": 0.5,
|
||||
"freqK": 0.35,
|
||||
"phase": 0
|
||||
},
|
||||
"resonance": {
|
||||
"amp": 0,
|
||||
"q": 14,
|
||||
"axis": "ties",
|
||||
"hue": 0.06,
|
||||
"sat": 0.7,
|
||||
"light": 0.45
|
||||
},
|
||||
"wind": {
|
||||
"ripple": 0
|
||||
}
|
||||
},
|
||||
"disk": {
|
||||
"enabled": false,
|
||||
"layerOpacity": 1,
|
||||
"transform": {
|
||||
"x": 0,
|
||||
"y": -0.26,
|
||||
"rotation": 0,
|
||||
"scale": 0.78
|
||||
},
|
||||
"hue": 0.06,
|
||||
"sat": 0.82,
|
||||
"size": 0.16,
|
||||
"pressure": 0.85,
|
||||
"intensity": 0.85,
|
||||
"striations": 0.6,
|
||||
"stain": 0.35,
|
||||
"soften": 1.35
|
||||
},
|
||||
"bubble": {
|
||||
"enabled": false,
|
||||
"layerOpacity": 1,
|
||||
"transform": {
|
||||
"x": 0.28,
|
||||
"y": -0.1,
|
||||
"rotation": 10,
|
||||
"scale": 0.78
|
||||
},
|
||||
"palette": "magentarise",
|
||||
"saturation": 1.05,
|
||||
"traceHue": 0,
|
||||
"transparentBase": true,
|
||||
"primaries": 18,
|
||||
"sweepers": 5,
|
||||
"cosmics": 6,
|
||||
"eloss": 0.34,
|
||||
"bfield": 1,
|
||||
"deltaRate": 0.6,
|
||||
"showBoundary": true,
|
||||
"boundaryR": 0.45,
|
||||
"boundaryY": 0.35,
|
||||
"boundaryOpacity": 0.4,
|
||||
"instrument": 0.35
|
||||
},
|
||||
"flora": {
|
||||
"enabled": true,
|
||||
"layerOpacity": 1,
|
||||
"transform": {
|
||||
"x": -0.34,
|
||||
"y": 0.42,
|
||||
"rotation": 0,
|
||||
"scale": 1
|
||||
},
|
||||
"palette": "dunelake",
|
||||
"saturation": 1.05,
|
||||
"count": 3,
|
||||
"scale": 0.42,
|
||||
"pedicels": 46,
|
||||
"droop": 0.4,
|
||||
"spread": 1,
|
||||
"burst": 0.25,
|
||||
"floretSize": 1,
|
||||
"clusterW": 0.7,
|
||||
"clusterH": 0.3,
|
||||
"seed": "ASCLEPIAS-CRITICALDUNE-7"
|
||||
},
|
||||
"drift": {
|
||||
"enabled": true,
|
||||
"layerOpacity": 1,
|
||||
"palette": "dunelake",
|
||||
"count": 28,
|
||||
"slip": 0.4,
|
||||
"flutter": 0.55,
|
||||
"settle": 0.06,
|
||||
"tuft": 2
|
||||
},
|
||||
"fiduciaries": {
|
||||
"enabled": true,
|
||||
"layerOpacity": 1,
|
||||
"label": "ASCLEPIAS SYRIACA",
|
||||
"pencil": "#39312a",
|
||||
"width": 1,
|
||||
"arrow": true,
|
||||
"corners": false,
|
||||
"caption": "wind · integrated | instantaneous | advected",
|
||||
"target": [
|
||||
-0.34,
|
||||
0.42
|
||||
],
|
||||
"from": [
|
||||
0.35,
|
||||
-0.3
|
||||
]
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user