@origingame/engine 0.1.1 → 0.2.0

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 (59) hide show
  1. package/dist/web/origin-engine.js +4 -4
  2. package/dist/web/origin-engine_bg.wasm +0 -0
  3. package/dist/web-publish/origin-engine-lanes.js +6 -6
  4. package/dist/web-publish/origin-engine-lanes_bg.wasm +0 -0
  5. package/dist/web-publish/origin-engine.js +4 -4
  6. package/dist/web-publish/origin-engine_bg.wasm +0 -0
  7. package/dist/web-publish-2d/origin-engine-lanes.js +6 -6
  8. package/dist/web-publish-2d/origin-engine-lanes_bg.wasm +0 -0
  9. package/dist/web-publish-2d/origin-engine.js +4 -4
  10. package/dist/web-publish-2d/origin-engine_bg.wasm +0 -0
  11. package/knowledge/package.json +4 -4
  12. package/knowledge/scaffold/origin-engine.json +2 -2
  13. package/knowledge/scaffold/template/package.json +1 -1
  14. package/knowledge/scaffold/template/project.ogt +1 -1
  15. package/knowledge/scripts/validate.ts +2 -1
  16. package/knowledge/skills/og-build/SKILL.md +17 -1
  17. package/knowledge/skills/og-feel/SKILL.md +8 -1
  18. package/knowledge/skills/og-game/SKILL.md +117 -13
  19. package/knowledge/skills/og-i18n/SKILL.md +12 -3
  20. package/knowledge/skills/og-platform-sdk/SKILL.md +3 -1
  21. package/knowledge/skills/og-ui/SKILL.md +19 -6
  22. package/knowledge/wiki/ai.md +20 -20
  23. package/knowledge/wiki/anim.md +41 -41
  24. package/knowledge/wiki/atmosphere.md +13 -13
  25. package/knowledge/wiki/audio.md +18 -18
  26. package/knowledge/wiki/camera.md +13 -13
  27. package/knowledge/wiki/commands.md +11 -11
  28. package/knowledge/wiki/game.md +8 -8
  29. package/knowledge/wiki/i18n.md +7 -7
  30. package/knowledge/wiki/index.md +4 -1
  31. package/knowledge/wiki/input.md +47 -47
  32. package/knowledge/wiki/load.md +45 -45
  33. package/knowledge/wiki/math.md +7 -7
  34. package/knowledge/wiki/nav.md +34 -34
  35. package/knowledge/wiki/physics.md +124 -106
  36. package/knowledge/wiki/platform.md +31 -31
  37. package/knowledge/wiki/probe.md +66 -66
  38. package/knowledge/wiki/reflect.md +15 -15
  39. package/knowledge/wiki/render.md +99 -89
  40. package/knowledge/wiki/rng.md +14 -14
  41. package/knowledge/wiki/stream.md +15 -15
  42. package/knowledge/wiki/system.md +8 -8
  43. package/knowledge/wiki/systems.md +2 -2
  44. package/knowledge/wiki/terrain.md +19 -19
  45. package/knowledge/wiki/tilemap.md +19 -15
  46. package/knowledge/wiki/time.md +4 -4
  47. package/knowledge/wiki/transform.md +8 -8
  48. package/knowledge/wiki/tween.md +17 -17
  49. package/knowledge/wiki/ui.md +289 -245
  50. package/knowledge/wiki/world.md +67 -37
  51. package/package.json +6 -6
  52. package/schema/api.schema.json +134 -9
  53. package/src/index.ts +1 -0
  54. package/src/node/polish.ts +2 -1
  55. package/src/node/run.ts +5 -1
  56. package/src/runtime.ts +2 -0
  57. package/src/ui-kit/huds.ts +18 -14
  58. package/types/bindings.json +61 -26
  59. package/types/index.d.ts +144 -13
@@ -14,7 +14,7 @@ module render {
14
14
  # declarations follow, each quoted below
15
15
  ```
16
16
 
17
- <sub>`api.ogt` line 1649</sub>
17
+ <sub>`api.ogt` line 1660</sub>
18
18
 
19
19
  ## Contents
20
20
 
@@ -70,6 +70,7 @@ module render {
70
70
  | [`og.Light2D`](#record-Light2D) | component | A light in the 2D plane at the entity's position (z ignored): color times intensity at its centre, falling to zero at radius with (1 - d/r)^falloff, shadowed by occluders when castShadows. Lighting2D.enabled turns 2D lighting on; at most 64 are drawn. |
71
71
  | [`og.Occluder2D`](#record-Occluder2D) | component | A rectangle that blocks 2D light (walls, crates, characters), centred on the entity's position and turned with it about z. Pixels inside it are not shadowed by it. At most 128 are drawn. |
72
72
  | [`og.Decal`](#record-Decal) | component | A projected decal (scorch marks, blood, posters, bullet holes): the entity's unit box (-0.5 to 0.5 on each axis, scaled by its Transform) projected along its local -Z onto every lit opaque surface inside it, shaded with the surface. Its image is the uvMin to uvMax region of RenderSettings.decalAtlas (a solid colour without one). At most 32 are drawn. |
73
+ | [`PARTICLES_ARMED`](#const-PARTICLES_ARMED) | constant | ParticleSystem.startTick's default: never written. A looping emitter emits as if started at tick 0; a one-shot (`looping false`) emits nothing until its startTick is written, so a burst spawned in `start` waits for its first use. Write it back to re-arm a one-shot without firing it. |
73
74
  | [`og.ParticleSystem`](#record-ParticleSystem) | component | Emits particles from an og.load.emitter asset at the entity's MatrixWorld. Particles are simulated by the renderer from (seed, startTick, the tick), so they are deterministic and replay, and never feed back into the simulation: compute on the full tier, the CPU on WebGL2, identical either way. |
74
75
  | [`og.Trail`](#record-Trail) | component | A streak behind the entity: its world positions over the last `lifetime` seconds as a camera-facing strip, from widthStart and color at the head to widthEnd and colorEnd at the tail. |
75
76
  | [`og.Beam`](#record-Beam) | component | A strip from the entity's position to `end` whose texture scrolls with the tick: lasers, tethers, lightning (jitter). |
@@ -137,7 +138,7 @@ fn ribbon {
137
138
  }
138
139
  ```
139
140
 
140
- <sub>`api.ogt` line 2874</sub>
141
+ <sub>`api.ogt` line 2889</sub>
141
142
 
142
143
  <a id="fn-sprite"></a>
143
144
 
@@ -167,7 +168,7 @@ fn sprite {
167
168
  }
168
169
  ```
169
170
 
170
- <sub>`api.ogt` line 3002</sub>
171
+ <sub>`api.ogt` line 3017</sub>
171
172
 
172
173
  <a id="fn-floatingText"></a>
173
174
 
@@ -197,7 +198,7 @@ fn floatingText {
197
198
  }
198
199
  ```
199
200
 
200
- <sub>`api.ogt` line 3179</sub>
201
+ <sub>`api.ogt` line 3194</sub>
201
202
 
202
203
  <a id="fn-measureText"></a>
203
204
 
@@ -227,7 +228,7 @@ fn measureText {
227
228
  }
228
229
  ```
229
230
 
230
- <sub>`api.ogt` line 3186</sub>
231
+ <sub>`api.ogt` line 3201</sub>
231
232
 
232
233
  <a id="fn-boxGeometry"></a>
233
234
 
@@ -257,7 +258,7 @@ fn boxGeometry {
257
258
  }
258
259
  ```
259
260
 
260
- <sub>`api.ogt` line 3255</sub>
261
+ <sub>`api.ogt` line 3270</sub>
261
262
 
262
263
  <a id="fn-planeGeometry"></a>
263
264
 
@@ -287,7 +288,7 @@ fn planeGeometry {
287
288
  }
288
289
  ```
289
290
 
290
- <sub>`api.ogt` line 3262</sub>
291
+ <sub>`api.ogt` line 3277</sub>
291
292
 
292
293
  <a id="fn-sphereGeometry"></a>
293
294
 
@@ -317,7 +318,7 @@ fn sphereGeometry {
317
318
  }
318
319
  ```
319
320
 
320
- <sub>`api.ogt` line 3269</sub>
321
+ <sub>`api.ogt` line 3284</sub>
321
322
 
322
323
  <a id="fn-standardMaterial"></a>
323
324
 
@@ -347,7 +348,7 @@ fn standardMaterial {
347
348
  }
348
349
  ```
349
350
 
350
- <sub>`api.ogt` line 3293</sub>
351
+ <sub>`api.ogt` line 3308</sub>
351
352
 
352
353
  <a id="fn-updateMaterial"></a>
353
354
 
@@ -379,7 +380,7 @@ fn updateMaterial {
379
380
  }
380
381
  ```
381
382
 
382
- <sub>`api.ogt` line 3300</sub>
383
+ <sub>`api.ogt` line 3315</sub>
383
384
 
384
385
  <a id="fn-shaderMaterial"></a>
385
386
 
@@ -411,7 +412,7 @@ fn shaderMaterial {
411
412
  }
412
413
  ```
413
414
 
414
- <sub>`api.ogt` line 3310</sub>
415
+ <sub>`api.ogt` line 3325</sub>
415
416
 
416
417
  <a id="fn-setMaterialShader"></a>
417
418
 
@@ -443,7 +444,7 @@ fn setMaterialShader {
443
444
  }
444
445
  ```
445
446
 
446
- <sub>`api.ogt` line 3318</sub>
447
+ <sub>`api.ogt` line 3333</sub>
447
448
 
448
449
  <a id="fn-setShaderParam"></a>
449
450
 
@@ -477,7 +478,7 @@ fn setShaderParam {
477
478
  }
478
479
  ```
479
480
 
480
- <sub>`api.ogt` line 3326</sub>
481
+ <sub>`api.ogt` line 3341</sub>
481
482
 
482
483
  <a id="fn-applyLook"></a>
483
484
 
@@ -507,7 +508,7 @@ fn applyLook {
507
508
  }
508
509
  ```
509
510
 
510
- <sub>`api.ogt` line 3335</sub>
511
+ <sub>`api.ogt` line 3350</sub>
511
512
 
512
513
  <a id="fn-look"></a>
513
514
 
@@ -535,7 +536,7 @@ fn look {
535
536
  }
536
537
  ```
537
538
 
538
- <sub>`api.ogt` line 3342</sub>
539
+ <sub>`api.ogt` line 3357</sub>
539
540
 
540
541
  <a id="fn-capabilities"></a>
541
542
 
@@ -563,7 +564,7 @@ fn capabilities {
563
564
  }
564
565
  ```
565
566
 
566
- <sub>`api.ogt` line 3348</sub>
567
+ <sub>`api.ogt` line 3363</sub>
567
568
 
568
569
  <a id="fn-text"></a>
569
570
 
@@ -593,7 +594,7 @@ fn text {
593
594
  }
594
595
  ```
595
596
 
596
- <sub>`api.ogt` line 3354</sub>
597
+ <sub>`api.ogt` line 3369</sub>
597
598
 
598
599
  ## Components, resources and events
599
600
 
@@ -647,7 +648,7 @@ component Mesh {
647
648
  }
648
649
  ```
649
650
 
650
- <sub>`api.ogt` line 1906</sub>
651
+ <sub>`api.ogt` line 1917</sub>
651
652
 
652
653
  <a id="record-DirectionalLight"></a>
653
654
 
@@ -702,7 +703,7 @@ component DirectionalLight {
702
703
  }
703
704
  ```
704
705
 
705
- <sub>`api.ogt` line 1933</sub>
706
+ <sub>`api.ogt` line 1944</sub>
706
707
 
707
708
  <a id="record-PointLight"></a>
708
709
 
@@ -743,7 +744,7 @@ component PointLight {
743
744
  }
744
745
  ```
745
746
 
746
- <sub>`api.ogt` line 1965</sub>
747
+ <sub>`api.ogt` line 1976</sub>
747
748
 
748
749
  <a id="record-SpotLight"></a>
749
750
 
@@ -795,7 +796,7 @@ component SpotLight {
795
796
  }
796
797
  ```
797
798
 
798
- <sub>`api.ogt` line 1985</sub>
799
+ <sub>`api.ogt` line 1996</sub>
799
800
 
800
801
  <a id="record-RenderSettings"></a>
801
802
 
@@ -872,7 +873,7 @@ resource RenderSettings {
872
873
  }
873
874
  ```
874
875
 
875
- <sub>`api.ogt` line 2030</sub>
876
+ <sub>`api.ogt` line 2041</sub>
876
877
 
877
878
  <a id="record-Environment"></a>
878
879
 
@@ -912,7 +913,7 @@ resource Environment {
912
913
  }
913
914
  ```
914
915
 
915
- <sub>`api.ogt` line 2106</sub>
916
+ <sub>`api.ogt` line 2117</sub>
916
917
 
917
918
  <a id="record-PostEffects"></a>
918
919
 
@@ -1149,7 +1150,7 @@ resource PostEffects {
1149
1150
  }
1150
1151
  ```
1151
1152
 
1152
- <sub>`api.ogt` line 2186</sub>
1153
+ <sub>`api.ogt` line 2197</sub>
1153
1154
 
1154
1155
  <a id="record-Stylise"></a>
1155
1156
 
@@ -1404,7 +1405,7 @@ resource Stylise {
1404
1405
  }
1405
1406
  ```
1406
1407
 
1407
- <sub>`api.ogt` line 2404</sub>
1408
+ <sub>`api.ogt` line 2415</sub>
1408
1409
 
1409
1410
  <a id="record-MaterialStyle"></a>
1410
1411
 
@@ -1469,7 +1470,7 @@ resource MaterialStyle {
1469
1470
  }
1470
1471
  ```
1471
1472
 
1472
- <sub>`api.ogt` line 2597</sub>
1473
+ <sub>`api.ogt` line 2608</sub>
1473
1474
 
1474
1475
  <a id="record-Lighting2D"></a>
1475
1476
 
@@ -1508,7 +1509,7 @@ resource Lighting2D {
1508
1509
  }
1509
1510
  ```
1510
1511
 
1511
- <sub>`api.ogt` line 2647</sub>
1512
+ <sub>`api.ogt` line 2658</sub>
1512
1513
 
1513
1514
  <a id="record-Light2D"></a>
1514
1515
 
@@ -1559,7 +1560,7 @@ component Light2D {
1559
1560
  }
1560
1561
  ```
1561
1562
 
1562
- <sub>`api.ogt` line 2666</sub>
1563
+ <sub>`api.ogt` line 2677</sub>
1563
1564
 
1564
1565
  <a id="record-Occluder2D"></a>
1565
1566
 
@@ -1590,7 +1591,7 @@ component Occluder2D {
1590
1591
  }
1591
1592
  ```
1592
1593
 
1593
- <sub>`api.ogt` line 2696</sub>
1594
+ <sub>`api.ogt` line 2707</sub>
1594
1595
 
1595
1596
  <a id="record-Decal"></a>
1596
1597
 
@@ -1645,7 +1646,7 @@ component Decal {
1645
1646
  }
1646
1647
  ```
1647
1648
 
1648
- <sub>`api.ogt` line 2710</sub>
1649
+ <sub>`api.ogt` line 2721</sub>
1649
1650
 
1650
1651
  <a id="record-ParticleSystem"></a>
1651
1652
 
@@ -1659,7 +1660,7 @@ Token `og.ParticleSystem`, registered under the schema name `og.ParticleSystem`;
1659
1660
  |---|---|---|---|---|---|---|
1660
1661
  | `emitter` | `ParticleEmitter` | `0` | — | — | — | The emitter asset; 0 draws nothing. |
1661
1662
  | `seed` | `number` | `0` | — | — | — | The random seed: systems with different seeds differ. |
1662
- | `startTick` | `number` | `0` | — | — | — | The tick emission started: write og.world tick when spawning a one-shot burst. |
1663
+ | `startTick` | `number` | `4294967295` | — | — | — | The tick emission started: write the tick (`time.tick`, `world.tick`) to fire a one-shot burst, or to restart one. Its default, PARTICLES_ARMED, is never written: a looping emitter emits as if started at tick 0, while a one-shot (`looping false`) stays armed and emits nothing until a tick is written, so effects spawned ahead of their first use wait. |
1663
1664
  | `stopTick` | `number` | `0` | — | — | — | The tick emission stops (the particles live out); 0 keeps emitting while the emitter loops. |
1664
1665
  | `visible` | `boolean` | `true` | — | — | — | Whether it is drawn (a hidden system loses its particles). |
1665
1666
 
@@ -1668,7 +1669,9 @@ component ParticleSystem {
1668
1669
  doc "Emits particles from an og.load.emitter asset at the entity's MatrixWorld. Particles are simulated by the renderer from (seed, startTick, the tick), so they are deterministic and replay, and never feed back into the simulation: compute on the full tier, the CPU on WebGL2, identical either way."
1669
1670
  field emitter ParticleEmitter "The emitter asset; 0 draws nothing."
1670
1671
  field seed u32 "The random seed: systems with different seeds differ."
1671
- field startTick u32 "The tick emission started: write og.world tick when spawning a one-shot burst."
1672
+ field startTick u32 "The tick emission started: write the tick (`time.tick`, `world.tick`) to fire a one-shot burst, or to restart one. Its default, PARTICLES_ARMED, is never written: a looping emitter emits as if started at tick 0, while a one-shot (`looping false`) stays armed and emits nothing until a tick is written, so effects spawned ahead of their first use wait." {
1673
+ default 4294967295
1674
+ }
1672
1675
  field stopTick u32 "The tick emission stops (the particles live out); 0 keeps emitting while the emitter loops."
1673
1676
  field visible bool "Whether it is drawn (a hidden system loses its particles)." {
1674
1677
  default true
@@ -1676,7 +1679,7 @@ component ParticleSystem {
1676
1679
  }
1677
1680
  ```
1678
1681
 
1679
- <sub>`api.ogt` line 2742</sub>
1682
+ <sub>`api.ogt` line 2755</sub>
1680
1683
 
1681
1684
  <a id="record-Trail"></a>
1682
1685
 
@@ -1752,7 +1755,7 @@ component Trail {
1752
1755
  }
1753
1756
  ```
1754
1757
 
1755
- <sub>`api.ogt` line 2753</sub>
1758
+ <sub>`api.ogt` line 2768</sub>
1756
1759
 
1757
1760
  <a id="record-Beam"></a>
1758
1761
 
@@ -1818,7 +1821,7 @@ component Beam {
1818
1821
  }
1819
1822
  ```
1820
1823
 
1821
- <sub>`api.ogt` line 2801</sub>
1824
+ <sub>`api.ogt` line 2816</sub>
1822
1825
 
1823
1826
  <a id="record-Sprite"></a>
1824
1827
 
@@ -1949,7 +1952,7 @@ component Sprite {
1949
1952
  }
1950
1953
  ```
1951
1954
 
1952
- <sub>`api.ogt` line 3009</sub>
1955
+ <sub>`api.ogt` line 3024</sub>
1953
1956
 
1954
1957
  <a id="record-Afterimage"></a>
1955
1958
 
@@ -1997,7 +2000,7 @@ component Afterimage {
1997
2000
  }
1998
2001
  ```
1999
2002
 
2000
- <sub>`api.ogt` line 3094</sub>
2003
+ <sub>`api.ogt` line 3109</sub>
2001
2004
 
2002
2005
  ## Types
2003
2006
 
@@ -2013,7 +2016,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2013
2016
  handle Geometry "Vertex and index data, as three.js BufferGeometry. Comes from a loaded glTF."
2014
2017
  ```
2015
2018
 
2016
- <sub>`api.ogt` line 1653</sub>
2019
+ <sub>`api.ogt` line 1664</sub>
2017
2020
 
2018
2021
  <a id="type-Material"></a>
2019
2022
 
@@ -2027,7 +2030,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2027
2030
  handle Material "A material instance."
2028
2031
  ```
2029
2032
 
2030
- <sub>`api.ogt` line 1654</sub>
2033
+ <sub>`api.ogt` line 1665</sub>
2031
2034
 
2032
2035
  <a id="type-Texture"></a>
2033
2036
 
@@ -2041,7 +2044,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2041
2044
  handle Texture "A cooked texture."
2042
2045
  ```
2043
2046
 
2044
- <sub>`api.ogt` line 1655</sub>
2047
+ <sub>`api.ogt` line 1666</sub>
2045
2048
 
2046
2049
  <a id="type-Side"></a>
2047
2050
 
@@ -2066,7 +2069,7 @@ enum Side {
2066
2069
  }
2067
2070
  ```
2068
2071
 
2069
- <sub>`api.ogt` line 1671</sub>
2072
+ <sub>`api.ogt` line 1682</sub>
2070
2073
 
2071
2074
  <a id="type-RenderTier"></a>
2072
2075
 
@@ -2097,7 +2100,7 @@ enum RenderTier {
2097
2100
  }
2098
2101
  ```
2099
2102
 
2100
- <sub>`api.ogt` line 1678</sub>
2103
+ <sub>`api.ogt` line 1689</sub>
2101
2104
 
2102
2105
  <a id="type-Antialias"></a>
2103
2106
 
@@ -2126,7 +2129,7 @@ enum Antialias {
2126
2129
  }
2127
2130
  ```
2128
2131
 
2129
- <sub>`api.ogt` line 1688</sub>
2132
+ <sub>`api.ogt` line 1699</sub>
2130
2133
 
2131
2134
  <a id="type-PointShadows"></a>
2132
2135
 
@@ -2151,7 +2154,7 @@ enum PointShadows {
2151
2154
  }
2152
2155
  ```
2153
2156
 
2154
- <sub>`api.ogt` line 1697</sub>
2157
+ <sub>`api.ogt` line 1708</sub>
2155
2158
 
2156
2159
  <a id="type-TaaHistory"></a>
2157
2160
 
@@ -2174,7 +2177,7 @@ enum TaaHistory {
2174
2177
  }
2175
2178
  ```
2176
2179
 
2177
- <sub>`api.ogt` line 1704</sub>
2180
+ <sub>`api.ogt` line 1715</sub>
2178
2181
 
2179
2182
  <a id="type-RenderOptions"></a>
2180
2183
 
@@ -2212,7 +2215,7 @@ struct RenderOptions {
2212
2215
  }
2213
2216
  ```
2214
2217
 
2215
- <sub>`api.ogt` line 1710</sub>
2218
+ <sub>`api.ogt` line 1721</sub>
2216
2219
 
2217
2220
  <a id="type-StandardMaterialDesc"></a>
2218
2221
 
@@ -2480,7 +2483,7 @@ struct StandardMaterialDesc {
2480
2483
  }
2481
2484
  ```
2482
2485
 
2483
- <sub>`api.ogt` line 1728</sub>
2486
+ <sub>`api.ogt` line 1739</sub>
2484
2487
 
2485
2488
  <a id="type-ToneMapping"></a>
2486
2489
 
@@ -2505,7 +2508,7 @@ enum ToneMapping {
2505
2508
  }
2506
2509
  ```
2507
2510
 
2508
- <sub>`api.ogt` line 2016</sub>
2511
+ <sub>`api.ogt` line 2027</sub>
2509
2512
 
2510
2513
  <a id="type-Lut"></a>
2511
2514
 
@@ -2519,7 +2522,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2519
2522
  handle Lut "A colour lookup table for PostEffects.lut, from og.load.lut (a `.cube` file)."
2520
2523
  ```
2521
2524
 
2522
- <sub>`api.ogt` line 2081</sub>
2525
+ <sub>`api.ogt` line 2092</sub>
2523
2526
 
2524
2527
  <a id="type-EnvironmentMap"></a>
2525
2528
 
@@ -2533,7 +2536,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2533
2536
  handle EnvironmentMap "A prefiltered HDR environment map for Environment.map, from og.load.environment (an `.ogt` of `type environment` naming an equirectangular `.hdr` or `.exr`, a KTX2 cube map, or six face images)."
2534
2537
  ```
2535
2538
 
2536
- <sub>`api.ogt` line 2082</sub>
2539
+ <sub>`api.ogt` line 2093</sub>
2537
2540
 
2538
2541
  <a id="type-ParticleEmitter"></a>
2539
2542
 
@@ -2547,7 +2550,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2547
2550
  handle ParticleEmitter "A particle emitter asset for ParticleSystem.emitter, from og.load.emitter (an `.ogt` of `type particles`)."
2548
2551
  ```
2549
2552
 
2550
- <sub>`api.ogt` line 2083</sub>
2553
+ <sub>`api.ogt` line 2094</sub>
2551
2554
 
2552
2555
  <a id="type-AoMethod"></a>
2553
2556
 
@@ -2572,7 +2575,7 @@ enum AoMethod {
2572
2575
  }
2573
2576
  ```
2574
2577
 
2575
- <sub>`api.ogt` line 2133</sub>
2578
+ <sub>`api.ogt` line 2144</sub>
2576
2579
 
2577
2580
  <a id="type-DofQuality"></a>
2578
2581
 
@@ -2595,7 +2598,7 @@ enum DofQuality {
2595
2598
  }
2596
2599
  ```
2597
2600
 
2598
- <sub>`api.ogt` line 2147</sub>
2601
+ <sub>`api.ogt` line 2158</sub>
2599
2602
 
2600
2603
  <a id="type-SpriteBlend"></a>
2601
2604
 
@@ -2618,7 +2621,7 @@ enum SpriteBlend {
2618
2621
  }
2619
2622
  ```
2620
2623
 
2621
- <sub>`api.ogt` line 2160</sub>
2624
+ <sub>`api.ogt` line 2171</sub>
2622
2625
 
2623
2626
  <a id="type-StripBlend"></a>
2624
2627
 
@@ -2641,7 +2644,7 @@ enum StripBlend {
2641
2644
  }
2642
2645
  ```
2643
2646
 
2644
- <sub>`api.ogt` line 2173</sub>
2647
+ <sub>`api.ogt` line 2184</sub>
2645
2648
 
2646
2649
  <a id="type-Palette"></a>
2647
2650
 
@@ -2655,7 +2658,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2655
2658
  handle Palette "A colour palette for Stylise.palette, from og.load.palette (a `.hex` or GIMP `.gpl` file of up to 256 colours)."
2656
2659
  ```
2657
2660
 
2658
- <sub>`api.ogt` line 2363</sub>
2661
+ <sub>`api.ogt` line 2374</sub>
2659
2662
 
2660
2663
  <a id="type-Look"></a>
2661
2664
 
@@ -2669,7 +2672,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
2669
2672
  handle Look "A look from og.load.look (an `.ogt` of `type look`): the frame's whole art direction as data, applied with og.render.applyLook."
2670
2673
  ```
2671
2674
 
2672
- <sub>`api.ogt` line 2364</sub>
2675
+ <sub>`api.ogt` line 2375</sub>
2673
2676
 
2674
2677
  <a id="type-DitherPattern"></a>
2675
2678
 
@@ -2700,7 +2703,7 @@ enum DitherPattern {
2700
2703
  }
2701
2704
  ```
2702
2705
 
2703
- <sub>`api.ogt` line 2373</sub>
2706
+ <sub>`api.ogt` line 2384</sub>
2704
2707
 
2705
2708
  <a id="type-StyliseSpace"></a>
2706
2709
 
@@ -2725,7 +2728,7 @@ enum StyliseSpace {
2725
2728
  }
2726
2729
  ```
2727
2730
 
2728
- <sub>`api.ogt` line 2390</sub>
2731
+ <sub>`api.ogt` line 2401</sub>
2729
2732
 
2730
2733
  <a id="type-LookInfo"></a>
2731
2734
 
@@ -2756,7 +2759,7 @@ struct LookInfo {
2756
2759
  }
2757
2760
  ```
2758
2761
 
2759
- <sub>`api.ogt` line 2636</sub>
2762
+ <sub>`api.ogt` line 2647</sub>
2760
2763
 
2761
2764
  <a id="type-RibbonPoint"></a>
2762
2765
 
@@ -2796,7 +2799,7 @@ struct RibbonPoint {
2796
2799
  }
2797
2800
  ```
2798
2801
 
2799
- <sub>`api.ogt` line 2841</sub>
2802
+ <sub>`api.ogt` line 2856</sub>
2800
2803
 
2801
2804
  <a id="type-RibbonDesc"></a>
2802
2805
 
@@ -2827,7 +2830,7 @@ struct RibbonDesc {
2827
2830
  }
2828
2831
  ```
2829
2832
 
2830
- <sub>`api.ogt` line 2862</sub>
2833
+ <sub>`api.ogt` line 2877</sub>
2831
2834
 
2832
2835
  <a id="type-TextDesc"></a>
2833
2836
 
@@ -2889,7 +2892,7 @@ struct TextDesc {
2889
2892
  }
2890
2893
  ```
2891
2894
 
2892
- <sub>`api.ogt` line 2881</sub>
2895
+ <sub>`api.ogt` line 2896</sub>
2893
2896
 
2894
2897
  <a id="type-TextMeasureDesc"></a>
2895
2898
 
@@ -2918,7 +2921,7 @@ struct TextMeasureDesc {
2918
2921
  }
2919
2922
  ```
2920
2923
 
2921
- <sub>`api.ogt` line 2915</sub>
2924
+ <sub>`api.ogt` line 2930</sub>
2922
2925
 
2923
2926
  <a id="type-TextMetrics"></a>
2924
2927
 
@@ -2941,7 +2944,7 @@ struct TextMetrics {
2941
2944
  }
2942
2945
  ```
2943
2946
 
2944
- <sub>`api.ogt` line 2926</sub>
2947
+ <sub>`api.ogt` line 2941</sub>
2945
2948
 
2946
2949
  <a id="type-SpriteDesc"></a>
2947
2950
 
@@ -3052,7 +3055,7 @@ struct SpriteDesc {
3052
3055
  }
3053
3056
  ```
3054
3057
 
3055
- <sub>`api.ogt` line 2933</sub>
3058
+ <sub>`api.ogt` line 2948</sub>
3056
3059
 
3057
3060
  <a id="type-FloatingTextDesc"></a>
3058
3061
 
@@ -3140,7 +3143,7 @@ struct FloatingTextDesc {
3140
3143
  }
3141
3144
  ```
3142
3145
 
3143
- <sub>`api.ogt` line 3121</sub>
3146
+ <sub>`api.ogt` line 3136</sub>
3144
3147
 
3145
3148
  <a id="type-BoxGeometryDesc"></a>
3146
3149
 
@@ -3182,7 +3185,7 @@ struct BoxGeometryDesc {
3182
3185
  }
3183
3186
  ```
3184
3187
 
3185
- <sub>`api.ogt` line 3193</sub>
3188
+ <sub>`api.ogt` line 3208</sub>
3186
3189
 
3187
3190
  <a id="type-PlaneGeometryDesc"></a>
3188
3191
 
@@ -3218,7 +3221,7 @@ struct PlaneGeometryDesc {
3218
3221
  }
3219
3222
  ```
3220
3223
 
3221
- <sub>`api.ogt` line 3216</sub>
3224
+ <sub>`api.ogt` line 3231</sub>
3222
3225
 
3223
3226
  <a id="type-SphereGeometryDesc"></a>
3224
3227
 
@@ -3258,7 +3261,7 @@ struct SphereGeometryDesc {
3258
3261
  }
3259
3262
  ```
3260
3263
 
3261
- <sub>`api.ogt` line 3234</sub>
3264
+ <sub>`api.ogt` line 3249</sub>
3262
3265
 
3263
3266
  <a id="type-RenderCapabilities"></a>
3264
3267
 
@@ -3293,7 +3296,7 @@ struct RenderCapabilities {
3293
3296
  }
3294
3297
  ```
3295
3298
 
3296
- <sub>`api.ogt` line 3280</sub>
3299
+ <sub>`api.ogt` line 3295</sub>
3297
3300
 
3298
3301
  <a id="type-Shader"></a>
3299
3302
 
@@ -3307,7 +3310,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
3307
3310
  handle Shader "A material shader from og.load.shader (an `.ogt` of `type shader`): WGSL hooks of the lit shader and the parameters they read."
3308
3311
  ```
3309
3312
 
3310
- <sub>`api.ogt` line 3308</sub>
3313
+ <sub>`api.ogt` line 3323</sub>
3311
3314
 
3312
3315
  ## Column kinds
3313
3316
 
@@ -3339,7 +3342,7 @@ column Geometry {
3339
3342
  }
3340
3343
  ```
3341
3344
 
3342
- <sub>`api.ogt` line 1657</sub>
3345
+ <sub>`api.ogt` line 1668</sub>
3343
3346
 
3344
3347
  ```ogt
3345
3348
  column Material {
@@ -3350,7 +3353,7 @@ column Material {
3350
3353
  }
3351
3354
  ```
3352
3355
 
3353
- <sub>`api.ogt` line 1664</sub>
3356
+ <sub>`api.ogt` line 1675</sub>
3354
3357
 
3355
3358
  ```ogt
3356
3359
  column ToneMapping {
@@ -3361,7 +3364,7 @@ column ToneMapping {
3361
3364
  }
3362
3365
  ```
3363
3366
 
3364
- <sub>`api.ogt` line 2023</sub>
3367
+ <sub>`api.ogt` line 2034</sub>
3365
3368
 
3366
3369
  ```ogt
3367
3370
  column Texture {
@@ -3372,7 +3375,7 @@ column Texture {
3372
3375
  }
3373
3376
  ```
3374
3377
 
3375
- <sub>`api.ogt` line 2085</sub>
3378
+ <sub>`api.ogt` line 2096</sub>
3376
3379
 
3377
3380
  ```ogt
3378
3381
  column Lut {
@@ -3383,7 +3386,7 @@ column Lut {
3383
3386
  }
3384
3387
  ```
3385
3388
 
3386
- <sub>`api.ogt` line 2092</sub>
3389
+ <sub>`api.ogt` line 2103</sub>
3387
3390
 
3388
3391
  ```ogt
3389
3392
  column EnvironmentMap {
@@ -3394,7 +3397,7 @@ column EnvironmentMap {
3394
3397
  }
3395
3398
  ```
3396
3399
 
3397
- <sub>`api.ogt` line 2099</sub>
3400
+ <sub>`api.ogt` line 2110</sub>
3398
3401
 
3399
3402
  ```ogt
3400
3403
  column ParticleEmitter {
@@ -3405,7 +3408,7 @@ column ParticleEmitter {
3405
3408
  }
3406
3409
  ```
3407
3410
 
3408
- <sub>`api.ogt` line 2126</sub>
3411
+ <sub>`api.ogt` line 2137</sub>
3409
3412
 
3410
3413
  ```ogt
3411
3414
  column AoMethod {
@@ -3416,7 +3419,7 @@ column AoMethod {
3416
3419
  }
3417
3420
  ```
3418
3421
 
3419
- <sub>`api.ogt` line 2140</sub>
3422
+ <sub>`api.ogt` line 2151</sub>
3420
3423
 
3421
3424
  ```ogt
3422
3425
  column DofQuality {
@@ -3427,7 +3430,7 @@ column DofQuality {
3427
3430
  }
3428
3431
  ```
3429
3432
 
3430
- <sub>`api.ogt` line 2153</sub>
3433
+ <sub>`api.ogt` line 2164</sub>
3431
3434
 
3432
3435
  ```ogt
3433
3436
  column SpriteBlend {
@@ -3438,7 +3441,7 @@ column SpriteBlend {
3438
3441
  }
3439
3442
  ```
3440
3443
 
3441
- <sub>`api.ogt` line 2166</sub>
3444
+ <sub>`api.ogt` line 2177</sub>
3442
3445
 
3443
3446
  ```ogt
3444
3447
  column StripBlend {
@@ -3449,7 +3452,7 @@ column StripBlend {
3449
3452
  }
3450
3453
  ```
3451
3454
 
3452
- <sub>`api.ogt` line 2179</sub>
3455
+ <sub>`api.ogt` line 2190</sub>
3453
3456
 
3454
3457
  ```ogt
3455
3458
  column Palette {
@@ -3460,7 +3463,7 @@ column Palette {
3460
3463
  }
3461
3464
  ```
3462
3465
 
3463
- <sub>`api.ogt` line 2366</sub>
3466
+ <sub>`api.ogt` line 2377</sub>
3464
3467
 
3465
3468
  ```ogt
3466
3469
  column DitherPattern {
@@ -3471,7 +3474,7 @@ column DitherPattern {
3471
3474
  }
3472
3475
  ```
3473
3476
 
3474
- <sub>`api.ogt` line 2383</sub>
3477
+ <sub>`api.ogt` line 2394</sub>
3475
3478
 
3476
3479
  ```ogt
3477
3480
  column StyliseSpace {
@@ -3482,30 +3485,37 @@ column StyliseSpace {
3482
3485
  }
3483
3486
  ```
3484
3487
 
3485
- <sub>`api.ogt` line 2397</sub>
3488
+ <sub>`api.ogt` line 2408</sub>
3486
3489
 
3487
3490
  ## Constants
3488
3491
 
3489
3492
  | Constant | Type | Value | Doc |
3490
3493
  |---|---|---|---|
3494
+ | <a id="const-PARTICLES_ARMED"></a>`PARTICLES_ARMED` | `number` | `4294967295` | ParticleSystem.startTick's default: never written. A looping emitter emits as if started at tick 0; a one-shot (`looping false`) emits nothing until its startTick is written, so a burst spawned in `start` waits for its first use. Write it back to re-arm a one-shot without firing it. |
3491
3495
  | <a id="const-MAX_LIGHTS"></a>`MAX_LIGHTS` | `number` | `256` | The most point and spot lights one frame draws, among those in view; past it the ones brightest at the camera are kept. |
3492
3496
  | <a id="const-MAX_CLUSTER_LIGHTS"></a>`MAX_CLUSTER_LIGHTS` | `number` | `64` | The most point and spot lights that shade one screen cluster (a 1/16 by 1/9 tile of the view and one of 24 depth slices); past it the ones brightest at the camera are kept there. |
3493
3497
  | <a id="const-UI_LAYER"></a>`UI_LAYER` | `number` | `1000` | The UI's layer among screen sprites and screen text (SpriteDesc and TextDesc with screen): those at or below it draw under every og.ui element, those above it over every one, modals, toasts and the screen transition included (a HUD element made of sprites sitting on a UI panel: draw it only while its screen shows), in their layers' order either way. |
3494
3498
 
3499
+ ```ogt
3500
+ const PARTICLES_ARMED u32 4294967295 "ParticleSystem.startTick's default: never written. A looping emitter emits as if started at tick 0; a one-shot (`looping false`) emits nothing until its startTick is written, so a burst spawned in `start` waits for its first use. Write it back to re-arm a one-shot without firing it."
3501
+ ```
3502
+
3503
+ <sub>`api.ogt` line 2753</sub>
3504
+
3495
3505
  ```ogt
3496
3506
  const MAX_LIGHTS u32 256 "The most point and spot lights one frame draws, among those in view; past it the ones brightest at the camera are kept."
3497
3507
  ```
3498
3508
 
3499
- <sub>`api.ogt` line 3276</sub>
3509
+ <sub>`api.ogt` line 3291</sub>
3500
3510
 
3501
3511
  ```ogt
3502
3512
  const MAX_CLUSTER_LIGHTS u32 64 "The most point and spot lights that shade one screen cluster (a 1/16 by 1/9 tile of the view and one of 24 depth slices); past it the ones brightest at the camera are kept there."
3503
3513
  ```
3504
3514
 
3505
- <sub>`api.ogt` line 3277</sub>
3515
+ <sub>`api.ogt` line 3292</sub>
3506
3516
 
3507
3517
  ```ogt
3508
3518
  const UI_LAYER i32 1000 "The UI's layer among screen sprites and screen text (SpriteDesc and TextDesc with screen): those at or below it draw under every og.ui element, those above it over every one, modals, toasts and the screen transition included (a HUD element made of sprites sitting on a UI panel: draw it only while its screen shows), in their layers' order either way."
3509
3519
  ```
3510
3520
 
3511
- <sub>`api.ogt` line 3278</sub>
3521
+ <sub>`api.ogt` line 3293</sub>