@origingame/engine 0.2.0 → 0.4.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 (118) hide show
  1. package/bin/og.mjs +1 -1
  2. package/dist/web/origin-engine.d.ts +255 -5
  3. package/dist/web/origin-engine.js +1584 -125
  4. package/dist/web/origin-engine_bg.wasm +0 -0
  5. package/dist/web/origin-engine_bg.wasm.d.ts +80 -3
  6. package/dist/web-publish/origin-engine-lanes.js +1288 -82
  7. package/dist/web-publish/origin-engine-lanes_bg.wasm +0 -0
  8. package/dist/web-publish/origin-engine.d.ts +199 -6
  9. package/dist/web-publish/origin-engine.js +1285 -79
  10. package/dist/web-publish/origin-engine_bg.wasm +0 -0
  11. package/dist/web-publish/origin-engine_bg.wasm.d.ts +65 -4
  12. package/dist/web-publish-2d/origin-engine-lanes.js +1285 -79
  13. package/dist/web-publish-2d/origin-engine-lanes_bg.wasm +0 -0
  14. package/dist/web-publish-2d/origin-engine.d.ts +198 -5
  15. package/dist/web-publish-2d/origin-engine.js +1282 -76
  16. package/dist/web-publish-2d/origin-engine_bg.wasm +0 -0
  17. package/dist/web-publish-2d/origin-engine_bg.wasm.d.ts +64 -3
  18. package/knowledge/README.md +2 -1
  19. package/knowledge/guides/three-to-og.md +393 -0
  20. package/knowledge/knowledge.json +2 -1
  21. package/knowledge/looks/catalogue.json +40 -40
  22. package/knowledge/package.json +3 -2
  23. package/knowledge/scaffold/distribution.json +14 -0
  24. package/knowledge/scaffold/origin-engine.json +2 -2
  25. package/knowledge/scaffold/template/README.md +2 -1
  26. package/knowledge/scaffold/template/assets/audio/sting.ogt +10 -0
  27. package/knowledge/scaffold/template/assets/timelines/intro.ogt +101 -0
  28. package/knowledge/scaffold/template/assets/timelines/narration.srt +11 -0
  29. package/knowledge/scaffold/template/host.d.ts +46 -0
  30. package/knowledge/scaffold/template/package.json +1 -1
  31. package/knowledge/scaffold/template/project.ogt +1 -1
  32. package/knowledge/scaffold/template/src/main.ts +1 -1
  33. package/knowledge/scaffold/template/tests/frames.ts +134 -0
  34. package/knowledge/scaffold/template/tests/intro.og.ts +65 -0
  35. package/knowledge/scaffold/template/tests/smoke.og.ts +30 -36
  36. package/knowledge/scaffold/template/tsconfig.json +1 -1
  37. package/knowledge/scripts/mount.ts +2 -1
  38. package/knowledge/scripts/validate.ts +159 -31
  39. package/knowledge/skills/og-audio/SKILL.md +2 -2
  40. package/knowledge/skills/og-build/SKILL.md +29 -7
  41. package/knowledge/skills/og-core/SKILL.md +31 -5
  42. package/knowledge/skills/og-feel/SKILL.md +2 -2
  43. package/knowledge/skills/og-game/SKILL.md +1331 -16
  44. package/knowledge/skills/og-i18n/SKILL.md +7 -7
  45. package/knowledge/skills/og-model/SKILL.md +374 -0
  46. package/knowledge/skills/og-platform-sdk/SKILL.md +2 -1
  47. package/knowledge/skills/og-taste/SKILL.md +82 -73
  48. package/knowledge/skills/og-ui/SKILL.md +80 -58
  49. package/knowledge/wiki/ai.md +20 -20
  50. package/knowledge/wiki/anim.md +392 -41
  51. package/knowledge/wiki/atmosphere.md +36 -13
  52. package/knowledge/wiki/audio.md +18 -18
  53. package/knowledge/wiki/camera.md +19 -13
  54. package/knowledge/wiki/commands.md +19 -13
  55. package/knowledge/wiki/debug.md +414 -0
  56. package/knowledge/wiki/game.md +8 -8
  57. package/knowledge/wiki/i18n.md +7 -7
  58. package/knowledge/wiki/index.md +317 -8
  59. package/knowledge/wiki/input.md +47 -47
  60. package/knowledge/wiki/load.md +238 -70
  61. package/knowledge/wiki/math.md +2607 -0
  62. package/knowledge/wiki/nav.md +34 -34
  63. package/knowledge/wiki/net.md +340 -0
  64. package/knowledge/wiki/path.md +402 -0
  65. package/knowledge/wiki/physics.md +95 -95
  66. package/knowledge/wiki/platform.md +463 -29
  67. package/knowledge/wiki/probe.md +681 -67
  68. package/knowledge/wiki/reflect.md +29 -17
  69. package/knowledge/wiki/render.md +4993 -1998
  70. package/knowledge/wiki/rng.md +14 -14
  71. package/knowledge/wiki/shapes.md +727 -0
  72. package/knowledge/wiki/stream.md +15 -15
  73. package/knowledge/wiki/system.md +8 -8
  74. package/knowledge/wiki/systems.md +2 -2
  75. package/knowledge/wiki/terrain.md +24 -20
  76. package/knowledge/wiki/tilemap.md +13 -13
  77. package/knowledge/wiki/time.md +4 -4
  78. package/knowledge/wiki/timeline.md +396 -0
  79. package/knowledge/wiki/transform.md +8 -8
  80. package/knowledge/wiki/tween.md +17 -17
  81. package/knowledge/wiki/ui.md +560 -654
  82. package/knowledge/wiki/video.md +157 -0
  83. package/knowledge/wiki/world.md +36 -36
  84. package/package.json +4 -3
  85. package/schema/api.schema.json +28151 -19640
  86. package/shell/page.ts +26 -2
  87. package/shell/platform.ts +51 -0
  88. package/shell/player.ts +15 -2
  89. package/shell/transport.ts +6 -0
  90. package/src/depth.ts +71 -0
  91. package/src/e6.ts +32 -1
  92. package/src/env.d.ts +5 -1
  93. package/src/generated/abi.ts +226 -4
  94. package/src/geom.ts +260 -0
  95. package/src/index.ts +32 -4
  96. package/src/light.ts +18 -0
  97. package/src/math.ts +622 -0
  98. package/src/node/index.ts +17 -0
  99. package/src/node/playtest-run.ts +115 -18
  100. package/src/node/polish.ts +13 -3
  101. package/src/node/render.ts +291 -0
  102. package/src/node/run.ts +86 -5
  103. package/src/p2.ts +19 -1
  104. package/src/platform-local.ts +2 -0
  105. package/src/playtest.ts +65 -4
  106. package/src/runtime.ts +100 -9
  107. package/src/targets.ts +28 -0
  108. package/src/trace.ts +169 -0
  109. package/src/ui-kit/huds.ts +34 -34
  110. package/src/ui-kit/menus.ts +12 -12
  111. package/src/ui-kit/settings.ts +11 -2
  112. package/src/ui-kit/store.ts +18 -18
  113. package/src/ui-kit/story.ts +6 -4
  114. package/src/ui-kit/util.ts +8 -8
  115. package/src/web/shell.ts +59 -1
  116. package/src/web/worker.ts +105 -4
  117. package/types/bindings.json +9368 -6619
  118. package/types/index.d.ts +16377 -11520
@@ -22,7 +22,7 @@ module stream {
22
22
  # declarations follow, each quoted below
23
23
  ```
24
24
 
25
- <sub>`api.ogt` line 11322</sub>
25
+ <sub>`api.ogt` line 13824</sub>
26
26
 
27
27
  ## Contents
28
28
 
@@ -73,7 +73,7 @@ fn status {
73
73
  }
74
74
  ```
75
75
 
76
- <sub>`api.ogt` line 11392</sub>
76
+ <sub>`api.ogt` line 13894</sub>
77
77
 
78
78
  <a id="fn-request"></a>
79
79
 
@@ -103,7 +103,7 @@ fn request {
103
103
  }
104
104
  ```
105
105
 
106
- <sub>`api.ogt` line 11399</sub>
106
+ <sub>`api.ogt` line 13901</sub>
107
107
 
108
108
  <a id="fn-release"></a>
109
109
 
@@ -133,7 +133,7 @@ fn release {
133
133
  }
134
134
  ```
135
135
 
136
- <sub>`api.ogt` line 11406</sub>
136
+ <sub>`api.ogt` line 13908</sub>
137
137
 
138
138
  <a id="fn-budget"></a>
139
139
 
@@ -161,7 +161,7 @@ fn budget {
161
161
  }
162
162
  ```
163
163
 
164
- <sub>`api.ogt` line 11413</sub>
164
+ <sub>`api.ogt` line 13915</sub>
165
165
 
166
166
  <a id="fn-setBudget"></a>
167
167
 
@@ -191,7 +191,7 @@ fn setBudget {
191
191
  }
192
192
  ```
193
193
 
194
- <sub>`api.ogt` line 11419</sub>
194
+ <sub>`api.ogt` line 13921</sub>
195
195
 
196
196
  ## Components, resources and events
197
197
 
@@ -216,7 +216,7 @@ event StreamEvent {
216
216
  }
217
217
  ```
218
218
 
219
- <sub>`api.ogt` line 11345</sub>
219
+ <sub>`api.ogt` line 13847</sub>
220
220
 
221
221
  ## Types
222
222
 
@@ -247,7 +247,7 @@ enum StreamState {
247
247
  }
248
248
  ```
249
249
 
250
- <sub>`api.ogt` line 11330</sub>
250
+ <sub>`api.ogt` line 13832</sub>
251
251
 
252
252
  <a id="type-StreamStatus"></a>
253
253
 
@@ -298,7 +298,7 @@ struct StreamStatus {
298
298
  }
299
299
  ```
300
300
 
301
- <sub>`api.ogt` line 11351</sub>
301
+ <sub>`api.ogt` line 13853</sub>
302
302
 
303
303
  <a id="type-StreamBudget"></a>
304
304
 
@@ -333,7 +333,7 @@ struct StreamBudget {
333
333
  }
334
334
  ```
335
335
 
336
- <sub>`api.ogt` line 11375</sub>
336
+ <sub>`api.ogt` line 13877</sub>
337
337
 
338
338
  ## Constants
339
339
 
@@ -349,28 +349,28 @@ struct StreamBudget {
349
349
  const STREAM_UNLOADED u32 0 "`StreamEvent.state`: the group is unloaded (StreamState unloaded)."
350
350
  ```
351
351
 
352
- <sub>`api.ogt` line 11339</sub>
352
+ <sub>`api.ogt` line 13841</sub>
353
353
 
354
354
  ```ogt
355
355
  const STREAM_QUEUED u32 1 "`StreamEvent.state`: the group waits for room in the budget (StreamState queued)."
356
356
  ```
357
357
 
358
- <sub>`api.ogt` line 11340</sub>
358
+ <sub>`api.ogt` line 13842</sub>
359
359
 
360
360
  ```ogt
361
361
  const STREAM_LOADING u32 2 "`StreamEvent.state`: the group's pack is being read (StreamState loading)."
362
362
  ```
363
363
 
364
- <sub>`api.ogt` line 11341</sub>
364
+ <sub>`api.ogt` line 13843</sub>
365
365
 
366
366
  ```ogt
367
367
  const STREAM_RESIDENT u32 3 "`StreamEvent.state`: the group's assets are in place (StreamState resident)."
368
368
  ```
369
369
 
370
- <sub>`api.ogt` line 11342</sub>
370
+ <sub>`api.ogt` line 13844</sub>
371
371
 
372
372
  ```ogt
373
373
  const STREAM_FAILED u32 4 "`StreamEvent.state`: the group failed (StreamState failed; og.stream.status says why)."
374
374
  ```
375
375
 
376
- <sub>`api.ogt` line 11343</sub>
376
+ <sub>`api.ogt` line 13845</sub>
@@ -20,7 +20,7 @@ module system {
20
20
  # declarations follow, each quoted below
21
21
  ```
22
22
 
23
- <sub>`api.ogt` line 428</sub>
23
+ <sub>`api.ogt` line 1007</sub>
24
24
 
25
25
  ## Contents
26
26
 
@@ -63,7 +63,7 @@ fn defineSystem {
63
63
  }
64
64
  ```
65
65
 
66
- <sub>`api.ogt` line 460</sub>
66
+ <sub>`api.ogt` line 1039</sub>
67
67
 
68
68
  ## Interfaces
69
69
 
@@ -79,7 +79,7 @@ interface System {
79
79
  # members follow, each quoted below
80
80
  ```
81
81
 
82
- <sub>`api.ogt` line 453</sub>
82
+ <sub>`api.ogt` line 1032</sub>
83
83
 
84
84
  <a id="member-System-name"></a>
85
85
 
@@ -97,7 +97,7 @@ Binding symbol `og_system_get_name` · publish builds: kept
97
97
  prop name String "The system's unique name."
98
98
  ```
99
99
 
100
- <sub>`api.ogt` line 455</sub>
100
+ <sub>`api.ogt` line 1034</sub>
101
101
 
102
102
  <a id="member-System-reads"></a>
103
103
 
@@ -115,7 +115,7 @@ Binding symbol `og_system_get_reads` · publish builds: kept
115
115
  prop reads List.AnyReflected "What it reads."
116
116
  ```
117
117
 
118
- <sub>`api.ogt` line 456</sub>
118
+ <sub>`api.ogt` line 1035</sub>
119
119
 
120
120
  <a id="member-System-writes"></a>
121
121
 
@@ -133,7 +133,7 @@ Binding symbol `og_system_get_writes` · publish builds: kept
133
133
  prop writes List.AnyReflected "What it writes."
134
134
  ```
135
135
 
136
- <sub>`api.ogt` line 457</sub>
136
+ <sub>`api.ogt` line 1036</sub>
137
137
 
138
138
  ## Types
139
139
 
@@ -165,7 +165,7 @@ struct SystemDesc {
165
165
  }
166
166
  ```
167
167
 
168
- <sub>`api.ogt` line 436</sub>
168
+ <sub>`api.ogt` line 1015</sub>
169
169
 
170
170
  <a id="type-SystemRun"></a>
171
171
 
@@ -194,4 +194,4 @@ callback SystemRun {
194
194
  }
195
195
  ```
196
196
 
197
- <sub>`api.ogt` line 446</sub>
197
+ <sub>`api.ogt` line 1025</sub>
@@ -14,7 +14,7 @@ module systems {
14
14
  # declarations follow, each quoted below
15
15
  ```
16
16
 
17
- <sub>`api.ogt` line 10411</sub>
17
+ <sub>`api.ogt` line 12697</sub>
18
18
 
19
19
  ## Contents
20
20
 
@@ -40,4 +40,4 @@ const cameras: readonly System[]
40
40
  value cameras List.System "The camera controllers, in this order: og.orbitCamera (og.OrbitCamera), og.followCamera (og.FollowCamera) and og.follow2D (og.Follow2D). Each moves og.Camera only while an entity carries its component. List them before the game's systems that read og.Camera: `systems: [...og.systems.cameras, ...yours]`."
41
41
  ```
42
42
 
43
- <sub>`api.ogt` line 10415</sub>
43
+ <sub>`api.ogt` line 12701</sub>
@@ -4,7 +4,7 @@
4
4
 
5
5
  Terrain (phase 2): a height field over a rectangle, cooked by `og cook` from a `type terrain` .ogt (a 16-bit grey PNG or an EXR heightmap, an optional control map, up to four layered materials with slope and altitude rules, their maps separate textures or layers of two texture arrays: `layers` and `layerNormals` with each layer's `albedoLayer` and `normalLayer`, two sampled textures instead of up to eight) into tiles; drawn as a geometry clipmap around the camera (nested levels by distance, no cracks) that casts and receives shadows under the fog; collided with as a height field; baked into navmeshes by a navmesh file's `terrain` entry.
6
6
 
7
- Load it with og.terrain.load, then place it: an og.Terrain on an entity draws it placed by the entity's world transform (centred on its position, turned and scaled with it), and an og.Collider of shape SHAPE_HEIGHTFIELD naming the TerrainInfo's geometry makes it solid. og.TerrainScatter grows grass, flowers or stones over a layer near the camera. og.terrain.sample answers the surface's height and normal anywhere (pass it the entity's position, quaternion and scale); og.terrain.edit raises, lowers, flattens, smooths or paints it at runtime, and og.terrain.setLayer retunes a layer. Edits are world state: a snapshot keeps them, the world hash covers them, and a restore brings the ground back as it was (rebuilt from the cook with the restored edits replayed, for the renderer, physics and sample alike).
7
+ Load it with og.terrain.load, then place it: an og.Terrain on an entity draws it placed by the entity's world transform (centred on its position, turned and scaled with it), and an og.Collider of shape SHAPE_HEIGHTFIELD naming the TerrainInfo's geometry makes it solid. og.TerrainScatter grows grass, flowers or stones over a layer near the camera. og.terrain.sample answers the surface's height and normal anywhere (pass it the entity's position, quaternion and scale); og.terrain.edit raises, lowers, flattens, smooths or paints it at runtime, and og.terrain.setLayer retunes a layer. Terrain is 3D: the 2D profile's publish and lanes modules leave it out (RenderCapabilities.world3d is false), where every call here answers a refusal naming that field. Edits are world state: a snapshot keeps them, the world hash covers them, and a restore brings the ground back as it was (rebuilt from the cook with the restored edits replayed, for the renderer, physics and sample alike).
8
8
 
9
9
  Its tiles stream (phase 3): the cook stores the field as a pyramid of tiles, each compressed on its own, and every frame the renderer keeps on the GPU only the tiles the camera's clipmap wants, within each terrain's tile budget (16 MiB by default), decoded off the frame (a worker thread natively, the browser's DecompressionStream on the Web) a few at a time, the most needed first; until a tile arrives its area draws from the coarser level that holds it, then fades in. Nothing a tick reads depends on which tiles are resident (collision and og.terrain.sample read the whole field), so a run's world hash is the same streamed or not. The probe's `terrain_stream:resident` decodes every wanted tile before each frame instead (`terrain_stream:stream[:<MiB>]` streams again, within that budget), and `dump_stream`'s `terrain` gives the tiles resident, waiting, decoding and cached.
10
10
 
@@ -18,7 +18,7 @@ module terrain {
18
18
  # declarations follow, each quoted below
19
19
  ```
20
20
 
21
- <sub>`api.ogt` line 11012</sub>
21
+ <sub>`api.ogt` line 13511</sub>
22
22
 
23
23
  ## Contents
24
24
 
@@ -73,7 +73,7 @@ fn load {
73
73
  }
74
74
  ```
75
75
 
76
- <sub>`api.ogt` line 11264</sub>
76
+ <sub>`api.ogt` line 13766</sub>
77
77
 
78
78
  <a id="fn-sample"></a>
79
79
 
@@ -103,7 +103,7 @@ fn sample {
103
103
  }
104
104
  ```
105
105
 
106
- <sub>`api.ogt` line 11271</sub>
106
+ <sub>`api.ogt` line 13773</sub>
107
107
 
108
108
  <a id="fn-bounds"></a>
109
109
 
@@ -145,7 +145,7 @@ fn bounds {
145
145
  }
146
146
  ```
147
147
 
148
- <sub>`api.ogt` line 11278</sub>
148
+ <sub>`api.ogt` line 13780</sub>
149
149
 
150
150
  <a id="fn-edit"></a>
151
151
 
@@ -177,7 +177,7 @@ fn edit {
177
177
  }
178
178
  ```
179
179
 
180
- <sub>`api.ogt` line 11294</sub>
180
+ <sub>`api.ogt` line 13796</sub>
181
181
 
182
182
  <a id="fn-layer"></a>
183
183
 
@@ -209,7 +209,7 @@ fn layer {
209
209
  }
210
210
  ```
211
211
 
212
- <sub>`api.ogt` line 11302</sub>
212
+ <sub>`api.ogt` line 13804</sub>
213
213
 
214
214
  <a id="fn-setLayer"></a>
215
215
 
@@ -243,7 +243,7 @@ fn setLayer {
243
243
  }
244
244
  ```
245
245
 
246
- <sub>`api.ogt` line 11310</sub>
246
+ <sub>`api.ogt` line 13812</sub>
247
247
 
248
248
  ## Components, resources and events
249
249
 
@@ -282,7 +282,7 @@ component Terrain {
282
282
  }
283
283
  ```
284
284
 
285
- <sub>`api.ogt` line 11036</sub>
285
+ <sub>`api.ogt` line 13535</sub>
286
286
 
287
287
  <a id="record-TerrainScatter"></a>
288
288
 
@@ -357,7 +357,7 @@ component TerrainScatter {
357
357
  }
358
358
  ```
359
359
 
360
- <sub>`api.ogt` line 11054</sub>
360
+ <sub>`api.ogt` line 13553</sub>
361
361
 
362
362
  ## Types
363
363
 
@@ -373,7 +373,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
373
373
  handle TerrainData "A loaded terrain: its heights, control map and layers."
374
374
  ```
375
375
 
376
- <sub>`api.ogt` line 11018</sub>
376
+ <sub>`api.ogt` line 13517</sub>
377
377
 
378
378
  <a id="type-TerrainBrushMode"></a>
379
379
 
@@ -402,7 +402,7 @@ enum TerrainBrushMode {
402
402
  }
403
403
  ```
404
404
 
405
- <sub>`api.ogt` line 11027</sub>
405
+ <sub>`api.ogt` line 13526</sub>
406
406
 
407
407
  <a id="type-TerrainInfo"></a>
408
408
 
@@ -422,6 +422,7 @@ A loaded terrain.
422
422
  | `layers` | `number` | `0` | — | — | — | Its material layers (up to 4). |
423
423
  | `collision` | `boolean` | `false` | — | — | — | Whether its terrain file asks for a collider (`collision`, default true). |
424
424
  | `castShadows` | `boolean` | `false` | — | — | — | Its terrain file's `castShadows`. |
425
+ | `seaLevel` | `number \| null` | `null` | — | `m` | — | A generated terrain's sea level (`generate { sea <m> }`) above its entity: place an og.Water there, the terrain's size; null without a sea. |
425
426
 
426
427
  ```ogt
427
428
  struct TerrainInfo {
@@ -442,10 +443,13 @@ struct TerrainInfo {
442
443
  field layers u32 "Its material layers (up to 4)."
443
444
  field collision bool "Whether its terrain file asks for a collider (`collision`, default true)."
444
445
  field castShadows bool "Its terrain file's `castShadows`."
446
+ field seaLevel Option.f32 "A generated terrain's sea level (`generate { sea <m> }`) above its entity: place an og.Water there, the terrain's size; null without a sea." {
447
+ unit m
448
+ }
445
449
  }
446
450
  ```
447
451
 
448
- <sub>`api.ogt` line 11103</sub>
452
+ <sub>`api.ogt` line 13602</sub>
449
453
 
450
454
  <a id="type-TerrainSampleDesc"></a>
451
455
 
@@ -485,7 +489,7 @@ struct TerrainSampleDesc {
485
489
  }
486
490
  ```
487
491
 
488
- <sub>`api.ogt` line 11123</sub>
492
+ <sub>`api.ogt` line 13625</sub>
489
493
 
490
494
  <a id="type-TerrainSample"></a>
491
495
 
@@ -514,7 +518,7 @@ struct TerrainSample {
514
518
  }
515
519
  ```
516
520
 
517
- <sub>`api.ogt` line 11142</sub>
521
+ <sub>`api.ogt` line 13644</sub>
518
522
 
519
523
  <a id="type-TerrainBounds"></a>
520
524
 
@@ -539,7 +543,7 @@ struct TerrainBounds {
539
543
  }
540
544
  ```
541
545
 
542
- <sub>`api.ogt` line 11154</sub>
546
+ <sub>`api.ogt` line 13656</sub>
543
547
 
544
548
  <a id="type-TerrainBrush"></a>
545
549
 
@@ -597,7 +601,7 @@ struct TerrainBrush {
597
601
  }
598
602
  ```
599
603
 
600
- <sub>`api.ogt` line 11164</sub>
604
+ <sub>`api.ogt` line 13666</sub>
601
605
 
602
606
  <a id="type-TerrainEdit"></a>
603
607
 
@@ -624,7 +628,7 @@ struct TerrainEdit {
624
628
  }
625
629
  ```
626
630
 
627
- <sub>`api.ogt` line 11198</sub>
631
+ <sub>`api.ogt` line 13700</sub>
628
632
 
629
633
  <a id="type-TerrainLayerDesc"></a>
630
634
 
@@ -705,7 +709,7 @@ struct TerrainLayerDesc {
705
709
  }
706
710
  ```
707
711
 
708
- <sub>`api.ogt` line 11209</sub>
712
+ <sub>`api.ogt` line 13711</sub>
709
713
 
710
714
  ## Column kinds
711
715
 
@@ -724,4 +728,4 @@ column TerrainData {
724
728
  }
725
729
  ```
726
730
 
727
- <sub>`api.ogt` line 11020</sub>
731
+ <sub>`api.ogt` line 13519</sub>
@@ -20,7 +20,7 @@ module tilemap {
20
20
  # declarations follow, each quoted below
21
21
  ```
22
22
 
23
- <sub>`api.ogt` line 6293</sub>
23
+ <sub>`api.ogt` line 8495</sub>
24
24
 
25
25
  ## Contents
26
26
 
@@ -69,7 +69,7 @@ fn setTile {
69
69
  }
70
70
  ```
71
71
 
72
- <sub>`api.ogt` line 6403</sub>
72
+ <sub>`api.ogt` line 8605</sub>
73
73
 
74
74
  <a id="fn-getTile"></a>
75
75
 
@@ -105,7 +105,7 @@ fn getTile {
105
105
  }
106
106
  ```
107
107
 
108
- <sub>`api.ogt` line 6410</sub>
108
+ <sub>`api.ogt` line 8612</sub>
109
109
 
110
110
  <a id="fn-cellAt"></a>
111
111
 
@@ -137,7 +137,7 @@ fn cellAt {
137
137
  }
138
138
  ```
139
139
 
140
- <sub>`api.ogt` line 6420</sub>
140
+ <sub>`api.ogt` line 8622</sub>
141
141
 
142
142
  <a id="fn-cellCenter"></a>
143
143
 
@@ -171,7 +171,7 @@ fn cellCenter {
171
171
  }
172
172
  ```
173
173
 
174
- <sub>`api.ogt` line 6428</sub>
174
+ <sub>`api.ogt` line 8630</sub>
175
175
 
176
176
  ## Components, resources and events
177
177
 
@@ -226,7 +226,7 @@ component Tilemap {
226
226
  }
227
227
  ```
228
228
 
229
- <sub>`api.ogt` line 6309</sub>
229
+ <sub>`api.ogt` line 8511</sub>
230
230
 
231
231
  ## Types
232
232
 
@@ -242,7 +242,7 @@ A generational handle: a number the engine hands out. A dead handle is an error
242
242
  handle TilemapAsset "A loaded map: its layers, tilesets and objects."
243
243
  ```
244
244
 
245
- <sub>`api.ogt` line 6300</sub>
245
+ <sub>`api.ogt` line 8502</sub>
246
246
 
247
247
  <a id="type-TileLayerInfo"></a>
248
248
 
@@ -279,7 +279,7 @@ struct TileLayerInfo {
279
279
  }
280
280
  ```
281
281
 
282
- <sub>`api.ogt` line 6339</sub>
282
+ <sub>`api.ogt` line 8541</sub>
283
283
 
284
284
  <a id="type-TileObject"></a>
285
285
 
@@ -314,7 +314,7 @@ struct TileObject {
314
314
  }
315
315
  ```
316
316
 
317
- <sub>`api.ogt` line 6353</sub>
317
+ <sub>`api.ogt` line 8555</sub>
318
318
 
319
319
  <a id="type-TilemapInfo"></a>
320
320
 
@@ -349,7 +349,7 @@ struct TilemapInfo {
349
349
  }
350
350
  ```
351
351
 
352
- <sub>`api.ogt` line 6369</sub>
352
+ <sub>`api.ogt` line 8571</sub>
353
353
 
354
354
  <a id="type-SetTileDesc"></a>
355
355
 
@@ -381,7 +381,7 @@ struct SetTileDesc {
381
381
  }
382
382
  ```
383
383
 
384
- <sub>`api.ogt` line 6384</sub>
384
+ <sub>`api.ogt` line 8586</sub>
385
385
 
386
386
  <a id="type-TileCell"></a>
387
387
 
@@ -404,7 +404,7 @@ struct TileCell {
404
404
  }
405
405
  ```
406
406
 
407
- <sub>`api.ogt` line 6396</sub>
407
+ <sub>`api.ogt` line 8598</sub>
408
408
 
409
409
  ## Column kinds
410
410
 
@@ -423,4 +423,4 @@ column TilemapAsset {
423
423
  }
424
424
  ```
425
425
 
426
- <sub>`api.ogt` line 6302</sub>
426
+ <sub>`api.ogt` line 8504</sub>
@@ -14,7 +14,7 @@ module time {
14
14
  # declarations follow, each quoted below
15
15
  ```
16
16
 
17
- <sub>`api.ogt` line 593</sub>
17
+ <sub>`api.ogt` line 1172</sub>
18
18
 
19
19
  ## Contents
20
20
 
@@ -54,7 +54,7 @@ fn setScale {
54
54
  }
55
55
  ```
56
56
 
57
- <sub>`api.ogt` line 635</sub>
57
+ <sub>`api.ogt` line 1214</sub>
58
58
 
59
59
  <a id="fn-hitStop"></a>
60
60
 
@@ -84,7 +84,7 @@ fn hitStop {
84
84
  }
85
85
  ```
86
86
 
87
- <sub>`api.ogt` line 642</sub>
87
+ <sub>`api.ogt` line 1221</sub>
88
88
 
89
89
  ## Components, resources and events
90
90
 
@@ -147,4 +147,4 @@ resource Time {
147
147
  }
148
148
  ```
149
149
 
150
- <sub>`api.ogt` line 597</sub>
150
+ <sub>`api.ogt` line 1176</sub>