tosijs-3d 0.10.3 → 0.10.5

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.
Files changed (108) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/dist/b3d-decorator.d.ts.map +1 -1
  3. package/dist/b3d-decorator.js +27 -4
  4. package/dist/b3d-decorator.js.map +1 -1
  5. package/dist/b3d-planet.d.ts +49 -2
  6. package/dist/b3d-planet.d.ts.map +1 -1
  7. package/dist/b3d-planet.js +446 -109
  8. package/dist/b3d-planet.js.map +1 -1
  9. package/dist/b3d-star-system.d.ts +34 -3
  10. package/dist/b3d-star-system.d.ts.map +1 -1
  11. package/dist/b3d-star-system.js +423 -198
  12. package/dist/b3d-star-system.js.map +1 -1
  13. package/dist/b3d-star.d.ts +1 -0
  14. package/dist/b3d-star.d.ts.map +1 -1
  15. package/dist/b3d-star.js +48 -59
  16. package/dist/b3d-star.js.map +1 -1
  17. package/dist/b3d-terrain.d.ts.map +1 -1
  18. package/dist/b3d-terrain.js +60 -1
  19. package/dist/b3d-terrain.js.map +1 -1
  20. package/dist/b3d-utils.d.ts +6 -0
  21. package/dist/b3d-utils.d.ts.map +1 -1
  22. package/dist/b3d-utils.js +10 -0
  23. package/dist/b3d-utils.js.map +1 -1
  24. package/dist/biome-chart.d.ts +8 -1
  25. package/dist/biome-chart.d.ts.map +1 -1
  26. package/dist/biome-chart.js +15 -3
  27. package/dist/biome-chart.js.map +1 -1
  28. package/dist/biome-plugin.d.ts +47 -0
  29. package/dist/biome-plugin.d.ts.map +1 -1
  30. package/dist/biome-plugin.js +167 -18
  31. package/dist/biome-plugin.js.map +1 -1
  32. package/dist/climate-noise.d.ts +18 -0
  33. package/dist/climate-noise.d.ts.map +1 -0
  34. package/dist/climate-noise.js +78 -0
  35. package/dist/climate-noise.js.map +1 -0
  36. package/dist/debug-sink.d.ts.map +1 -1
  37. package/dist/debug-sink.js +3 -1
  38. package/dist/debug-sink.js.map +1 -1
  39. package/dist/gas-giant-material.d.ts.map +1 -1
  40. package/dist/gas-giant-material.js +2 -1
  41. package/dist/gas-giant-material.js.map +1 -1
  42. package/dist/gas-giant.d.ts +1 -1
  43. package/dist/gas-giant.d.ts.map +1 -1
  44. package/dist/gas-giant.js +50 -17
  45. package/dist/gas-giant.js.map +1 -1
  46. package/dist/index.d.ts +14 -5
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -5
  49. package/dist/index.js.map +1 -1
  50. package/dist/land-and-sky.js +35 -5
  51. package/dist/land-and-sky.js.map +1 -1
  52. package/dist/landform.d.ts +43 -0
  53. package/dist/landform.d.ts.map +1 -1
  54. package/dist/landform.js +84 -11
  55. package/dist/landform.js.map +1 -1
  56. package/dist/noise-texture.d.ts +8 -0
  57. package/dist/noise-texture.d.ts.map +1 -0
  58. package/dist/noise-texture.js +58 -0
  59. package/dist/noise-texture.js.map +1 -0
  60. package/dist/noise-volume.d.ts +14 -0
  61. package/dist/noise-volume.d.ts.map +1 -1
  62. package/dist/noise-volume.js +41 -0
  63. package/dist/noise-volume.js.map +1 -1
  64. package/dist/planet-clouds.d.ts.map +1 -1
  65. package/dist/planet-clouds.js +72 -19
  66. package/dist/planet-clouds.js.map +1 -1
  67. package/dist/planet-map.d.ts.map +1 -1
  68. package/dist/planet-map.js +35 -11
  69. package/dist/planet-map.js.map +1 -1
  70. package/dist/planet-surface-material.d.ts +61 -0
  71. package/dist/planet-surface-material.d.ts.map +1 -0
  72. package/dist/planet-surface-material.js +342 -0
  73. package/dist/planet-surface-material.js.map +1 -0
  74. package/dist/rocky-world.d.ts +73 -0
  75. package/dist/rocky-world.d.ts.map +1 -0
  76. package/dist/rocky-world.js +260 -0
  77. package/dist/rocky-world.js.map +1 -0
  78. package/dist/sol.d.ts +3 -0
  79. package/dist/sol.d.ts.map +1 -0
  80. package/dist/sol.js +138 -0
  81. package/dist/sol.js.map +1 -0
  82. package/dist/solar-system.d.ts +2 -0
  83. package/dist/solar-system.d.ts.map +1 -0
  84. package/dist/solar-system.js +133 -0
  85. package/dist/solar-system.js.map +1 -0
  86. package/dist/space-backdrop.d.ts +17 -0
  87. package/dist/space-backdrop.d.ts.map +1 -0
  88. package/dist/space-backdrop.js +54 -0
  89. package/dist/space-backdrop.js.map +1 -0
  90. package/dist/sphere-map.d.ts +39 -0
  91. package/dist/sphere-map.d.ts.map +1 -1
  92. package/dist/sphere-map.js +37 -1
  93. package/dist/sphere-map.js.map +1 -1
  94. package/dist/star-material.d.ts +12 -0
  95. package/dist/star-material.d.ts.map +1 -0
  96. package/dist/star-material.js +102 -0
  97. package/dist/star-material.js.map +1 -0
  98. package/dist/system-layout.d.ts +120 -0
  99. package/dist/system-layout.d.ts.map +1 -0
  100. package/dist/system-layout.js +135 -0
  101. package/dist/system-layout.js.map +1 -0
  102. package/package.json +2 -1
  103. package/static/attributes.json +76 -46
  104. package/static/attributes.txt +24 -17
  105. package/dist/rocket-ascent.d.ts +0 -20
  106. package/dist/rocket-ascent.d.ts.map +0 -1
  107. package/dist/rocket-ascent.js +0 -410
  108. package/dist/rocket-ascent.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,130 @@ All notable changes to **tosijs-3d**. This project is pre-1.0 (`0.x`), so minor
6
6
  versions may carry breaking peer-dependency changes — each is called out in a
7
7
  **⚠️ Breaking** block in its version section below, with what a consumer must do.
8
8
 
9
+ ## 0.10.5
10
+
11
+ ### Added
12
+
13
+ - **The Solar System demo** (Demos): our own system from the library's parts, every planet and moon a planet, Phobos, Deimos, Vesta and Pallas as lumpy rocks, the asteroid belt, a `look at` camera that follows a body from its sunlit side, and **real maps** for the Earth, the Moon and Mars at the flick of a toggle. `SOL` is the system as data; a star system draws any `SystemSpec` you give its `system` property (`maps="on"` uses a body's real maps), and `layoutSystem` takes known moons and belt bodies. A new `ice` world (Europa, Enceladus, Triton).
14
+ - **Rocky worlds: `<tosi-b3d-planet world="moon">`.** `ROCKY_WORLDS` has the Moon, Mercury, Mars, Venus, Io, Titan and an Earth as data (sea and its colour, air, clouds, relief, craters, climate, and for Io and Titan their own ground colours), the rocky half of `GAS_GIANTS`. `world` is a preset: choosing one writes its values into the planet's own settings, which stay yours to tune (`worldOverrides` changes the preset for one planet). A planet takes `seaShallow`/`seaDeep` for its sea's colour (Titan's methane). The colours are the biome chart's (a dry warm world is red, a dry cold one grey).
15
+ - **`spaceBackdrop()`: space, set up once.** A sun and the airless star sky with the galaxy tilted off the scene's plane, to spread into a `b3d(…)`. The planet, gas giant and planet-map demos share it (untilted, the Milky Way ran exactly along Saturn's rings). Defaults to the pinned versioned sky, `PINNED_SKY_URL`. The planet demo has a world picker.
16
+ - **A star system is made of real planets.** `<tosi-b3d-star-system>` draws every body as a `<tosi-b3d-planet>`: giants banded and ringed, rocky worlds picked from what the generator says about each (`rockyWorldFor`: airless rock, seas, a toxic hot sky, or dust), moons locked to their planets, and an asteroid belt (`beltCount` rocks, thin-instanced, with its few big bodies picked out) in a wide gap before the first giant. Its `bodies` list names every planet, moon and named asteroid with the node that carries it, and the demo's `look at` follows one with the camera, under the shared star sky (`spaceBackdrop({ sun: false })`: a system lights itself). ⚠️ It looks different: distances are on a log scale and sizes on a square root (`system-layout`, pure and tested), so a system fits on a screen without being empty.
17
+ - **Craters on a planet.** `sphereCraters` (landform) is `craterField` on a whole body: no seam, no squeeze at the poles, and an `asymmetry` toward a direction, for a tidally locked moon's leading side. A planet takes `craters`, `craterSize`, `craterWear` and `craterAsymmetry`, or its `world`'s. `craterProfile` is the one crater shape both share.
18
+
19
+ ### Removed
20
+
21
+ - ⚠️ **The Rocket Ascent demo and `rocketAscent()`**, outdated; the Solar System demo replaces it in the demos.
22
+
23
+ ### Changed
24
+
25
+ - **Stars look like stars.** `<tosi-b3d-star>` and a star system's star share one surface material (`star-material`): white-hot in the middle and shading into the star's own colour toward a darker limb (only a warm star reddens there), slowly boiling granulation and a few sunspots; the glow peaks at the edge and fades outward instead of washing the disc out. They were a flat emissive colour, a white ball. The spectral colours are stylised so each class reads as its own: O white with a trace of violet, B violet-blue, A blue, F green, G a clear yellow (the Sun too), K orange, M red.
26
+ - **Gas giants tear at their band edges.** Turbulence is eddies where the wind reverses, in patches along the edges, instead of a warp that made every band wavy; inside a band the texture is billow filaments along the wind. A storm brighter than the zones (Neptune's) is dark with bright cloud at its rim.
27
+ - **A planet's ring lies in its equator.** It was tipped off it, and as the planet turned the ring precessed.
28
+
29
+ ### Fixed
30
+
31
+ - **A gas giant's storm had a seam** where its swirl read noise at an angle that jumps a full turn.
32
+ - **Gas giant poles had a dark blotch**, a cap of a different colour; the bands now close in on the pole, a little darker.
33
+ - **Rings are sharp, and no longer flicker.** The density along the radius is 1D noise at several scales, terraced into plateaus of different widths with edges about a pixel wide, under a broad profile (faint inside, brightest a little out), with a wide gap and a narrow one cut clean. A shepherd moon's wake ripples the edges either side of the narrow gap. Only detail finer than a pixel fades to its average, which is what stopped the flicker; the band frequency no longer grows with the seed.
34
+
35
+ Size: barrel (min, packages external) 1042.5 KB raw / 353.5 KB gz, +3.67% on 0.10.4.
36
+
37
+ ## 0.10.4
38
+
39
+ ### Added
40
+
41
+ - **Land and Sky: a sphere world switch.** The World tab has `sphere world` and `planet radius` (2 to 6,400 km): the same ground laid on a planet, starting at 45° north, with the latitude climate above. Presets save both.
42
+ - **A sphere world's ground and its globe share one climate.** A terrain in `surfaceType="sphere"` now takes the planet's climate: temperature by latitude (walk toward a pole and it gets colder, to ice), with the regional noise read at the point of the sphere each piece of ground is. A `<tosi-b3d-planet biome="on">` given that terrain's `planetSurface()` copies the ground's climate settings and colours every frame, in its own units (`climateForGlobe`), so the forest, desert and ice you see from orbit are the ones you land on. `biomeTemperature` on such a terrain is the world's mean: the equator is warmer and the poles far colder. ⚠️ This changes how an existing sphere-mode terrain is coloured. The decorator places by the same climate (`groundClimateAt(params, x, y, z)`, which is also the way to ask what the climate is at a place).
43
+ - **One mesh for land and sea.** A planet with a colour map, or without the
44
+ biome shading, is now a single sphere drawn by one shader
45
+ (`createPlanetSurfaceMaterial`): land above sea level, water below, told
46
+ apart per pixel by height. The coast is a smooth line however coarse the
47
+ mesh (it was wherever the ground poked through a sea sphere), the water is
48
+ pale in the shallows and dark in the deep, and the sea has the sun's
49
+ glint, broken into sparkle by fine wave texture. `seaGlint`, `seaIce`.
50
+ On a real-map planet `flatSea="on"` now means "this world has a sea".
51
+ With `biome="on"` the land is classified by the biome shader itself: the
52
+ plugin's own code runs inside the planet material, so it is the same
53
+ chart, palettes, parameters and volcanism as terrain, and
54
+ `planet.biomePlugin.params` is live as before. Every planet that is not a
55
+ gas giant is drawn this way now; the translucent sea sphere is gone.
56
+ What is steep is decided from the heights alone (the slope the biome
57
+ shader reads is taken from the height field per pixel, not from the
58
+ mesh's normals), so the sea bed has slopes too. Changing `ocean` or
59
+ `flatSea` and calling `updateOptions()` rebuilds the mesh, since the sea
60
+ is in it; and `biomePlugin.params` is one object for the life of the
61
+ element, so a control bound to it survives a rebuild.
62
+
63
+ - **Crinkly coastlines on a procedural planet.** The mesh cannot hold a
64
+ coast that turns tighter than about two of its cells, so the octaves of
65
+ detail it cannot carry are added per pixel, to the height that decides
66
+ where the sea ends, how deep it is and how high the land is. They follow
67
+ `detailScale` and `detailAmplitude`: turn those up and the coast breaks
68
+ into inlets and islands. Slope still comes from the mesh's heights.
69
+ - **Lakes glint.** `inlandWater="on"` on a planet with a `colorMap` guesses
70
+ inland water from the picture (blue, or the near-black NASA's Blue Marble
71
+ paints deep lakes) and gives it the sea's glint. The height map only knows
72
+ the sea. The real-worlds Earth has it on, and that demo gained `clouds`,
73
+ `storms` (how many, up to four) and `storm intensity` sliders.
74
+
75
+ ### Changed
76
+
77
+ - **Height dries the land over the land's own height**, from the sea level to the highest the ground reaches, not over the whole relief (most of which may be under water). Land and Sky's moisture is 0.95, up from 0.72, which since the dead row was added had meant steppe rather than forest.
78
+ - **⚠️ The ground's climate varies by region, so worlds look different out of the box.** The biome shader's moisture noise was patches 50 m across at ±0.18, too small and too faint to change a biome, so every island was the same mottle. It is now regions about a kilometre across at ±0.5 (`mNoiseScale` 0.001, `mNoiseAmp` 0.5 on `terrain.biomePlugin.params`): one island is forest, the next is dry. For the old look set them to 0.02 and 0.18. Land and Sky has `moisture variation` and `region size` sliders.
79
+ - **Height dries the land.** On terrain, moisture now falls off with height above the sea (to 1/e over half of `grossAmplitude + detailAmplitude`), so coasts and valleys are green and heights are dry; the decorator reads the same rule (`moistureDryHeight` on the biome params and on `mantaAxes`' config; `0` is off, which is the plugin's default without a terrain). A planet already did this.
80
+ - **The decorator follows the regions.** Its trees and plants were placed from the base climate alone. The ground's temperature and moisture noise is now a seeded lattice the shader reads as a texture and code can evaluate too (`climateNoiseAt`, and the pure `climateNoise`), so the forest stands where the ground is drawn green. Changing the noise settings rebuilds the scatter.
81
+ - **Procedural planet: moisture varies by region.** With `biome="on"` the moisture noise is now broad and strong (`mNoiseScale` 0.035, `mNoiseAmp` 0.5 on `planet.biomePlugin.params`), so a continent carries deserts and forest belts where it was one colour. The demo has a `moisture variation` slider. Set `mNoiseAmp` to 0.18 and `mNoiseScale` to 0.07 for the old look.
82
+ - **A planet's cloud reads its noise from a texture.** A cloud pixel takes
83
+ 54 noise samples, each of which was eight hashes of arithmetic; each is
84
+ one read of a small 3D texture now (the same noise, a different draw of
85
+ it, so the weather is not where it was). The cloud shell was 6 to 9 ms of
86
+ a Quest's frame; measured there afterwards, removing it buys under 1 ms.
87
+ - **A planet's surface reads its noise too**: its climate, the biome
88
+ shader's fine noise (as terrain already did) and the sea's glint. The
89
+ glint is only worked out near the sun's reflection, which is a small part
90
+ of an ocean. Not yet measured on a headset.
91
+
92
+ ### Fixed
93
+
94
+ - **A dry world's crater floors were drawn as sea bed**, a flat dark patch: the classifier took the zero height for a sea. A world with no sea now has none under its ground, and its classifier works at the planet's own scale (a datum at 0.001 had put its noise past float precision).
95
+ - **Small bodies in a star system were coarse** (a belt body's mesh was 16 divisions a face, so crater rims drew straight lines across Ceres); moons and named asteroids are 40 now.
96
+ - **A large planet was frozen and speckled.** The biome's lengths (height cooling, climate noise, dither, strata, the latitude wobble, surf) were tuned on radius 50; they scale with the planet's radius now, so a radius-3000 world reads as one at 50 does (board #3280, from Manta).
97
+ - **A world's volcanism outlived it**: Io's glowing plates stayed on the next world chosen.
98
+ - **A planet's cooling with height stuck from its first build**, so a dry world chosen after one with a sea was frozen pale.
99
+ - **Planet clouds can close**: `clouds` runs past 1, to 3 for a solid deck (Venus); at 1 it still left holes.
100
+ - **Rock on a planet was blocky.** The cliff test read a slope that was constant across each triangle (from screen derivatives), so bare rock stepped in squares. On land, and anywhere on a world with no sea, it reads the mesh's own smooth normal now; only a sea bed, held flat in the mesh, still needs the derivative one.
101
+ - **A sphere world was drier than a flat one.** The rain shadow's wind was fixed in the planet's frame, so level ground on one side of the planet read as a leeward slope everywhere, about 0.12 off the moisture. The wind now blows along the ground: slopes still get wet and dry sides, level ground gets neither. The decorator's mirror of it had the same bias and now has none.
102
+ - **Changing a terrain's `surfaceType` or radius rebuilds its surface.** The sampler was built once at scene-ready, so the tiles kept the old shape while everything that reads the radius live moved on.
103
+ - **Land and Sky: the eye height slider works in a headset.** It moved the flat camera only; the headset's rig took its height once, on entry.
104
+ - **Climate regions stay put when the origin moves.** The ground's temperature and moisture noise was read at the render position, so a floating-origin reset shifted it. It is read at the world position now (`worldOffsetX`/`worldOffsetZ` on the biome params, which the terrain keeps up to date).
105
+ - **Cloud broke into mismatched tiles on a Quest.** The shader noise's
106
+ lattice hash now snaps to the integer first, so every cell hashes a shared
107
+ corner to the identical value. (A compiler folding the corner offset into
108
+ the hash made neighbours disagree.) Gas giants and the sea glint share the
109
+ noise and the fix.
110
+ - **A hard edge in planet cloud along the equator**, where a weather cell
111
+ lying across it was wound opposite ways on either side.
112
+ - The cost sweep lists a planet's cloud shell as its own row.
113
+ - **Pausing stops a planet's weather.** Cloud, the air's haze, the sea's
114
+ glint and a gas giant's bands ran on the wall clock; they follow the
115
+ scene's own time now, so they pause and slow with `timeScale`.
116
+ - **A planet's air no longer glows on the night side.** The atmosphere shell
117
+ is added to what is behind it and was added at full strength all the way
118
+ round. It is lit by the sun now, with a little twilight past the
119
+ terminator.
120
+ - **(behaviour) A planet's clouds ride half way up its atmosphere** (they
121
+ were capped at 2% of the radius), so a deeper `atmosphere` lifts them.
122
+
123
+ ### Changed
124
+
125
+ - **Planet storms look like storms.** The winding is a vortex's (tightest
126
+ round the eye, barely bending the outer arms; it used to shear hardest at
127
+ the rim), the disc has spiral rainbands and shows its relief, and the eye
128
+ is a shaded funnel with a hard inner edge where it was a hole in a white
129
+ plate.
130
+
131
+ Size: barrel (min, packages external) 1025.1 KB raw / 347.8 KB gz, +1.95% on 0.10.3.
132
+
9
133
  ## 0.10.3
10
134
 
11
135
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-decorator.d.ts","sourceRoot":"","sources":["../src/b3d-decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b3d-decorator.d.ts","sourceRoot":"","sources":["../src/b3d-decorator.ts"],"names":[],"mappings":"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"}
@@ -94,7 +94,7 @@ import { B3dChild, fetchedUrl, isOff, publicName } from './b3d-utils.js';
94
94
  import { assetUrl } from './asset-url.js';
95
95
  import { resolveBudget } from './b3d-quality.js';
96
96
  import { mantaAxes } from './biome-chart.js';
97
- import { attachBiomePlugin } from './biome-plugin.js';
97
+ import { attachBiomePlugin, groundClimateAt, } from './biome-plugin.js';
98
98
  import { rockFromName, rockGeometry } from './procedural-rock.js';
99
99
  import { isDefaultLibrary, scatterPlacements, NearIndex, seatDip, pruneScatterCache, NATURE_KIT_RULES, NATURE_RULES, NATURE_ROLES, roleFor, } from './scatter.js';
100
100
  /*
@@ -330,7 +330,24 @@ export class B3dDecorator extends B3dChild {
330
330
  terrain?.generationKey ?? '',
331
331
  terrain?.provinceField != null ? 'province' : '',
332
332
  p
333
- ? [p.seaLevel, p.baseTemperature, p.lapseRate, p.mapMoisture].join(',')
333
+ ? [
334
+ p.seaLevel,
335
+ p.baseTemperature,
336
+ p.lapseRate,
337
+ p.mapMoisture,
338
+ p.tNoiseScale,
339
+ p.tNoiseAmp,
340
+ p.mNoiseScale,
341
+ p.mNoiseAmp,
342
+ p.moistureDryHeight,
343
+ p.sheetRadius,
344
+ p.sheetU,
345
+ p.sheetV,
346
+ p.equatorTemp,
347
+ p.temperateTemp,
348
+ p.poleTemp,
349
+ p.rainShadow,
350
+ ].join(',')
334
351
  : '',
335
352
  ].join('|');
336
353
  }
@@ -579,6 +596,7 @@ export class B3dDecorator extends B3dChild {
579
596
  lapseRate: 0.004,
580
597
  mapMoisture: 0.5,
581
598
  };
599
+ const noisy = terrain.biomePlugin != null;
582
600
  // The cache holds GROUND only, so it is stale only when the terrain is.
583
601
  const groundKey = String(terrain?.generationKey ?? '');
584
602
  if (groundKey !== this._cacheKey) {
@@ -601,8 +619,13 @@ export class B3dDecorator extends B3dChild {
601
619
  center: here,
602
620
  radius: this.radius,
603
621
  height,
604
- climate: (_x, _z, y) => {
605
- const { temperature, moisture } = mantaAxes(y, cfg);
622
+ climate: (x, z, y) => {
623
+ // The climate the ground is drawn with (its regions, and on a
624
+ // sphere world its latitude), so the forest stands where the
625
+ // ground is green.
626
+ const { temperature, moisture } = noisy
627
+ ? groundClimateAt(cfg, x, y, z)
628
+ : mantaAxes(y, cfg);
606
629
  return {
607
630
  temperature,
608
631
  moisture,
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-decorator.js","sourceRoot":"","sources":["../src/b3d-decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyFE;AACF,wCAAwC;AAExC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,iBAAiB,EAEjB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,OAAO,GAIR,MAAM,cAAc,CAAA;AAErB;;;;;EAKE;AACF,MAAM,iBAAiB,GAAG,UAAU,CAAA;AACpC,MAAM,eAAe,GAAG,iCAAiC,CAAA;AACzD,MAAM,QAAQ,GAAmC,EAAE,CAAA;AAiBnD,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,gBAAgB,GAAG,oBAAoB,CAAA;IAC9C,MAAM,CAAC,eAAe,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAA;IAEzD,MAAM,CAAC,cAAc,GAAG;QACtB,MAAM,EAAE,IAAI;QACZ,uEAAuE;QACvE,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,IAAoB;QAC5B,OAAO,EAAE,KAAqB;QAC9B,SAAS,EAAE,IAAoB;QAC/B,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,GAAG;QACjB,yDAAyD;QACzD,KAAK,EAAE,CAAC,CAAC;QACT,iDAAiD;QACjD,SAAS,EAAE,CAAC;KACb,CAAA;IAkBD;;;;;OAKG;IACH,IAAY,eAAe;QACzB,OAAO,gBAAgB,CACrB,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,EACzC,QAAQ,CAAC,eAAe,CAAC,EACzB,eAAe,CAChB,CAAA;IACH,CAAC;IAEO,MAAM,GAAyB,IAAI,CAAA;IAC3C;;;;;OAKG;IACH,IAAI,KAAK;QACP,OAAO,CACL,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACxE,CAAA;IACH,CAAC;IACD,mDAAmD;IACnD,IAAI,KAAK,CAAC,KAA2B;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IACD;;;;;;;;;OASG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,KAAqC;QAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IACO,MAAM,GAA0C,IAAI,CAAA;IAC5D,0DAA0D;IAC1D,UAAU,GAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,IAAI,GAAyB,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9C,qEAAqE;IACrE,WAAW,GAAG,CAAC,CAAA;IAEP,KAAK,GAAiC,IAAI,CAAA;IAC1C,UAAU,GAAkC,IAAI,CAAA;IAChD,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAA;IAC7C,MAAM,GAAmB,EAAE,CAAA;IAC3B,OAAO,GAAoC,IAAI,CAAA;IACvD;;;;;MAKE;IACM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAA;IACxC,SAAS,GAAG,EAAE,CAAA;IACd,IAAI,GAAG,EAAE,CAAA;IACT,SAAS,GAA2C,IAAI,CAAA;IACxD,QAAQ,GAAG,CAAC,CAAA;IACZ,KAAK,GAAmB,EAAE,CAAA;IAC1B,SAAS,GAA2B,EAAE,CAAA;IACtC,kBAAkB,GAAG,CAAC,CAAA;IACtB,gBAAgB,GAAG,CAAC,CAAA;IAE5B;;;;;;;;MAQE;IACM,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAQ,CAAA;QAC5D,MAAM,GAAG,GAAG,GAAG,EAAE,eAAsD,CAAA;QACvE,MAAM,IAAI,GAAG,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,CAAA;QAC5C,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;YAAE,OAAM;QACvC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;gBAClC,iEAAiE;gBACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;gBACnE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG;oBAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;qBAChD,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG;oBAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAClE,CAAC;IACL,CAAC;IACO,SAAS,GAAwB,IAAI,CAAA;IACrC,UAAU,GAAG,KAAK,CAAA;IAC1B,kDAAkD;IAC1C,OAAO,GAAG,CAAC,CAAA;IAEnB,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAC1D,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAA;QAC3B,MAAM,GAAG,GACP,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAA;QACxE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC;aACxD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC,CAAC,OAAO,EAAE,CAAA;gBACX,OAAM;YACR,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;YACnB,CAAC,CAAC,aAAa,EAAE,CAAA;YACjB,mEAAmE;YACnE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,SAAS;YACX,KAAa,CAAC,cAAc,EAAE,CAAC;gBAC9B,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,GAAG,EAAE,CAAC;oBACX,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,MAAM,IAAI,CAAC,aAAa,EAAE,YACxD,IAAI,CAAC,MACP,GAAG;oBACH,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,iBAAiB;oBAC5C,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;oBACzC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;iBAC9D;aACF,CAAC,IAAI,IAAI,CAAA;IACd,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACxB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,CAAC,CAAC,OAAO,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY;YAAE,CAAC,CAAC,OAAO,EAAE,CAAA;QAC9C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC1E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;IAED,wEAAwE;IACxE,OAAO;QACL,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC9D,CAAC;IAED,gFAAgF;IACxE,MAAM;QACZ,MAAM,EAAE,GAAI,IAAI,CAAC,KAAa,EAAE,QAAQ,KAAK,IAAI,CAAA;QACjD,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,8BAA8B;IACtB,aAAa;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,0DAA0D;IAClD,WAAW,CAAC,OAAY;QAC9B,MAAM,CAAC,GAAG,OAAO,EAAE,WAAW,EAAE,MAAM,CAAA;QACtC,OAAO;YACL,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,SAAS;YACd,OAAO,EAAE,aAAa,IAAI,EAAE;YAC5B,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAChD,CAAC;gBACC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvE,CAAC,CAAC,EAAE;SACP,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACb,CAAC;IAEO,KAAK;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAA;QAC/B,MAAM,GAAG,GAAG,KAAK,EAAE,YAAY,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC/B,IACE,KAAK,IAAI,IAAI;YACb,GAAG,IAAI,IAAI;YACX,IAAI,CAAC,UAAU,IAAI,IAAI;YACvB,OAAO,IAAI,IAAI;YAEf,OAAM;QACR,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;YAAE,OAAM;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAClD,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/B,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;SAChC,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,KAAK,GACT,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,OAAO,IAAI,IAAI;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA;YAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAClC,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QACD,IACE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAC5C,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA;YACjD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAEO,cAAc,GAAG,EAAE,CAAA;IACnB,YAAY,GAAmB,EAAE,CAAA;IACjC,aAAa,GAAoC,IAAI,CAAA;IACrD,UAAU,GAAuB,IAAI,CAAA;IAE7C,8EAA8E;IACtE,WAAW,CAAC,IAAY;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAA;QAC/B,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACpC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACtB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC5D,GAAG,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACtD,GAAG,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAA;QAC1B,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAA;QAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,cAAc,GAAG,IAAI,GAAG,EAO7B,CAAA;IAEH;;;;OAIG;IACK,aAAa,CACnB,GAA4B,EAC5B,KAAa;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAA;QAC/B,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,GAAG,CAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,GAAG,CAAA;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,QAAQ,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACnE,wDAAwD;QACxD,MAAM,MAAM,GAAG,CAAE,GAAW,CAAC,WAAW,IAAK,GAAW,CAAC,YAAY,CAExD,CAAA;QACb,QAAQ,CAAC,YAAY;YACnB,MAAM,IAAI,IAAI;gBACZ,CAAC,CAAE,GAAW,CAAC,WAAW,IAAI,IAAI;oBAChC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;oBACvB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;gBAClB,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACvC,QAAQ,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACpD,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAA;QAC9C,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAA0B,EAAE,IAAI,EAAE,CAAA;QACpE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACnC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;;;MAOE;IACM,cAAc,CAAC,OAAY;QACjC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAiC,CAAA;QACtD,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,CAAA;QACzC,MAAM,IAAI,GAAG,CACX,QAA0B,EAC1B,MAA0B,EAC1B,IAA+B,EACX,EAAE;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,MAAM,IAAI,IAAI;oBAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAA;gBAC5C,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YACtC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;YAClB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;YAC1B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAC5B,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;YAC9B,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACvE,6DAA6D;QAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACjE,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;QAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,UAAW,CAAA;QAC1B,qEAAqE;QACrE,MAAM,IAAI,GACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CACnC,CAAA;QACH,IAAI,IAAI,GAAqB,IAAI,CAAA;QACjC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB;;;;;;;;;;;;cAYE;YACF,IAAI,GAAG,GAAiB,IAAI,CAAA;YAC5B,OAAO,GAAG,CAAC,MAAM,IAAI,IAAI;gBAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;YAC3C,MAAM,MAAM,GAAI,GAA6B;iBAC1C,kBAAkB,CAAC,IAAI,CAAC;iBACxB,KAAK,EAAE,CAAA;YACV,MAAM,CAAC,MAAM,EAAE,CAAA;YACf,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CACjD,IAAI,CAAC,mBAAmB,EAAE,EAC1B,MAAM,CACP,CAAA;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CACxC,CAAC,MAAM,CAAC,CAAC,EACT,CAAC,MAAM,CAAC,CAAC,EACT,CAAC,MAAM,CAAC,CAAC,CACV,CAAA;YACD,MAAM,KAAK,GAAW,EAAE,CAAA;YACxB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC7D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAA;YAChE,MAAM,MAAM,GAAG;gBACb,GAAG,CAAC,IAAI,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;aAC9B,CAAC,MAAM,CACN,CAAC,CAAC,EAAqB,EAAE,CACvB,CAAC,YAAY,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,CACxD,CAAA;YACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,oEAAoE;gBACpE,MAAM,GAAG,GAAG,CAAC;qBACV,kBAAkB,CAAC,IAAI,CAAC;qBACxB,QAAQ,CAAC,MAAM,CAAC;qBAChB,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACpB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAiB,CAAA;gBACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;gBACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC5B,kEAAkE;gBAClE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CACpB,QAAQ,IAAI,SAAS,EACrB,IAAI,CAAC,KAAK,EACV,IAAI,CACW,CAAA;gBACjB;;;;;;;;;kBASE;gBACF,MAAM,CAAC,kBAAkB,EAAE,CAAA;gBAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACzB,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;gBACzD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACxB,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAA;gBACpC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAA;gBACzB,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC9B,MAAM,CAAC,cAAc,GAAG,KAAK,CAAA;gBAC7B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBACvC,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,WAAW,CAAA;gBAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAC5C,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/C,OAAO,CACR,CAAA;oBACD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;oBACtB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;gBACxB,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;gBAC5B,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;gBAC9B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAEO,MAAM,CACZ,OAAY,EACZ,IAA8B,EAC9B,GAA6B;QAE7B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAA;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI;YACzC,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,GAAG;YACpB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,GAAG;SACjB,CAAA;QACD,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC,CAAA;QACtD,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAGvD;SACF,CAAC,CAAC,CAAA;QACH,IAAI,KAAK,GAAG,GAAG,CAAA;QACf,IAAI,KAAK,GAAG,GAAG,CAAA;QACf,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;YAClC,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM;YACN,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;gBACrB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBACnD,OAAO;oBACL,WAAW;oBACX,QAAQ;oBACR,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ;oBAC1B,kEAAkE;oBAClE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;iBACtC,CAAA;YACH,CAAC;YACD,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB;;;;;;;;;cASE;YACF,QAAQ,EACN,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;gBACzC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACP,4DAA4D;oBAC5D,2BAA2B;oBAC3B,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC/B,KAAK,GAAG,CAAC,CAAA;wBACT,KAAK,GAAG,CAAC,CAAA;wBACT,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;wBACpD,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;oBACtC,CAAC;oBACD,OAAO,UAAU,CAAA;gBACnB,CAAC;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC,CAAA;QACF;;;;;;;;;;UAUE;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;YAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC9C,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAErD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;gBACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,CAAC;QACD;;;;;UAKE;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,OAAO,CAAC,IAAI,CACV,kBACE,OAAO,CAAC,MACV,8FACE,OAAO,CAAC,CAAC,CACX,sBACE,IAAI,CAAC,GAAG,IAAI,gBAAgB,eAAe,GAC7C,4DAA4D,CAC7D,CAAA;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA,CAAC,0CAA0C;QAClE,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QACzC,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAEO,QAAQ,GAAG;QACjB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;QACxB,CAAC,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE;QAC3B,IAAI,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE;QAC9B,IAAI,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE;QAC9B,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QACxB,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;QACzB,GAAG,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QAC1B,GAAG,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QAC1B,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;KAC1B,CAAA;IAED,4EAA4E;IACpE,eAAe,CACrB,IAAiB,EACjB,IAAe,EACf,GAA6B,EAC7B,MAAe;QAEf,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,IAAI,EAAE,YAAY,IAAI,CAAC,CAAA;QACrC;;;;;;UAME;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;YAC7C,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpB,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC/D,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC1C,CAAC,CAAC,SAAS,EAAE,CAAA;gBACb,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;gBACpD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;gBACjE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;gBAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;gBAC/D,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACpE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBAC7C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAChC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED;;;;;;;MAOE;IACM,WAAW,GAAoC,IAAI,CAAA;IACnD,kBAAkB,CACxB,IAA8B,EAC9B,GAA6B;QAE7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAM;QAC/B,IACE,IAAI,CAAC,WAAW,IAAI,IAAI;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,OAAM;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,CAClB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC9C,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;gBACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,IAAI,IAAI,IAAI;gBAAE,SAAQ;YAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAA;oBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC/B,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED;;;MAGE;IACM,eAAe,CACrB,IAA8B,EAC9B,GAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAA;QAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,OAAM;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;aACnB,IAAI,CACH,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,EACN,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,IAAI,CAC5C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC;YACD,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAA2B;SACrD,CAAC,CAAC,CAAA;QACL,yEAAyE;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CACrC,iBAAiB,CAAC,EAAE,EACpB,EAAE,IAAI,EAAE,CAAC,EAAE,EACX,KAAK,CACN,CAAA;YACD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;YACrB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA;YACnB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAA;YACnB,CAAC,CAAC,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC,CAAC,kBAAkB,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAA;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,CAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EACb,CAAC,CAAC,CAAC,CAAC,CAAC,EACL,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CACd,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACnB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,wDAAwD;gBACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;gBACzD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;gBACvD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAC1C,CAAC,CAAC,CAAC,CAAC,GAAG,EACP,CAAC,EACD,CAAC,EACD,CAAC,CAAC,kBAAmB,CACtB,CAAA;YACD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CACf,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EACvC,OAAO,GAAG,CAAC;QAaX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAA;QAC/B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAA;QAC5B,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAY,CAAA;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAwB,CAAC,CAAA;QAC3E,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5B;;;;UAIE;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAA;QACpC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QACtB,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,4DAA4D;gBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAA;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC,EAAE;oBAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;gBACf,MAAM,MAAM,GAAa,EAAE,CAAA;gBAC3B,MAAM,GAAG,GAAa,EAAE,CAAA;gBACxB,MAAM,KAAK,GAAa,EAAE,CAAA;gBAC1B,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;gBACT,MAAM,GAAG,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;oBAC7B,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;wBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;wBACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;wBAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAA;wBAC7C,IAAI,CAAC,GAAG,CAAC;4BAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,UAAU;oBAC1C,CAAC;oBACD,IAAI,GAAG,GAAG,CAAA;gBACZ,CAAC,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;gBAC1B,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACzC,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,EAAE,CAC3B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;gBACtD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAChD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM;oBACN,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;oBACrC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxC,UAAU,EAAE,MAAM,CAChB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3D;oBACD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClC,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE;iBACxC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YACtB,KAAK,CAAC,SAAS,GAAG,YAAY,CAAA;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,OAAO,CAAC,OAAO,EAAE,CAAA;YACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACzB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM;QACJ,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,wEAAwE;IAC1E,CAAC;;AAGH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"b3d-decorator.js","sourceRoot":"","sources":["../src/b3d-decorator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { B3dChild } from './b3d-utils.js';
2
- import { BiomePlugin } from './biome-plugin.js';
3
- import type { PlanetSurface } from './sphere-map.js';
2
+ import type { BiomePlugin } from './biome-plugin.js';
3
+ import { type PlanetSurface } from './sphere-map.js';
4
4
  import { type PlanetStorm } from './planet-clouds.js';
5
+ import { type RockyWorldLook } from './rocky-world.js';
5
6
  import * as BABYLON from '@babylonjs/core';
6
7
  import type { B3d } from './tosi-b3d.js';
7
8
  import type { GradientFilter } from './gradient-filter.js';
@@ -19,6 +20,9 @@ export declare class B3dPlanet extends B3dChild {
19
20
  colorMap: string;
20
21
  bodyRadiusKm: number;
21
22
  flatSea: "on" | "off";
23
+ seaGlint: number;
24
+ seaIce: number;
25
+ inlandWater: "on" | "off";
22
26
  relief: number;
23
27
  bands: number;
24
28
  turbulence: number;
@@ -28,6 +32,13 @@ export declare class B3dPlanet extends B3dChild {
28
32
  ringOuter: number;
29
33
  ringOpacity: number;
30
34
  ringColor: string;
35
+ world: string;
36
+ craters: number;
37
+ seaShallow: string;
38
+ seaDeep: string;
39
+ craterSize: number;
40
+ craterWear: number;
41
+ craterAsymmetry: number;
31
42
  seed: number;
32
43
  radius: number;
33
44
  subdivisions: number;
@@ -56,6 +67,12 @@ export declare class B3dPlanet extends B3dChild {
56
67
  * settings are unused and the sea sits at the surface's sea level.
57
68
  */
58
69
  surface: PlanetSurface | null;
70
+ /**
71
+ * Changes to the `world`'s look for THIS planet (`{ ocean: 0.3 }`), read
72
+ * at the next build. The star system uses it to give each Earth-like
73
+ * world its own share of sea.
74
+ */
75
+ worldOverrides: Partial<RockyWorldLook> | null;
59
76
  /**
60
77
  * STORMS placed on the weather (needs `clouds` above 0): up to four, each
61
78
  * `{ lat, lon, size, intensity, lightning }`. A storm is a cyclone that
@@ -73,6 +90,9 @@ export declare class B3dPlanet extends B3dChild {
73
90
  private cloudMesh;
74
91
  /** Live-tunable biome shader parameters (biome="on") — see biome-plugin. */
75
92
  biomePlugin: BiomePlugin | null;
93
+ /** The undrawn material the biome plugin lives on (planet-surface-material). */
94
+ private _biomeHost;
95
+ private _biomeParams;
76
96
  private ringMesh;
77
97
  /** The node everything of this planet hangs from: move it to place the planet. */
78
98
  rootNode: BABYLON.TransformNode | null;
@@ -82,9 +102,18 @@ export declare class B3dPlanet extends B3dChild {
82
102
  content: () => string;
83
103
  sceneReady(owner: B3d, scene: BABYLON.Scene): void;
84
104
  sceneDispose(): void;
105
+ /**
106
+ * A globe OF a ground (a `surface` that carries its climate) is coloured
107
+ * as that ground is: the same settings in the globe's units, and the same
108
+ * colours, copied each frame so the ground's dials move the globe.
109
+ */
110
+ private _followGroundClimate;
85
111
  private update;
86
112
  private buildPlanet;
87
113
  private _heightMapLoaded;
114
+ /** The sea the mesh was built with: it is IN the mesh, so a change rebuilds. */
115
+ private _builtSea;
116
+ private _seaKey;
88
117
  private _surfaceFromMap;
89
118
  /**
90
119
  * Fetch `heightMap` (once per URL and sea setting) and rebuild from it. The
@@ -104,8 +133,26 @@ export declare class B3dPlanet extends B3dChild {
104
133
  * glow at the limb.
105
134
  */
106
135
  private buildClouds;
136
+ /**
137
+ * There is no sea sphere: the one-mesh planet draws its own sea (see
138
+ * buildPlanet). Kept as a named step so the build order still reads.
139
+ */
107
140
  private buildOcean;
108
141
  private buildRings;
142
+ /** The rocky world's look, when `world` names one (and it is not a gas giant). */
143
+ private _look;
144
+ /** A look setting: the attribute (a `world` writes its own in once). */
145
+ private _val;
146
+ /** Which world's look was last written into the attributes. */
147
+ private _worldOf;
148
+ private _applyWorld;
149
+ /** The craters' height function for this build, or null for none. */
150
+ private _craters;
151
+ /** The radius the biome params' lengths were last scaled for. */
152
+ private _paramsRadius;
153
+ /** Which world's climate was last written into the params. */
154
+ private _climateOf;
155
+ private _makeCraters;
109
156
  private heightAt;
110
157
  /** Rebuild planet mesh with current noise settings */
111
158
  regenerate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-planet.d.ts","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"AAmLA,OAAO,EAAS,QAAQ,EAAc,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIzE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAoB1D,qBAAa,SAAU,SAAQ,QAAQ;IACrC,MAAM,CAAC,gBAAgB,SAAoB;IAE3C,MAAM,CAAC,eAAe;;;;MAIrB;IAED,MAAM,CAAC,cAAc;eAIH,IAAI,GAAG,KAAK;;;;;iBAaV,IAAI,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgC/B;IAED,KAAK,EAAE,GAAG,GAAG,IAAI,CAAO;IACxB;;;;;;;OAOG;IACH,OAAO,EAAE,aAAa,GAAG,IAAI,CAAO;IACpC;;;;;;OAMG;IACH,MAAM,EAAE,WAAW,EAAE,CAAK;IAC1B,WAAW,EAAE,cAAc,CAA8B;IACzD,YAAY,EAAE,cAAc,CAA8B;IAE1D,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,SAAS,CAA4B;IAC7C,4EAA4E;IAC5E,WAAW,EAAE,WAAW,GAAG,IAAI,CAAO;IACtC,OAAO,CAAC,QAAQ,CAA4B;IAC5C,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAO;IAC7C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,eAAW;IAElB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAkB3C,YAAY;IAgBZ,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,WAAW;IA8KnB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAAQ;IAC/B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA4BtB,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IAYlB,wEAAwE;IACxE,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IA+HvB,wEAAwE;IACxE,OAAO,CAAC,UAAU;IASlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,UAAU;IAgIlB,OAAO,CAAC,QAAQ;IAqBhB,sDAAsD;IACtD,UAAU;IA2BV,iDAAiD;IACjD,aAAa;CAqBd;AAED,eAAO,MAAM,SAAS,4CAA6B,CAAA"}
1
+ {"version":3,"file":"b3d-planet.d.ts","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"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"}