@origingame/engine 0.1.1 → 0.3.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 (109) hide show
  1. package/bin/og.mjs +1 -1
  2. package/dist/web/origin-engine.d.ts +219 -5
  3. package/dist/web/origin-engine.js +1344 -125
  4. package/dist/web/origin-engine_bg.wasm +0 -0
  5. package/dist/web/origin-engine_bg.wasm.d.ts +68 -3
  6. package/dist/web-publish/origin-engine-lanes.js +1007 -22
  7. package/dist/web-publish/origin-engine-lanes_bg.wasm +0 -0
  8. package/dist/web-publish/origin-engine.d.ts +162 -5
  9. package/dist/web-publish/origin-engine.js +1004 -19
  10. package/dist/web-publish/origin-engine_bg.wasm +0 -0
  11. package/dist/web-publish/origin-engine_bg.wasm.d.ts +52 -3
  12. package/dist/web-publish-2d/origin-engine-lanes.js +1007 -22
  13. package/dist/web-publish-2d/origin-engine-lanes_bg.wasm +0 -0
  14. package/dist/web-publish-2d/origin-engine.d.ts +162 -5
  15. package/dist/web-publish-2d/origin-engine.js +1004 -19
  16. package/dist/web-publish-2d/origin-engine_bg.wasm +0 -0
  17. package/dist/web-publish-2d/origin-engine_bg.wasm.d.ts +52 -3
  18. package/knowledge/looks/catalogue.json +40 -40
  19. package/knowledge/package.json +4 -4
  20. package/knowledge/scaffold/distribution.json +14 -0
  21. package/knowledge/scaffold/origin-engine.json +2 -2
  22. package/knowledge/scaffold/template/README.md +2 -1
  23. package/knowledge/scaffold/template/assets/audio/sting.ogt +10 -0
  24. package/knowledge/scaffold/template/assets/timelines/intro.ogt +101 -0
  25. package/knowledge/scaffold/template/assets/timelines/narration.srt +11 -0
  26. package/knowledge/scaffold/template/host.d.ts +46 -0
  27. package/knowledge/scaffold/template/package.json +1 -1
  28. package/knowledge/scaffold/template/project.ogt +1 -1
  29. package/knowledge/scaffold/template/src/main.ts +1 -1
  30. package/knowledge/scaffold/template/tests/frames.ts +134 -0
  31. package/knowledge/scaffold/template/tests/intro.og.ts +65 -0
  32. package/knowledge/scaffold/template/tests/smoke.og.ts +30 -36
  33. package/knowledge/scaffold/template/tsconfig.json +1 -1
  34. package/knowledge/scripts/mount.ts +2 -1
  35. package/knowledge/scripts/validate.ts +21 -11
  36. package/knowledge/skills/og-build/SKILL.md +25 -6
  37. package/knowledge/skills/og-core/SKILL.md +11 -0
  38. package/knowledge/skills/og-feel/SKILL.md +8 -1
  39. package/knowledge/skills/og-game/SKILL.md +994 -21
  40. package/knowledge/skills/og-i18n/SKILL.md +12 -3
  41. package/knowledge/skills/og-platform-sdk/SKILL.md +4 -1
  42. package/knowledge/skills/og-taste/SKILL.md +82 -73
  43. package/knowledge/skills/og-ui/SKILL.md +82 -54
  44. package/knowledge/wiki/ai.md +20 -20
  45. package/knowledge/wiki/anim.md +384 -41
  46. package/knowledge/wiki/atmosphere.md +36 -13
  47. package/knowledge/wiki/audio.md +18 -18
  48. package/knowledge/wiki/camera.md +19 -13
  49. package/knowledge/wiki/commands.md +19 -13
  50. package/knowledge/wiki/debug.md +414 -0
  51. package/knowledge/wiki/game.md +8 -8
  52. package/knowledge/wiki/i18n.md +7 -7
  53. package/knowledge/wiki/index.md +265 -7
  54. package/knowledge/wiki/input.md +47 -47
  55. package/knowledge/wiki/load.md +236 -68
  56. package/knowledge/wiki/math.md +2614 -7
  57. package/knowledge/wiki/nav.md +34 -34
  58. package/knowledge/wiki/net.md +340 -0
  59. package/knowledge/wiki/path.md +402 -0
  60. package/knowledge/wiki/physics.md +124 -106
  61. package/knowledge/wiki/platform.md +465 -31
  62. package/knowledge/wiki/probe.md +681 -67
  63. package/knowledge/wiki/reflect.md +15 -15
  64. package/knowledge/wiki/render.md +3904 -1897
  65. package/knowledge/wiki/rng.md +14 -14
  66. package/knowledge/wiki/stream.md +15 -15
  67. package/knowledge/wiki/system.md +8 -8
  68. package/knowledge/wiki/systems.md +2 -2
  69. package/knowledge/wiki/terrain.md +19 -19
  70. package/knowledge/wiki/tilemap.md +19 -15
  71. package/knowledge/wiki/time.md +4 -4
  72. package/knowledge/wiki/timeline.md +396 -0
  73. package/knowledge/wiki/transform.md +8 -8
  74. package/knowledge/wiki/tween.md +17 -17
  75. package/knowledge/wiki/ui.md +603 -629
  76. package/knowledge/wiki/video.md +157 -0
  77. package/knowledge/wiki/world.md +67 -37
  78. package/package.json +7 -6
  79. package/schema/api.schema.json +21071 -13964
  80. package/shell/page.ts +26 -2
  81. package/shell/platform.ts +46 -0
  82. package/shell/player.ts +7 -0
  83. package/src/depth.ts +71 -0
  84. package/src/e6.ts +32 -1
  85. package/src/env.d.ts +5 -1
  86. package/src/generated/abi.ts +189 -3
  87. package/src/index.ts +26 -4
  88. package/src/light.ts +18 -0
  89. package/src/math.ts +622 -0
  90. package/src/node/index.ts +17 -0
  91. package/src/node/playtest-run.ts +114 -18
  92. package/src/node/polish.ts +15 -4
  93. package/src/node/render.ts +291 -0
  94. package/src/node/run.ts +91 -6
  95. package/src/p2.ts +19 -1
  96. package/src/playtest.ts +57 -4
  97. package/src/runtime.ts +15 -3
  98. package/src/targets.ts +28 -0
  99. package/src/trace.ts +169 -0
  100. package/src/ui-kit/huds.ts +49 -45
  101. package/src/ui-kit/menus.ts +12 -12
  102. package/src/ui-kit/settings.ts +2 -2
  103. package/src/ui-kit/store.ts +18 -18
  104. package/src/ui-kit/story.ts +6 -4
  105. package/src/ui-kit/util.ts +8 -8
  106. package/src/web/shell.ts +58 -0
  107. package/src/web/worker.ts +103 -2
  108. package/types/bindings.json +8945 -6456
  109. package/types/index.d.ts +15507 -11437
@@ -16,7 +16,7 @@ module rng {
16
16
  # declarations follow, each quoted below
17
17
  ```
18
18
 
19
- <sub>`api.ogt` line 641</sub>
19
+ <sub>`api.ogt` line 1225</sub>
20
20
 
21
21
  ## Contents
22
22
 
@@ -78,7 +78,7 @@ resource Rng {
78
78
  }
79
79
  ```
80
80
 
81
- <sub>`api.ogt` line 677</sub>
81
+ <sub>`api.ogt` line 1261</sub>
82
82
 
83
83
  <a id="member-Rng-next"></a>
84
84
 
@@ -101,7 +101,7 @@ fn next {
101
101
  }
102
102
  ```
103
103
 
104
- <sub>`api.ogt` line 685</sub>
104
+ <sub>`api.ogt` line 1269</sub>
105
105
 
106
106
  <a id="member-Rng-range"></a>
107
107
 
@@ -131,7 +131,7 @@ fn range {
131
131
  }
132
132
  ```
133
133
 
134
- <sub>`api.ogt` line 689</sub>
134
+ <sub>`api.ogt` line 1273</sub>
135
135
 
136
136
  <a id="member-Rng-integer"></a>
137
137
 
@@ -161,7 +161,7 @@ fn integer {
161
161
  }
162
162
  ```
163
163
 
164
- <sub>`api.ogt` line 695</sub>
164
+ <sub>`api.ogt` line 1279</sub>
165
165
 
166
166
  <a id="member-Rng-chance"></a>
167
167
 
@@ -189,7 +189,7 @@ fn chance {
189
189
  }
190
190
  ```
191
191
 
192
- <sub>`api.ogt` line 701</sub>
192
+ <sub>`api.ogt` line 1285</sub>
193
193
 
194
194
  <a id="member-Rng-fork"></a>
195
195
 
@@ -217,7 +217,7 @@ fn fork {
217
217
  }
218
218
  ```
219
219
 
220
- <sub>`api.ogt` line 706</sub>
220
+ <sub>`api.ogt` line 1290</sub>
221
221
 
222
222
  ## Interfaces
223
223
 
@@ -233,7 +233,7 @@ interface RngStream {
233
233
  # members follow, each quoted below
234
234
  ```
235
235
 
236
- <sub>`api.ogt` line 646</sub>
236
+ <sub>`api.ogt` line 1230</sub>
237
237
 
238
238
  <a id="member-RngStream-seed"></a>
239
239
 
@@ -251,7 +251,7 @@ Binding symbol `og_rng_stream_get_seed` · publish builds: kept
251
251
  prop seed u32 "The stream's derived seed."
252
252
  ```
253
253
 
254
- <sub>`api.ogt` line 648</sub>
254
+ <sub>`api.ogt` line 1232</sub>
255
255
 
256
256
  <a id="member-RngStream-next"></a>
257
257
 
@@ -274,7 +274,7 @@ fn next {
274
274
  }
275
275
  ```
276
276
 
277
- <sub>`api.ogt` line 649</sub>
277
+ <sub>`api.ogt` line 1233</sub>
278
278
 
279
279
  <a id="member-RngStream-range"></a>
280
280
 
@@ -304,7 +304,7 @@ fn range {
304
304
  }
305
305
  ```
306
306
 
307
- <sub>`api.ogt` line 653</sub>
307
+ <sub>`api.ogt` line 1237</sub>
308
308
 
309
309
  <a id="member-RngStream-integer"></a>
310
310
 
@@ -334,7 +334,7 @@ fn integer {
334
334
  }
335
335
  ```
336
336
 
337
- <sub>`api.ogt` line 659</sub>
337
+ <sub>`api.ogt` line 1243</sub>
338
338
 
339
339
  <a id="member-RngStream-chance"></a>
340
340
 
@@ -362,7 +362,7 @@ fn chance {
362
362
  }
363
363
  ```
364
364
 
365
- <sub>`api.ogt` line 665</sub>
365
+ <sub>`api.ogt` line 1249</sub>
366
366
 
367
367
  <a id="member-RngStream-fork"></a>
368
368
 
@@ -390,4 +390,4 @@ fn fork {
390
390
  }
391
391
  ```
392
392
 
393
- <sub>`api.ogt` line 670</sub>
393
+ <sub>`api.ogt` line 1254</sub>
@@ -22,7 +22,7 @@ module stream {
22
22
  # declarations follow, each quoted below
23
23
  ```
24
24
 
25
- <sub>`api.ogt` line 11257</sub>
25
+ <sub>`api.ogt` line 13254</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 11327</sub>
76
+ <sub>`api.ogt` line 13324</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 11334</sub>
106
+ <sub>`api.ogt` line 13331</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 11341</sub>
136
+ <sub>`api.ogt` line 13338</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 11348</sub>
164
+ <sub>`api.ogt` line 13345</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 11354</sub>
194
+ <sub>`api.ogt` line 13351</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 11280</sub>
219
+ <sub>`api.ogt` line 13277</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 11265</sub>
250
+ <sub>`api.ogt` line 13262</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 11286</sub>
301
+ <sub>`api.ogt` line 13283</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 11310</sub>
336
+ <sub>`api.ogt` line 13307</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 11274</sub>
352
+ <sub>`api.ogt` line 13271</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 11275</sub>
358
+ <sub>`api.ogt` line 13272</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 11276</sub>
364
+ <sub>`api.ogt` line 13273</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 11277</sub>
370
+ <sub>`api.ogt` line 13274</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 11278</sub>
376
+ <sub>`api.ogt` line 13275</sub>
@@ -20,7 +20,7 @@ module system {
20
20
  # declarations follow, each quoted below
21
21
  ```
22
22
 
23
- <sub>`api.ogt` line 417</sub>
23
+ <sub>`api.ogt` line 1001</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 449</sub>
66
+ <sub>`api.ogt` line 1033</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 442</sub>
82
+ <sub>`api.ogt` line 1026</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 444</sub>
100
+ <sub>`api.ogt` line 1028</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 445</sub>
118
+ <sub>`api.ogt` line 1029</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 446</sub>
136
+ <sub>`api.ogt` line 1030</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 425</sub>
168
+ <sub>`api.ogt` line 1009</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 435</sub>
197
+ <sub>`api.ogt` line 1019</sub>
@@ -14,7 +14,7 @@ module systems {
14
14
  # declarations follow, each quoted below
15
15
  ```
16
16
 
17
- <sub>`api.ogt` line 10346</sub>
17
+ <sub>`api.ogt` line 12130</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 10350</sub>
43
+ <sub>`api.ogt` line 12134</sub>
@@ -18,7 +18,7 @@ module terrain {
18
18
  # declarations follow, each quoted below
19
19
  ```
20
20
 
21
- <sub>`api.ogt` line 10947</sub>
21
+ <sub>`api.ogt` line 12944</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 11199</sub>
76
+ <sub>`api.ogt` line 13196</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 11206</sub>
106
+ <sub>`api.ogt` line 13203</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 11213</sub>
148
+ <sub>`api.ogt` line 13210</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 11229</sub>
180
+ <sub>`api.ogt` line 13226</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 11237</sub>
212
+ <sub>`api.ogt` line 13234</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 11245</sub>
246
+ <sub>`api.ogt` line 13242</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 10971</sub>
285
+ <sub>`api.ogt` line 12968</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 10989</sub>
360
+ <sub>`api.ogt` line 12986</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 10953</sub>
376
+ <sub>`api.ogt` line 12950</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 10962</sub>
405
+ <sub>`api.ogt` line 12959</sub>
406
406
 
407
407
  <a id="type-TerrainInfo"></a>
408
408
 
@@ -445,7 +445,7 @@ struct TerrainInfo {
445
445
  }
446
446
  ```
447
447
 
448
- <sub>`api.ogt` line 11038</sub>
448
+ <sub>`api.ogt` line 13035</sub>
449
449
 
450
450
  <a id="type-TerrainSampleDesc"></a>
451
451
 
@@ -485,7 +485,7 @@ struct TerrainSampleDesc {
485
485
  }
486
486
  ```
487
487
 
488
- <sub>`api.ogt` line 11058</sub>
488
+ <sub>`api.ogt` line 13055</sub>
489
489
 
490
490
  <a id="type-TerrainSample"></a>
491
491
 
@@ -514,7 +514,7 @@ struct TerrainSample {
514
514
  }
515
515
  ```
516
516
 
517
- <sub>`api.ogt` line 11077</sub>
517
+ <sub>`api.ogt` line 13074</sub>
518
518
 
519
519
  <a id="type-TerrainBounds"></a>
520
520
 
@@ -539,7 +539,7 @@ struct TerrainBounds {
539
539
  }
540
540
  ```
541
541
 
542
- <sub>`api.ogt` line 11089</sub>
542
+ <sub>`api.ogt` line 13086</sub>
543
543
 
544
544
  <a id="type-TerrainBrush"></a>
545
545
 
@@ -597,7 +597,7 @@ struct TerrainBrush {
597
597
  }
598
598
  ```
599
599
 
600
- <sub>`api.ogt` line 11099</sub>
600
+ <sub>`api.ogt` line 13096</sub>
601
601
 
602
602
  <a id="type-TerrainEdit"></a>
603
603
 
@@ -624,7 +624,7 @@ struct TerrainEdit {
624
624
  }
625
625
  ```
626
626
 
627
- <sub>`api.ogt` line 11133</sub>
627
+ <sub>`api.ogt` line 13130</sub>
628
628
 
629
629
  <a id="type-TerrainLayerDesc"></a>
630
630
 
@@ -705,7 +705,7 @@ struct TerrainLayerDesc {
705
705
  }
706
706
  ```
707
707
 
708
- <sub>`api.ogt` line 11144</sub>
708
+ <sub>`api.ogt` line 13141</sub>
709
709
 
710
710
  ## Column kinds
711
711
 
@@ -724,4 +724,4 @@ column TerrainData {
724
724
  }
725
725
  ```
726
726
 
727
- <sub>`api.ogt` line 10955</sub>
727
+ <sub>`api.ogt` line 12952</sub>
@@ -20,7 +20,7 @@ module tilemap {
20
20
  # declarations follow, each quoted below
21
21
  ```
22
22
 
23
- <sub>`api.ogt` line 6263</sub>
23
+ <sub>`api.ogt` line 7922</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 6371</sub>
72
+ <sub>`api.ogt` line 8032</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 6378</sub>
108
+ <sub>`api.ogt` line 8039</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 6388</sub>
140
+ <sub>`api.ogt` line 8049</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 6396</sub>
174
+ <sub>`api.ogt` line 8057</sub>
175
175
 
176
176
  ## Components, resources and events
177
177
 
@@ -191,7 +191,7 @@ Token `og.Tilemap`, registered under the schema name `og.Tilemap`; its value typ
191
191
  | `opacity` | `number` | `1` | 0 … 1 | — | — | The alpha, times each layer's. |
192
192
  | `visible` | `boolean` | `true` | — | — | — | Whether it is drawn. |
193
193
  | `collision` | `boolean` | `true` | — | — | — | Give the layers marked collision static colliders (rectangles merged from the solid tiles). |
194
- | `colliderLayers` | `number` | `1` | — | — | — | The collision layers of those colliders, as bits (Collider.layers). |
194
+ | `colliderLayers` | `number` | `1` | — | — | — | The collision layers of those colliders, as bits (Collider.layers), for every collision layer of the map that names none of its own (a map layer's `colliderLayers`, with its `colliderMask`, puts a layer of grates on a one-way layer while the walls stay here). |
195
195
  | `friction` | `number` | `0.5` | 0 … 2 | — | — | The colliders' friction. |
196
196
 
197
197
  ```ogt
@@ -215,7 +215,7 @@ component Tilemap {
215
215
  field collision bool "Give the layers marked collision static colliders (rectangles merged from the solid tiles)." {
216
216
  default true
217
217
  }
218
- field colliderLayers u32 "The collision layers of those colliders, as bits (Collider.layers)." {
218
+ field colliderLayers u32 "The collision layers of those colliders, as bits (Collider.layers), for every collision layer of the map that names none of its own (a map layer's `colliderLayers`, with its `colliderMask`, puts a layer of grates on a one-way layer while the walls stay here)." {
219
219
  default 1
220
220
  }
221
221
  field friction f32 "The colliders' friction." {
@@ -226,7 +226,7 @@ component Tilemap {
226
226
  }
227
227
  ```
228
228
 
229
- <sub>`api.ogt` line 6279</sub>
229
+ <sub>`api.ogt` line 7938</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 6270</sub>
245
+ <sub>`api.ogt` line 7929</sub>
246
246
 
247
247
  <a id="type-TileLayerInfo"></a>
248
248
 
@@ -257,6 +257,8 @@ One layer of a map.
257
257
  | `z` | `number` | `0` | — | — | — | Its sprite-layer offset from Tilemap.layer. |
258
258
  | `parallax` | `Vector2` | `{ x: 0, y: 0 }` | — | — | — | Its scroll factors: 1 1 moves with the world, 0.5 at half the camera's speed (far away), 0 stays with the camera. |
259
259
  | `collision` | `boolean` | `false` | — | — | — | Its solid tiles collide. |
260
+ | `colliderLayers` | `number` | `0` | — | — | — | The collision layers (og.Collider.layers bits) of its colliders, from its `colliderLayers` line or Tiled int property; 0 (unset) takes Tilemap.colliderLayers. |
261
+ | `colliderMask` | `number` | `0` | — | — | — | The layers its colliders collide with (og.Collider.mask bits), from its `colliderMask` line or Tiled int property; 0 (unset) is every layer. |
260
262
  | `terrain` | `string` | `""` | — | — | — | The auto-tiling terrain of a terrain layer (its cells are 1 filled or 0 empty); empty for a tile layer. |
261
263
  | `visible` | `boolean` | `false` | — | — | — | Whether it is drawn. |
262
264
  | `lit` | `boolean` | `false` | — | — | — | Whether og.Lighting2D lights it when its sprite layer is in the lit range (true unless the Tiled layer's bool property `lit` or the `.ogt` layer's `lit` line says false). |
@@ -269,13 +271,15 @@ struct TileLayerInfo {
269
271
  field z i32 "Its sprite-layer offset from Tilemap.layer."
270
272
  field parallax Vector2 "Its scroll factors: 1 1 moves with the world, 0.5 at half the camera's speed (far away), 0 stays with the camera."
271
273
  field collision bool "Its solid tiles collide."
274
+ field colliderLayers u32 "The collision layers (og.Collider.layers bits) of its colliders, from its `colliderLayers` line or Tiled int property; 0 (unset) takes Tilemap.colliderLayers."
275
+ field colliderMask u32 "The layers its colliders collide with (og.Collider.mask bits), from its `colliderMask` line or Tiled int property; 0 (unset) is every layer."
272
276
  field terrain String "The auto-tiling terrain of a terrain layer (its cells are 1 filled or 0 empty); empty for a tile layer."
273
277
  field visible bool "Whether it is drawn."
274
278
  field lit bool "Whether og.Lighting2D lights it when its sprite layer is in the lit range (true unless the Tiled layer's bool property `lit` or the `.ogt` layer's `lit` line says false)."
275
279
  }
276
280
  ```
277
281
 
278
- <sub>`api.ogt` line 6309</sub>
282
+ <sub>`api.ogt` line 7968</sub>
279
283
 
280
284
  <a id="type-TileObject"></a>
281
285
 
@@ -310,7 +314,7 @@ struct TileObject {
310
314
  }
311
315
  ```
312
316
 
313
- <sub>`api.ogt` line 6321</sub>
317
+ <sub>`api.ogt` line 7982</sub>
314
318
 
315
319
  <a id="type-TilemapInfo"></a>
316
320
 
@@ -345,7 +349,7 @@ struct TilemapInfo {
345
349
  }
346
350
  ```
347
351
 
348
- <sub>`api.ogt` line 6337</sub>
352
+ <sub>`api.ogt` line 7998</sub>
349
353
 
350
354
  <a id="type-SetTileDesc"></a>
351
355
 
@@ -377,7 +381,7 @@ struct SetTileDesc {
377
381
  }
378
382
  ```
379
383
 
380
- <sub>`api.ogt` line 6352</sub>
384
+ <sub>`api.ogt` line 8013</sub>
381
385
 
382
386
  <a id="type-TileCell"></a>
383
387
 
@@ -400,7 +404,7 @@ struct TileCell {
400
404
  }
401
405
  ```
402
406
 
403
- <sub>`api.ogt` line 6364</sub>
407
+ <sub>`api.ogt` line 8025</sub>
404
408
 
405
409
  ## Column kinds
406
410
 
@@ -419,4 +423,4 @@ column TilemapAsset {
419
423
  }
420
424
  ```
421
425
 
422
- <sub>`api.ogt` line 6272</sub>
426
+ <sub>`api.ogt` line 7931</sub>
@@ -14,7 +14,7 @@ module time {
14
14
  # declarations follow, each quoted below
15
15
  ```
16
16
 
17
- <sub>`api.ogt` line 582</sub>
17
+ <sub>`api.ogt` line 1166</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 624</sub>
57
+ <sub>`api.ogt` line 1208</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 631</sub>
87
+ <sub>`api.ogt` line 1215</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 586</sub>
150
+ <sub>`api.ogt` line 1170</sub>