@origingame/engine 0.2.0 → 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 (107) 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 +1 -1
  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 +19 -10
  36. package/knowledge/skills/og-build/SKILL.md +8 -5
  37. package/knowledge/skills/og-core/SKILL.md +11 -0
  38. package/knowledge/skills/og-game/SKILL.md +877 -8
  39. package/knowledge/skills/og-platform-sdk/SKILL.md +1 -0
  40. package/knowledge/skills/og-taste/SKILL.md +82 -73
  41. package/knowledge/skills/og-ui/SKILL.md +65 -50
  42. package/knowledge/wiki/ai.md +20 -20
  43. package/knowledge/wiki/anim.md +384 -41
  44. package/knowledge/wiki/atmosphere.md +36 -13
  45. package/knowledge/wiki/audio.md +18 -18
  46. package/knowledge/wiki/camera.md +19 -13
  47. package/knowledge/wiki/commands.md +19 -13
  48. package/knowledge/wiki/debug.md +414 -0
  49. package/knowledge/wiki/game.md +8 -8
  50. package/knowledge/wiki/i18n.md +7 -7
  51. package/knowledge/wiki/index.md +262 -7
  52. package/knowledge/wiki/input.md +47 -47
  53. package/knowledge/wiki/load.md +236 -68
  54. package/knowledge/wiki/math.md +2607 -0
  55. package/knowledge/wiki/nav.md +34 -34
  56. package/knowledge/wiki/net.md +340 -0
  57. package/knowledge/wiki/path.md +402 -0
  58. package/knowledge/wiki/physics.md +95 -95
  59. package/knowledge/wiki/platform.md +463 -29
  60. package/knowledge/wiki/probe.md +681 -67
  61. package/knowledge/wiki/reflect.md +15 -15
  62. package/knowledge/wiki/render.md +3893 -1896
  63. package/knowledge/wiki/rng.md +14 -14
  64. package/knowledge/wiki/stream.md +15 -15
  65. package/knowledge/wiki/system.md +8 -8
  66. package/knowledge/wiki/systems.md +2 -2
  67. package/knowledge/wiki/terrain.md +19 -19
  68. package/knowledge/wiki/tilemap.md +13 -13
  69. package/knowledge/wiki/time.md +4 -4
  70. package/knowledge/wiki/timeline.md +396 -0
  71. package/knowledge/wiki/transform.md +8 -8
  72. package/knowledge/wiki/tween.md +17 -17
  73. package/knowledge/wiki/ui.md +559 -629
  74. package/knowledge/wiki/video.md +157 -0
  75. package/knowledge/wiki/world.md +36 -36
  76. package/package.json +4 -3
  77. package/schema/api.schema.json +21707 -14725
  78. package/shell/page.ts +26 -2
  79. package/shell/platform.ts +46 -0
  80. package/shell/player.ts +7 -0
  81. package/src/depth.ts +71 -0
  82. package/src/e6.ts +32 -1
  83. package/src/env.d.ts +5 -1
  84. package/src/generated/abi.ts +189 -3
  85. package/src/index.ts +25 -4
  86. package/src/light.ts +18 -0
  87. package/src/math.ts +622 -0
  88. package/src/node/index.ts +17 -0
  89. package/src/node/playtest-run.ts +114 -18
  90. package/src/node/polish.ts +13 -3
  91. package/src/node/render.ts +291 -0
  92. package/src/node/run.ts +86 -5
  93. package/src/p2.ts +19 -1
  94. package/src/playtest.ts +57 -4
  95. package/src/runtime.ts +13 -3
  96. package/src/targets.ts +28 -0
  97. package/src/trace.ts +169 -0
  98. package/src/ui-kit/huds.ts +34 -34
  99. package/src/ui-kit/menus.ts +12 -12
  100. package/src/ui-kit/settings.ts +2 -2
  101. package/src/ui-kit/store.ts +18 -18
  102. package/src/ui-kit/story.ts +6 -4
  103. package/src/ui-kit/util.ts +8 -8
  104. package/src/web/shell.ts +58 -0
  105. package/src/web/worker.ts +103 -2
  106. package/types/bindings.json +9101 -6647
  107. package/types/index.d.ts +15503 -11564
@@ -0,0 +1,157 @@
1
+ <!-- Generated from crates/og-api/api.ogt by `og api gen`. Do not edit: `og api check` fails on any difference; change api.ogt and regenerate. -->
2
+
3
+ # The `video` module
4
+
5
+ Footage in a game (docs/design.md §2.9): a `type video` asset cooked by ffmpeg into a texture array of its frames and its sound, loaded with og.load.video and played by og.VideoPlayer. The frame shown is a Texture (VideoInfo.texture, also VideoPlayer.texture) any material map, og.Sprite or UI image draws, and the sound plays on the entity's og.AudioSource in step with it.
6
+
7
+ Playback is simulation: the og.video system (after the game's systems, before og.audio) advances VideoPlayer.time by the tick's dt times `speed` (not the time scale, so the picture stays with its sound), so the frame at a tick is the same on both hosts, in every run and after a snapshot is restored. With a 30 Hz tick a player started at 0 shows the source's frame 3 s in at tick 90.
8
+
9
+ - **TypeScript**: functions are none at module level (its members live on the types below); components, resources and events are tokens on `og`.
10
+ - **Publish builds**: kept (members may override).
11
+ - **Skill**: `og-game`, which teaches the module (how much of it to use, and how to prove it).
12
+ - **Index**: [every module and name](index.md).
13
+
14
+ ```ogt
15
+ module video {
16
+ # declarations follow, each quoted below
17
+ ```
18
+
19
+ <sub>`api.ogt` line 13361</sub>
20
+
21
+ ## Contents
22
+
23
+ | Name | Kind | Summary |
24
+ |---|---|---|
25
+ | [`Video`](#type-Video) | handle | Cooked footage: its frames as a texture array, its sound (og.load.video). |
26
+ | [`Video()`](#column-Video) | column kind | A Video handle field (0 is none). |
27
+ | [`VideoInfo`](#type-VideoInfo) | struct | What og.load.video loaded. |
28
+ | [`og.VideoPlayer`](#record-VideoPlayer) | component | Plays a loaded video: VideoInfo.texture shows its current frame (frame n is the source at n / fps seconds), and when the entity has an og.AudioSource the og.video system sets its sound, playing, pitch and loop each tick so the sound plays in step: a seek or a restart starts the sound again at the new time on the next tick (AudioSource.startOffset). Each player has a texture of its own (written to `texture`): the first player of a video takes VideoInfo.texture, each further one a texture the og.video system makes for it over the same decoded frames (one frame of GPU memory each), so two players at different times show different frames. Show a player's `texture`, not VideoInfo.texture, once a video has more than one player. |
29
+
30
+ ## Components, resources and events
31
+
32
+ <a id="record-VideoPlayer"></a>
33
+
34
+ ### `og.VideoPlayer` (component)
35
+
36
+ Plays a loaded video: VideoInfo.texture shows its current frame (frame n is the source at n / fps seconds), and when the entity has an og.AudioSource the og.video system sets its sound, playing, pitch and loop each tick so the sound plays in step: a seek or a restart starts the sound again at the new time on the next tick (AudioSource.startOffset). Each player has a texture of its own (written to `texture`): the first player of a video takes VideoInfo.texture, each further one a texture the og.video system makes for it over the same decoded frames (one frame of GPU memory each), so two players at different times show different frames. Show a player's `texture`, not VideoInfo.texture, once a video has more than one player.
37
+
38
+ Token `og.VideoPlayer`, registered under the schema name `og.VideoPlayer`; its value type is `VideoPlayer`.
39
+
40
+ | Field | Type | Default | Range | Unit | Notes | Doc |
41
+ |---|---|---|---|---|---|---|
42
+ | `video` | `Video` | `0` | — | — | — | The video (og.load.video's `video`); 0 plays nothing. |
43
+ | `playing` | `boolean` | `true` | — | — | — | Whether time advances. |
44
+ | `time` | `number` | `0` | ≥ 0 | `s` | — | Seconds into the video; written every tick, set it to seek. |
45
+ | `speed` | `number` | `1` | 0 … 4 | — | tunable | The playback rate: 1 as cooked, 0.5 half speed (the sound's pitch follows). |
46
+ | `loop` | `boolean` | `false` | — | — | — | Start again at 0 past the end; otherwise hold the last frame and set finished. |
47
+ | `frame` | `number` | `0` | — | — | read only | Written: the frame shown, floor(time * fps). |
48
+ | `finished` | `boolean` | `false` | — | — | read only | Written: a player without loop reached the end. |
49
+ | `texture` | `Texture` | `0` | — | — | read only | Written: this player's texture (VideoInfo.texture for the video's first player, a texture of its own for each further one), for a material, sprite or UI image set up from the player. It keeps it while it lives. |
50
+
51
+ ```ogt
52
+ component VideoPlayer {
53
+ doc "Plays a loaded video: VideoInfo.texture shows its current frame (frame n is the source at n / fps seconds), and when the entity has an og.AudioSource the og.video system sets its sound, playing, pitch and loop each tick so the sound plays in step: a seek or a restart starts the sound again at the new time on the next tick (AudioSource.startOffset). Each player has a texture of its own (written to `texture`): the first player of a video takes VideoInfo.texture, each further one a texture the og.video system makes for it over the same decoded frames (one frame of GPU memory each), so two players at different times show different frames. Show a player's `texture`, not VideoInfo.texture, once a video has more than one player."
54
+ field video Video "The video (og.load.video's `video`); 0 plays nothing."
55
+ field playing bool "Whether time advances." {
56
+ default true
57
+ }
58
+ field time f32 "Seconds into the video; written every tick, set it to seek." {
59
+ min 0
60
+ unit s
61
+ }
62
+ field speed f32 "The playback rate: 1 as cooked, 0.5 half speed (the sound's pitch follows)." {
63
+ default 1
64
+ min 0
65
+ max 4
66
+ tunable true
67
+ }
68
+ field loop bool "Start again at 0 past the end; otherwise hold the last frame and set finished."
69
+ field frame u32 "Written: the frame shown, floor(time * fps)." {
70
+ readonly true
71
+ }
72
+ field finished bool "Written: a player without loop reached the end." {
73
+ readonly true
74
+ }
75
+ field texture Texture "Written: this player's texture (VideoInfo.texture for the video's first player, a texture of its own for each further one), for a material, sprite or UI image set up from the player. It keeps it while it lives." {
76
+ readonly true
77
+ }
78
+ }
79
+ ```
80
+
81
+ <sub>`api.ogt` line 13393</sub>
82
+
83
+ ## Types
84
+
85
+ <a id="type-Video"></a>
86
+
87
+ ### `Video` (handle)
88
+
89
+ Cooked footage: its frames as a texture array, its sound (og.load.video).
90
+
91
+ A generational handle: a number the engine hands out. A dead handle is an error value, never a crash.
92
+
93
+ ```ogt
94
+ handle Video "Cooked footage: its frames as a texture array, its sound (og.load.video)."
95
+ ```
96
+
97
+ <sub>`api.ogt` line 13366</sub>
98
+
99
+ <a id="type-VideoInfo"></a>
100
+
101
+ ### `VideoInfo` (struct)
102
+
103
+ What og.load.video loaded.
104
+
105
+ | Field | Type | Default | Range | Unit | Notes | Doc |
106
+ |---|---|---|---|---|---|---|
107
+ | `video` | `Video` | `0` | — | — | — | The video. |
108
+ | `texture` | `Texture` | `0` | — | — | — | The texture that shows the frame its og.VideoPlayer is at (frame 0 until one plays it). |
109
+ | `sound` | `Sound` | `0` | — | — | — | Its sound track (og.load.sound's kind of handle, for an og.AudioSource); 0 when it has none or was cooked with `audio false`. |
110
+ | `width` | `number` | `0` | — | — | — | Each frame's width in texels. |
111
+ | `height` | `number` | `0` | — | — | — | Each frame's height in texels. |
112
+ | `frames` | `number` | `0` | — | — | — | Frames kept (at most 256). |
113
+ | `fps` | `number` | `0` | — | — | — | Frames per second kept. |
114
+ | `seconds` | `number` | `0` | — | `s` | — | frames / fps. |
115
+ | `format` | `string` | `""` | — | — | — | The frames' encoding on the GPU (`rgba8`, `bc7`, `astc4x4`, `etc2`). |
116
+ | `bytes` | `number` | `0` | — | `bytes` | — | Bytes its frames take on the GPU. |
117
+
118
+ ```ogt
119
+ struct VideoInfo {
120
+ doc "What og.load.video loaded."
121
+ field video Video "The video."
122
+ field texture Texture "The texture that shows the frame its og.VideoPlayer is at (frame 0 until one plays it)."
123
+ field sound Sound "Its sound track (og.load.sound's kind of handle, for an og.AudioSource); 0 when it has none or was cooked with `audio false`."
124
+ field width u32 "Each frame's width in texels."
125
+ field height u32 "Each frame's height in texels."
126
+ field frames u32 "Frames kept (at most 256)."
127
+ field fps u32 "Frames per second kept."
128
+ field seconds f32 "frames / fps." {
129
+ unit s
130
+ }
131
+ field format String "The frames' encoding on the GPU (`rgba8`, `bc7`, `astc4x4`, `etc2`)."
132
+ field bytes f64 "Bytes its frames take on the GPU." {
133
+ unit bytes
134
+ }
135
+ }
136
+ ```
137
+
138
+ <sub>`api.ogt` line 13375</sub>
139
+
140
+ ## Column kinds
141
+
142
+ Each is a factory, `Video(value?, options?)`, that makes one field of a component or resource layout.
143
+
144
+ | Column | Value | Typed array | Stride | Doc |
145
+ |---|---|---|---|---|
146
+ | <a id="column-Video"></a>`Video` | `Video` | `Uint32Array` | 2 | A Video handle field (0 is none). |
147
+
148
+ ```ogt
149
+ column Video {
150
+ doc "A Video handle field (0 is none)."
151
+ array Uint32Array
152
+ stride 2
153
+ value Video
154
+ }
155
+ ```
156
+
157
+ <sub>`api.ogt` line 13368</sub>
@@ -16,7 +16,7 @@ module world {
16
16
  # declarations follow, each quoted below
17
17
  ```
18
18
 
19
- <sub>`api.ogt` line 205</sub>
19
+ <sub>`api.ogt` line 778</sub>
20
20
 
21
21
  ## Contents
22
22
 
@@ -59,7 +59,7 @@ event WorldRestored {
59
59
  }
60
60
  ```
61
61
 
62
- <sub>`api.ogt` line 243</sub>
62
+ <sub>`api.ogt` line 816</sub>
63
63
 
64
64
  ## Interfaces
65
65
 
@@ -75,7 +75,7 @@ interface World {
75
75
  # members follow, each quoted below
76
76
  ```
77
77
 
78
- <sub>`api.ogt` line 260</sub>
78
+ <sub>`api.ogt` line 833</sub>
79
79
 
80
80
  <a id="member-World-tick"></a>
81
81
 
@@ -93,7 +93,7 @@ Binding symbol `og_world_get_tick` · publish builds: kept
93
93
  prop tick u32 "Fixed steps taken since the world was created."
94
94
  ```
95
95
 
96
- <sub>`api.ogt` line 263</sub>
96
+ <sub>`api.ogt` line 836</sub>
97
97
 
98
98
  <a id="member-World-spawn"></a>
99
99
 
@@ -121,7 +121,7 @@ fn spawn {
121
121
  }
122
122
  ```
123
123
 
124
- <sub>`api.ogt` line 265</sub>
124
+ <sub>`api.ogt` line 838</sub>
125
125
 
126
126
  <a id="member-World-despawn"></a>
127
127
 
@@ -149,7 +149,7 @@ fn despawn {
149
149
  }
150
150
  ```
151
151
 
152
- <sub>`api.ogt` line 271</sub>
152
+ <sub>`api.ogt` line 844</sub>
153
153
 
154
154
  <a id="member-World-alive"></a>
155
155
 
@@ -177,7 +177,7 @@ fn alive {
177
177
  }
178
178
  ```
179
179
 
180
- <sub>`api.ogt` line 277</sub>
180
+ <sub>`api.ogt` line 850</sub>
181
181
 
182
182
  <a id="member-World-has"></a>
183
183
 
@@ -208,7 +208,7 @@ fn has {
208
208
  }
209
209
  ```
210
210
 
211
- <sub>`api.ogt` line 283</sub>
211
+ <sub>`api.ogt` line 856</sub>
212
212
 
213
213
  <a id="member-World-insert"></a>
214
214
 
@@ -243,7 +243,7 @@ fn insert {
243
243
  }
244
244
  ```
245
245
 
246
- <sub>`api.ogt` line 291</sub>
246
+ <sub>`api.ogt` line 864</sub>
247
247
 
248
248
  <a id="member-World-remove"></a>
249
249
 
@@ -274,7 +274,7 @@ fn remove {
274
274
  }
275
275
  ```
276
276
 
277
- <sub>`api.ogt` line 302</sub>
277
+ <sub>`api.ogt` line 875</sub>
278
278
 
279
279
  <a id="member-World-get"></a>
280
280
 
@@ -305,7 +305,7 @@ fn get {
305
305
  }
306
306
  ```
307
307
 
308
- <sub>`api.ogt` line 310</sub>
308
+ <sub>`api.ogt` line 883</sub>
309
309
 
310
310
  <a id="member-World-set"></a>
311
311
 
@@ -338,7 +338,7 @@ fn set {
338
338
  }
339
339
  ```
340
340
 
341
- <sub>`api.ogt` line 318</sub>
341
+ <sub>`api.ogt` line 891</sub>
342
342
 
343
343
  <a id="member-World-resource"></a>
344
344
 
@@ -367,7 +367,7 @@ fn resource {
367
367
  }
368
368
  ```
369
369
 
370
- <sub>`api.ogt` line 327</sub>
370
+ <sub>`api.ogt` line 900</sub>
371
371
 
372
372
  <a id="member-World-find"></a>
373
373
 
@@ -395,7 +395,7 @@ fn find {
395
395
  }
396
396
  ```
397
397
 
398
- <sub>`api.ogt` line 334</sub>
398
+ <sub>`api.ogt` line 907</sub>
399
399
 
400
400
  <a id="member-World-nameOf"></a>
401
401
 
@@ -423,7 +423,7 @@ fn nameOf {
423
423
  }
424
424
  ```
425
425
 
426
- <sub>`api.ogt` line 340</sub>
426
+ <sub>`api.ogt` line 913</sub>
427
427
 
428
428
  <a id="member-World-query"></a>
429
429
 
@@ -451,7 +451,7 @@ fn query {
451
451
  }
452
452
  ```
453
453
 
454
- <sub>`api.ogt` line 346</sub>
454
+ <sub>`api.ogt` line 919</sub>
455
455
 
456
456
  <a id="member-World-events"></a>
457
457
 
@@ -480,7 +480,7 @@ fn events {
480
480
  }
481
481
  ```
482
482
 
483
- <sub>`api.ogt` line 352</sub>
483
+ <sub>`api.ogt` line 925</sub>
484
484
 
485
485
  <a id="member-World-emit"></a>
486
486
 
@@ -511,7 +511,7 @@ fn emit {
511
511
  }
512
512
  ```
513
513
 
514
- <sub>`api.ogt` line 359</sub>
514
+ <sub>`api.ogt` line 932</sub>
515
515
 
516
516
  <a id="member-World-instantiate"></a>
517
517
 
@@ -544,7 +544,7 @@ fn instantiate {
544
544
  }
545
545
  ```
546
546
 
547
- <sub>`api.ogt` line 367</sub>
547
+ <sub>`api.ogt` line 940</sub>
548
548
 
549
549
  <a id="member-World-snapshot"></a>
550
550
 
@@ -567,7 +567,7 @@ fn snapshot {
567
567
  }
568
568
  ```
569
569
 
570
- <sub>`api.ogt` line 375</sub>
570
+ <sub>`api.ogt` line 948</sub>
571
571
 
572
572
  <a id="member-World-restore"></a>
573
573
 
@@ -597,7 +597,7 @@ fn restore {
597
597
  }
598
598
  ```
599
599
 
600
- <sub>`api.ogt` line 380</sub>
600
+ <sub>`api.ogt` line 953</sub>
601
601
 
602
602
  <a id="type-Query"></a>
603
603
 
@@ -611,7 +611,7 @@ interface Query {
611
611
  # members follow, each quoted below
612
612
  ```
613
613
 
614
- <sub>`api.ogt` line 388</sub>
614
+ <sub>`api.ogt` line 961</sub>
615
615
 
616
616
  <a id="member-Query-archetypes"></a>
617
617
 
@@ -634,7 +634,7 @@ fn archetypes {
634
634
  }
635
635
  ```
636
636
 
637
- <sub>`api.ogt` line 390</sub>
637
+ <sub>`api.ogt` line 963</sub>
638
638
 
639
639
  <a id="member-Query-count"></a>
640
640
 
@@ -657,7 +657,7 @@ fn count {
657
657
  }
658
658
  ```
659
659
 
660
- <sub>`api.ogt` line 394</sub>
660
+ <sub>`api.ogt` line 967</sub>
661
661
 
662
662
  <a id="type-ArchetypeView"></a>
663
663
 
@@ -671,7 +671,7 @@ interface ArchetypeView {
671
671
  # members follow, each quoted below
672
672
  ```
673
673
 
674
- <sub>`api.ogt` line 400</sub>
674
+ <sub>`api.ogt` line 973</sub>
675
675
 
676
676
  <a id="member-ArchetypeView-count"></a>
677
677
 
@@ -689,7 +689,7 @@ Binding symbol `og_archetype_view_get_count` · publish builds: kept
689
689
  prop count u32 "The number of entities in the archetype."
690
690
  ```
691
691
 
692
- <sub>`api.ogt` line 402</sub>
692
+ <sub>`api.ogt` line 975</sub>
693
693
 
694
694
  <a id="member-ArchetypeView-tick"></a>
695
695
 
@@ -707,7 +707,7 @@ Binding symbol `og_archetype_view_get_tick` · publish builds: kept
707
707
  prop tick u32 "The tick this view belongs to."
708
708
  ```
709
709
 
710
- <sub>`api.ogt` line 403</sub>
710
+ <sub>`api.ogt` line 976</sub>
711
711
 
712
712
  <a id="member-ArchetypeView-entities"></a>
713
713
 
@@ -725,7 +725,7 @@ Binding symbol `og_archetype_view_get_entities` · publish builds: kept
725
725
  prop entities Uint32Array "The entities as (index, generation) pairs: entity i is at 2i and 2i + 1."
726
726
  ```
727
727
 
728
- <sub>`api.ogt` line 404</sub>
728
+ <sub>`api.ogt` line 977</sub>
729
729
 
730
730
  <a id="member-ArchetypeView-entity"></a>
731
731
 
@@ -753,7 +753,7 @@ fn entity {
753
753
  }
754
754
  ```
755
755
 
756
- <sub>`api.ogt` line 405</sub>
756
+ <sub>`api.ogt` line 978</sub>
757
757
 
758
758
  <a id="member-ArchetypeView-has"></a>
759
759
 
@@ -782,7 +782,7 @@ fn has {
782
782
  }
783
783
  ```
784
784
 
785
- <sub>`api.ogt` line 410</sub>
785
+ <sub>`api.ogt` line 983</sub>
786
786
 
787
787
  <a id="member-ArchetypeView-column"></a>
788
788
 
@@ -814,7 +814,7 @@ fn column {
814
814
  }
815
815
  ```
816
816
 
817
- <sub>`api.ogt` line 416</sub>
817
+ <sub>`api.ogt` line 989</sub>
818
818
 
819
819
  ## Types
820
820
 
@@ -835,7 +835,7 @@ handle Entity {
835
835
  }
836
836
  ```
837
837
 
838
- <sub>`api.ogt` line 210</sub>
838
+ <sub>`api.ogt` line 783</sub>
839
839
 
840
840
  <a id="type-SpawnDesc"></a>
841
841
 
@@ -871,7 +871,7 @@ struct SpawnDesc {
871
871
  }
872
872
  ```
873
873
 
874
- <sub>`api.ogt` line 222</sub>
874
+ <sub>`api.ogt` line 795</sub>
875
875
 
876
876
  <a id="type-RestoreDesc"></a>
877
877
 
@@ -893,7 +893,7 @@ struct RestoreDesc {
893
893
  }
894
894
  ```
895
895
 
896
- <sub>`api.ogt` line 237</sub>
896
+ <sub>`api.ogt` line 810</sub>
897
897
 
898
898
  <a id="type-QueryDesc"></a>
899
899
 
@@ -917,7 +917,7 @@ struct QueryDesc {
917
917
  }
918
918
  ```
919
919
 
920
- <sub>`api.ogt` line 253</sub>
920
+ <sub>`api.ogt` line 826</sub>
921
921
 
922
922
  ## Column kinds
923
923
 
@@ -936,4 +936,4 @@ column Entity {
936
936
  }
937
937
  ```
938
938
 
939
- <sub>`api.ogt` line 215</sub>
939
+ <sub>`api.ogt` line 788</sub>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origingame/engine",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Origin Engine: the TypeScript API, generated from crates/og-api/api.ogt, its runtime on the web (wasm in a Worker) and native (napi addon) hosts, the player shell, and the agents' knowledge (skills, wiki, style catalogue) in knowledge/.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -51,8 +51,9 @@
51
51
  "bun": ">=1.3"
52
52
  },
53
53
  "optionalDependencies": {
54
- "@origingame/engine-darwin-arm64": "0.2.0",
55
- "@origingame/engine-linux-x64": "0.2.0",
54
+ "@origingame/engine-darwin-arm64": "0.3.0",
55
+ "@origingame/engine-linux-x64": "0.3.0",
56
+ "@origingame/engine-win32-x64": "0.3.0",
56
57
  "@tsrs/darwin-arm64": "0.18.0-ts7.1.0-dev.20260929",
57
58
  "@tsrs/linux-arm64-gnu": "0.18.0-ts7.1.0-dev.20260929",
58
59
  "@tsrs/linux-arm64-musl": "0.18.0-ts7.1.0-dev.20260929",