@origingame/engine 0.3.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 (84) hide show
  1. package/dist/web/origin-engine.d.ts +38 -2
  2. package/dist/web/origin-engine.js +250 -10
  3. package/dist/web/origin-engine_bg.wasm +0 -0
  4. package/dist/web/origin-engine_bg.wasm.d.ts +14 -2
  5. package/dist/web-publish/origin-engine-lanes.js +255 -34
  6. package/dist/web-publish/origin-engine-lanes_bg.wasm +0 -0
  7. package/dist/web-publish/origin-engine.d.ts +39 -3
  8. package/dist/web-publish/origin-engine.js +253 -32
  9. package/dist/web-publish/origin-engine_bg.wasm +0 -0
  10. package/dist/web-publish/origin-engine_bg.wasm.d.ts +15 -3
  11. package/dist/web-publish-2d/origin-engine-lanes.js +253 -32
  12. package/dist/web-publish-2d/origin-engine-lanes_bg.wasm +0 -0
  13. package/dist/web-publish-2d/origin-engine.d.ts +38 -2
  14. package/dist/web-publish-2d/origin-engine.js +250 -29
  15. package/dist/web-publish-2d/origin-engine_bg.wasm +0 -0
  16. package/dist/web-publish-2d/origin-engine_bg.wasm.d.ts +14 -2
  17. package/knowledge/README.md +2 -1
  18. package/knowledge/guides/three-to-og.md +393 -0
  19. package/knowledge/knowledge.json +2 -1
  20. package/knowledge/package.json +3 -2
  21. package/knowledge/scaffold/origin-engine.json +2 -2
  22. package/knowledge/scaffold/template/package.json +1 -1
  23. package/knowledge/scaffold/template/project.ogt +1 -1
  24. package/knowledge/scripts/validate.ts +140 -21
  25. package/knowledge/skills/og-audio/SKILL.md +2 -2
  26. package/knowledge/skills/og-build/SKILL.md +22 -3
  27. package/knowledge/skills/og-core/SKILL.md +20 -5
  28. package/knowledge/skills/og-feel/SKILL.md +2 -2
  29. package/knowledge/skills/og-game/SKILL.md +481 -35
  30. package/knowledge/skills/og-i18n/SKILL.md +7 -7
  31. package/knowledge/skills/og-model/SKILL.md +374 -0
  32. package/knowledge/skills/og-platform-sdk/SKILL.md +1 -1
  33. package/knowledge/skills/og-ui/SKILL.md +15 -8
  34. package/knowledge/wiki/ai.md +20 -20
  35. package/knowledge/wiki/anim.md +63 -55
  36. package/knowledge/wiki/atmosphere.md +13 -13
  37. package/knowledge/wiki/audio.md +18 -18
  38. package/knowledge/wiki/camera.md +13 -13
  39. package/knowledge/wiki/commands.md +11 -11
  40. package/knowledge/wiki/debug.md +13 -13
  41. package/knowledge/wiki/game.md +8 -8
  42. package/knowledge/wiki/i18n.md +7 -7
  43. package/knowledge/wiki/index.md +57 -3
  44. package/knowledge/wiki/input.md +47 -47
  45. package/knowledge/wiki/load.md +57 -57
  46. package/knowledge/wiki/nav.md +34 -34
  47. package/knowledge/wiki/net.md +10 -10
  48. package/knowledge/wiki/path.md +14 -14
  49. package/knowledge/wiki/physics.md +95 -95
  50. package/knowledge/wiki/platform.md +44 -44
  51. package/knowledge/wiki/probe.md +86 -86
  52. package/knowledge/wiki/reflect.md +16 -4
  53. package/knowledge/wiki/render.md +1168 -170
  54. package/knowledge/wiki/rng.md +14 -14
  55. package/knowledge/wiki/shapes.md +727 -0
  56. package/knowledge/wiki/stream.md +15 -15
  57. package/knowledge/wiki/system.md +8 -8
  58. package/knowledge/wiki/systems.md +2 -2
  59. package/knowledge/wiki/terrain.md +24 -20
  60. package/knowledge/wiki/tilemap.md +13 -13
  61. package/knowledge/wiki/time.md +4 -4
  62. package/knowledge/wiki/timeline.md +14 -14
  63. package/knowledge/wiki/transform.md +8 -8
  64. package/knowledge/wiki/tween.md +17 -17
  65. package/knowledge/wiki/ui.md +245 -269
  66. package/knowledge/wiki/video.md +5 -5
  67. package/knowledge/wiki/world.md +36 -36
  68. package/package.json +4 -4
  69. package/schema/api.schema.json +1834 -305
  70. package/shell/platform.ts +5 -0
  71. package/shell/player.ts +8 -2
  72. package/shell/transport.ts +6 -0
  73. package/src/generated/abi.ts +37 -1
  74. package/src/geom.ts +260 -0
  75. package/src/index.ts +8 -1
  76. package/src/node/playtest-run.ts +1 -0
  77. package/src/platform-local.ts +2 -0
  78. package/src/playtest.ts +8 -0
  79. package/src/runtime.ts +87 -6
  80. package/src/ui-kit/settings.ts +9 -0
  81. package/src/web/shell.ts +1 -1
  82. package/src/web/worker.ts +2 -2
  83. package/types/bindings.json +697 -402
  84. package/types/index.d.ts +1045 -127
@@ -2983,6 +2983,26 @@ export function og_render_apply_look(world, look) {
2983
2983
  }
2984
2984
  }
2985
2985
 
2986
+ /**
2987
+ * @param {number} world
2988
+ * @param {string} preset
2989
+ * @returns {string}
2990
+ */
2991
+ export function og_render_apply_quality(world, preset) {
2992
+ let deferred2_0;
2993
+ let deferred2_1;
2994
+ try {
2995
+ const ptr0 = passStringToWasm0(preset, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2996
+ const len0 = WASM_VECTOR_LEN;
2997
+ const ret = wasm.og_render_apply_quality(world, ptr0, len0);
2998
+ deferred2_0 = ret[0];
2999
+ deferred2_1 = ret[1];
3000
+ return getStringFromWasm0(ret[0], ret[1]);
3001
+ } finally {
3002
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3003
+ }
3004
+ }
3005
+
2986
3006
  /**
2987
3007
  * @param {number} world
2988
3008
  * @returns {string}
@@ -3117,6 +3137,26 @@ export function og_render_cone_geometry(world, desc) {
3117
3137
  }
3118
3138
  }
3119
3139
 
3140
+ /**
3141
+ * @param {number} world
3142
+ * @param {string | null} [desc]
3143
+ * @returns {string}
3144
+ */
3145
+ export function og_render_csg_geometry(world, desc) {
3146
+ let deferred2_0;
3147
+ let deferred2_1;
3148
+ try {
3149
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3150
+ var len0 = WASM_VECTOR_LEN;
3151
+ const ret = wasm.og_render_csg_geometry(world, ptr0, len0);
3152
+ deferred2_0 = ret[0];
3153
+ deferred2_1 = ret[1];
3154
+ return getStringFromWasm0(ret[0], ret[1]);
3155
+ } finally {
3156
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3157
+ }
3158
+ }
3159
+
3120
3160
  /**
3121
3161
  * @param {number} world
3122
3162
  * @param {string | null} [desc]
@@ -3137,6 +3177,46 @@ export function og_render_cylinder_geometry(world, desc) {
3137
3177
  }
3138
3178
  }
3139
3179
 
3180
+ /**
3181
+ * @param {number} world
3182
+ * @param {string | null} [desc]
3183
+ * @returns {string}
3184
+ */
3185
+ export function og_render_dodecahedron_geometry(world, desc) {
3186
+ let deferred2_0;
3187
+ let deferred2_1;
3188
+ try {
3189
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3190
+ var len0 = WASM_VECTOR_LEN;
3191
+ const ret = wasm.og_render_dodecahedron_geometry(world, ptr0, len0);
3192
+ deferred2_0 = ret[0];
3193
+ deferred2_1 = ret[1];
3194
+ return getStringFromWasm0(ret[0], ret[1]);
3195
+ } finally {
3196
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3197
+ }
3198
+ }
3199
+
3200
+ /**
3201
+ * @param {number} world
3202
+ * @param {string | null} [desc]
3203
+ * @returns {string}
3204
+ */
3205
+ export function og_render_extrude_geometry(world, desc) {
3206
+ let deferred2_0;
3207
+ let deferred2_1;
3208
+ try {
3209
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3210
+ var len0 = WASM_VECTOR_LEN;
3211
+ const ret = wasm.og_render_extrude_geometry(world, ptr0, len0);
3212
+ deferred2_0 = ret[0];
3213
+ deferred2_1 = ret[1];
3214
+ return getStringFromWasm0(ret[0], ret[1]);
3215
+ } finally {
3216
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3217
+ }
3218
+ }
3219
+
3140
3220
  /**
3141
3221
  * @param {number} world
3142
3222
  * @param {string | null} [desc]
@@ -3175,6 +3255,46 @@ export function og_render_geometry_info(world, geometry) {
3175
3255
  }
3176
3256
  }
3177
3257
 
3258
+ /**
3259
+ * @param {number} world
3260
+ * @param {string | null} [desc]
3261
+ * @returns {string}
3262
+ */
3263
+ export function og_render_icosahedron_geometry(world, desc) {
3264
+ let deferred2_0;
3265
+ let deferred2_1;
3266
+ try {
3267
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3268
+ var len0 = WASM_VECTOR_LEN;
3269
+ const ret = wasm.og_render_icosahedron_geometry(world, ptr0, len0);
3270
+ deferred2_0 = ret[0];
3271
+ deferred2_1 = ret[1];
3272
+ return getStringFromWasm0(ret[0], ret[1]);
3273
+ } finally {
3274
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3275
+ }
3276
+ }
3277
+
3278
+ /**
3279
+ * @param {number} world
3280
+ * @param {string | null} [desc]
3281
+ * @returns {string}
3282
+ */
3283
+ export function og_render_lathe_geometry(world, desc) {
3284
+ let deferred2_0;
3285
+ let deferred2_1;
3286
+ try {
3287
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3288
+ var len0 = WASM_VECTOR_LEN;
3289
+ const ret = wasm.og_render_lathe_geometry(world, ptr0, len0);
3290
+ deferred2_0 = ret[0];
3291
+ deferred2_1 = ret[1];
3292
+ return getStringFromWasm0(ret[0], ret[1]);
3293
+ } finally {
3294
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3295
+ }
3296
+ }
3297
+
3178
3298
  /**
3179
3299
  * @param {number} world
3180
3300
  * @param {string | null} [desc]
@@ -3232,6 +3352,46 @@ export function og_render_measure_text(world, desc) {
3232
3352
  }
3233
3353
  }
3234
3354
 
3355
+ /**
3356
+ * @param {number} world
3357
+ * @param {string | null} [desc]
3358
+ * @returns {string}
3359
+ */
3360
+ export function og_render_merge_geometries(world, desc) {
3361
+ let deferred2_0;
3362
+ let deferred2_1;
3363
+ try {
3364
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3365
+ var len0 = WASM_VECTOR_LEN;
3366
+ const ret = wasm.og_render_merge_geometries(world, ptr0, len0);
3367
+ deferred2_0 = ret[0];
3368
+ deferred2_1 = ret[1];
3369
+ return getStringFromWasm0(ret[0], ret[1]);
3370
+ } finally {
3371
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3372
+ }
3373
+ }
3374
+
3375
+ /**
3376
+ * @param {number} world
3377
+ * @param {string | null} [desc]
3378
+ * @returns {string}
3379
+ */
3380
+ export function og_render_octahedron_geometry(world, desc) {
3381
+ let deferred2_0;
3382
+ let deferred2_1;
3383
+ try {
3384
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3385
+ var len0 = WASM_VECTOR_LEN;
3386
+ const ret = wasm.og_render_octahedron_geometry(world, ptr0, len0);
3387
+ deferred2_0 = ret[0];
3388
+ deferred2_1 = ret[1];
3389
+ return getStringFromWasm0(ret[0], ret[1]);
3390
+ } finally {
3391
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3392
+ }
3393
+ }
3394
+
3235
3395
  /**
3236
3396
  * @param {number} world
3237
3397
  * @param {string | null} [desc]
@@ -3272,6 +3432,26 @@ export function og_render_points(world, desc) {
3272
3432
  }
3273
3433
  }
3274
3434
 
3435
+ /**
3436
+ * @param {number} world
3437
+ * @param {string | null} [desc]
3438
+ * @returns {string}
3439
+ */
3440
+ export function og_render_polyhedron_geometry(world, desc) {
3441
+ let deferred2_0;
3442
+ let deferred2_1;
3443
+ try {
3444
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3445
+ var len0 = WASM_VECTOR_LEN;
3446
+ const ret = wasm.og_render_polyhedron_geometry(world, ptr0, len0);
3447
+ deferred2_0 = ret[0];
3448
+ deferred2_1 = ret[1];
3449
+ return getStringFromWasm0(ret[0], ret[1]);
3450
+ } finally {
3451
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3452
+ }
3453
+ }
3454
+
3275
3455
  /**
3276
3456
  * @param {number} world
3277
3457
  * @returns {string}
@@ -3462,6 +3642,26 @@ export function og_render_shader_material(world, shader, desc) {
3462
3642
  }
3463
3643
  }
3464
3644
 
3645
+ /**
3646
+ * @param {number} world
3647
+ * @param {string | null} [desc]
3648
+ * @returns {string}
3649
+ */
3650
+ export function og_render_shape_geometry(world, desc) {
3651
+ let deferred2_0;
3652
+ let deferred2_1;
3653
+ try {
3654
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3655
+ var len0 = WASM_VECTOR_LEN;
3656
+ const ret = wasm.og_render_shape_geometry(world, ptr0, len0);
3657
+ deferred2_0 = ret[0];
3658
+ deferred2_1 = ret[1];
3659
+ return getStringFromWasm0(ret[0], ret[1]);
3660
+ } finally {
3661
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3662
+ }
3663
+ }
3664
+
3465
3665
  /**
3466
3666
  * @param {number} world
3467
3667
  * @param {string | null} [desc]
@@ -3522,6 +3722,46 @@ export function og_render_standard_material(world, desc) {
3522
3722
  }
3523
3723
  }
3524
3724
 
3725
+ /**
3726
+ * @param {number} world
3727
+ * @param {string | null} [desc]
3728
+ * @returns {string}
3729
+ */
3730
+ export function og_render_sweep_geometry(world, desc) {
3731
+ let deferred2_0;
3732
+ let deferred2_1;
3733
+ try {
3734
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3735
+ var len0 = WASM_VECTOR_LEN;
3736
+ const ret = wasm.og_render_sweep_geometry(world, ptr0, len0);
3737
+ deferred2_0 = ret[0];
3738
+ deferred2_1 = ret[1];
3739
+ return getStringFromWasm0(ret[0], ret[1]);
3740
+ } finally {
3741
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3742
+ }
3743
+ }
3744
+
3745
+ /**
3746
+ * @param {number} world
3747
+ * @param {string | null} [desc]
3748
+ * @returns {string}
3749
+ */
3750
+ export function og_render_tetrahedron_geometry(world, desc) {
3751
+ let deferred2_0;
3752
+ let deferred2_1;
3753
+ try {
3754
+ var ptr0 = isLikeNone(desc) ? 0 : passStringToWasm0(desc, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
3755
+ var len0 = WASM_VECTOR_LEN;
3756
+ const ret = wasm.og_render_tetrahedron_geometry(world, ptr0, len0);
3757
+ deferred2_0 = ret[0];
3758
+ deferred2_1 = ret[1];
3759
+ return getStringFromWasm0(ret[0], ret[1]);
3760
+ } finally {
3761
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3762
+ }
3763
+ }
3764
+
3525
3765
  /**
3526
3766
  * @param {number} world
3527
3767
  * @param {string | null} [desc]
@@ -6964,10 +7204,6 @@ function __wbg_get_imports() {
6964
7204
  const ret = arg0.createProgram();
6965
7205
  return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
6966
7206
  },
6967
- __wbg_createQuerySet_2dc8cde53df9849d: function() { return handleError(function (arg0, arg1) {
6968
- const ret = arg0.createQuerySet(arg1);
6969
- return ret;
6970
- }, arguments); },
6971
7207
  __wbg_createQuery_ec241083d0b36197: function(arg0) {
6972
7208
  const ret = arg0.createQuery();
6973
7209
  return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
@@ -7777,9 +8013,6 @@ function __wbg_get_imports() {
7777
8013
  const ret = arg0.requestDevice(arg1);
7778
8014
  return ret;
7779
8015
  },
7780
- __wbg_resolveQuerySet_770f23fabac49845: function(arg0, arg1, arg2, arg3, arg4, arg5) {
7781
- arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0);
7782
- },
7783
8016
  __wbg_resolve_0076e10020304ede: function(arg0) {
7784
8017
  const ret = Promise.resolve(arg0);
7785
8018
  return ret;
@@ -7944,9 +8177,6 @@ function __wbg_get_imports() {
7944
8177
  __wbg_set_count_8ff0c9474e39a849: function(arg0, arg1) {
7945
8178
  arg0.count = arg1 >>> 0;
7946
8179
  },
7947
- __wbg_set_count_d9dc88156fd05bc7: function(arg0, arg1) {
7948
- arg0.count = arg1 >>> 0;
7949
- },
7950
8180
  __wbg_set_cull_mode_85d2b4ab0ce3a564: function(arg0, arg1) {
7951
8181
  arg0.cullMode = __wbindgen_enum_GpuCullMode[arg1];
7952
8182
  },
@@ -8091,9 +8321,6 @@ function __wbg_get_imports() {
8091
8321
  __wbg_set_label_612add98a4398f92: function(arg0, arg1, arg2) {
8092
8322
  arg0.label = getStringFromWasm0(arg1, arg2);
8093
8323
  },
8094
- __wbg_set_label_6f69e25822616a1b: function(arg0, arg1, arg2) {
8095
- arg0.label = getStringFromWasm0(arg1, arg2);
8096
- },
8097
8324
  __wbg_set_label_70a09ee68d6b1b26: function(arg0, arg1, arg2) {
8098
8325
  arg0.label = getStringFromWasm0(arg1, arg2);
8099
8326
  },
@@ -8337,9 +8564,6 @@ function __wbg_get_imports() {
8337
8564
  __wbg_set_type_79cec55caf4cdb6d: function(arg0, arg1) {
8338
8565
  arg0.type = __wbindgen_enum_GpuBufferBindingType[arg1];
8339
8566
  },
8340
- __wbg_set_type_7f7e54057b801caa: function(arg0, arg1) {
8341
- arg0.type = __wbindgen_enum_GpuQueryType[arg1];
8342
- },
8343
8567
  __wbg_set_unclipped_depth_32b7caf29fa5633d: function(arg0, arg1) {
8344
8568
  arg0.unclippedDepth = arg1 !== 0;
8345
8569
  },
@@ -8686,23 +8910,23 @@ function __wbg_get_imports() {
8686
8910
  arg0.writeTexture(arg1, getArrayU8FromWasm0(arg2, arg3), arg4, arg5);
8687
8911
  }, arguments); },
8688
8912
  __wbindgen_generic_0000000000000001: function(arg0, arg1) {
8689
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 4088, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8913
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 4066, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8690
8914
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true_);
8691
8915
  return ret;
8692
8916
  },
8693
8917
  __wbindgen_generic_0000000000000002: function(arg0, arg1) {
8694
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDevice")], shim_idx: 1920, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8918
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("GPUDevice")], shim_idx: 1907, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8695
8919
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true_);
8696
8920
  return ret;
8697
8921
  },
8698
8922
  __wbindgen_generic_0000000000000003: function(arg0, arg1) {
8699
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("any")], shim_idx: 1920, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8700
- const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__382);
8923
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("any")], shim_idx: 1907, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8924
+ const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__394);
8701
8925
  return ret;
8702
8926
  },
8703
8927
  __wbindgen_generic_0000000000000004: function(arg0, arg1) {
8704
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("undefined")], shim_idx: 1920, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8705
- const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__383);
8928
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("undefined")], shim_idx: 1907, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
8929
+ const ret = makeMutClosure(arg0, arg1, wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__395);
8706
8930
  return ret;
8707
8931
  },
8708
8932
  __wbindgen_generic_0000000000000005: function(arg0) {
@@ -8780,15 +9004,15 @@ function wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bind
8780
9004
  }
8781
9005
  }
8782
9006
 
8783
- function wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__382(arg0, arg1, arg2) {
8784
- const ret = wasm.wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__382(arg0, arg1, arg2);
9007
+ function wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__394(arg0, arg1, arg2) {
9008
+ const ret = wasm.wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__394(arg0, arg1, arg2);
8785
9009
  if (ret[1]) {
8786
9010
  throw takeFromExternrefTable0(ret[0]);
8787
9011
  }
8788
9012
  }
8789
9013
 
8790
- function wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__383(arg0, arg1, arg2) {
8791
- const ret = wasm.wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__383(arg0, arg1, arg2);
9014
+ function wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__395(arg0, arg1, arg2) {
9015
+ const ret = wasm.wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__395(arg0, arg1, arg2);
8792
9016
  if (ret[1]) {
8793
9017
  throw takeFromExternrefTable0(ret[0]);
8794
9018
  }
@@ -8850,9 +9074,6 @@ const __wbindgen_enum_GpuPowerPreference = ["low-power", "high-performance"];
8850
9074
  const __wbindgen_enum_GpuPrimitiveTopology = ["point-list", "line-list", "line-strip", "triangle-list", "triangle-strip"];
8851
9075
 
8852
9076
 
8853
- const __wbindgen_enum_GpuQueryType = ["occlusion", "timestamp"];
8854
-
8855
-
8856
9077
  const __wbindgen_enum_GpuSamplerBindingType = ["filtering", "non-filtering", "comparison"];
8857
9078
 
8858
9079
 
@@ -171,6 +171,7 @@ export const og_query_count: (a: number) => number;
171
171
  export const og_reflect_define_component: (a: number, b: number, c: number, d: number) => [number, number];
172
172
  export const og_reflect_define_resource: (a: number, b: number, c: number, d: number) => [number, number];
173
173
  export const og_render_apply_look: (a: number, b: number) => [number, number];
174
+ export const og_render_apply_quality: (a: number, b: number, c: number) => [number, number];
174
175
  export const og_render_baked_lighting: (a: number) => [number, number];
175
176
  export const og_render_box_geometry: (a: number, b: number, c: number) => [number, number];
176
177
  export const og_render_buffer_geometry: (a: number, b: number, c: number) => [number, number];
@@ -178,14 +179,22 @@ export const og_render_capabilities: (a: number) => [number, number];
178
179
  export const og_render_capsule_geometry: (a: number, b: number, c: number) => [number, number];
179
180
  export const og_render_circle_geometry: (a: number, b: number, c: number) => [number, number];
180
181
  export const og_render_cone_geometry: (a: number, b: number, c: number) => [number, number];
182
+ export const og_render_csg_geometry: (a: number, b: number, c: number) => [number, number];
181
183
  export const og_render_cylinder_geometry: (a: number, b: number, c: number) => [number, number];
184
+ export const og_render_dodecahedron_geometry: (a: number, b: number, c: number) => [number, number];
185
+ export const og_render_extrude_geometry: (a: number, b: number, c: number) => [number, number];
182
186
  export const og_render_floating_text: (a: number, b: number, c: number) => [number, number];
183
187
  export const og_render_geometry_info: (a: number, b: number) => [number, number];
188
+ export const og_render_icosahedron_geometry: (a: number, b: number, c: number) => [number, number];
189
+ export const og_render_lathe_geometry: (a: number, b: number, c: number) => [number, number];
184
190
  export const og_render_lines: (a: number, b: number, c: number) => [number, number];
185
191
  export const og_render_look: (a: number) => [number, number];
186
192
  export const og_render_measure_text: (a: number, b: number, c: number) => [number, number];
193
+ export const og_render_merge_geometries: (a: number, b: number, c: number) => [number, number];
194
+ export const og_render_octahedron_geometry: (a: number, b: number, c: number) => [number, number];
187
195
  export const og_render_plane_geometry: (a: number, b: number, c: number) => [number, number];
188
196
  export const og_render_points: (a: number, b: number, c: number) => [number, number];
197
+ export const og_render_polyhedron_geometry: (a: number, b: number, c: number) => [number, number];
189
198
  export const og_render_post_errors: (a: number) => [number, number];
190
199
  export const og_render_raycast: (a: number, b: number, c: number, d: number, e: number) => [number, number];
191
200
  export const og_render_render_target: (a: number, b: number, c: number) => [number, number];
@@ -195,9 +204,12 @@ export const og_render_set_material_shader: (a: number, b: number, c: number, d:
195
204
  export const og_render_set_post_param: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
196
205
  export const og_render_set_shader_param: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
197
206
  export const og_render_shader_material: (a: number, b: number, c: number, d: number) => [number, number];
207
+ export const og_render_shape_geometry: (a: number, b: number, c: number) => [number, number];
198
208
  export const og_render_sphere_geometry: (a: number, b: number, c: number) => [number, number];
199
209
  export const og_render_sprite: (a: number, b: number, c: number) => [number, number];
200
210
  export const og_render_standard_material: (a: number, b: number, c: number) => [number, number];
211
+ export const og_render_sweep_geometry: (a: number, b: number, c: number) => [number, number];
212
+ export const og_render_tetrahedron_geometry: (a: number, b: number, c: number) => [number, number];
201
213
  export const og_render_text: (a: number, b: number, c: number) => [number, number];
202
214
  export const og_render_torus_geometry: (a: number, b: number, c: number) => [number, number];
203
215
  export const og_render_tube_geometry: (a: number, b: number, c: number) => [number, number];
@@ -383,8 +395,8 @@ export const og_world_spawn: (a: number, b: number, c: number) => [number, numbe
383
395
  export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___js_sys_8cb0a1ab15bdbf1e___Function_fn_wasm_bindgen_b8d3fa9391980f8___JsValue_____wasm_bindgen_b8d3fa9391980f8___sys__Undefined___js_sys_8cb0a1ab15bdbf1e___Function_fn_wasm_bindgen_b8d3fa9391980f8___JsValue_____wasm_bindgen_b8d3fa9391980f8___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
384
396
  export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true_: (a: number, b: number, c: any) => [number, number];
385
397
  export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true_: (a: number, b: number, c: any) => [number, number];
386
- export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__382: (a: number, b: number, c: any) => [number, number];
387
- export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__383: (a: number, b: number, c: any) => [number, number];
398
+ export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__394: (a: number, b: number, c: any) => [number, number];
399
+ export const wasm_bindgen_b8d3fa9391980f8___convert__closures_____invoke___wasm_bindgen_b8d3fa9391980f8___sys__JsNullable_wgpu_d2fbdff2c91c8b93___backend__webgpu__webgpu_sys__gen_GpuError__GpuError___core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_b8d3fa9391980f8___JsError___true__395: (a: number, b: number, c: any) => [number, number];
388
400
  export const __wbindgen_malloc: (a: number, b: number) => number;
389
401
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
390
402
  export const __wbindgen_exn_store: (a: number) => void;
@@ -6,7 +6,8 @@ knowledge packs (`packages/game-knowledge/production` of OriginGame):
6
6
  | Part | Path | Mounted at (`knowledge.json`) |
7
7
  |---|---|---|
8
8
  | API wiki, one page per IDL module plus `index.md` | `wiki/` (generated: `og api gen --wiki`; `og api check` fails on drift) | `game/skills/og-game/reference/` |
9
- | Skills, numbered `## N.` sections cross-referenced as `og-feel §4`: `og-game` (the entry point and the map of the others: the project, ECS, scenes, assets, loading, input, 2D, animation, effects, atmosphere and water, material shaders, physics, performance, looks, light and shadows), `og-core` (engine rules), `og-build` (the `og` loop, the evidence discipline, and `og polish`: §5 is the one list of what it measures), `og-feel` (game feel: time scale, hit stop, tweens, camera, juice amounts, controller tunables by genre), `og-ui` (screens, HUDs, skins, motion, text entry, accessibility, gestures), `og-taste` (art direction: a look chosen from the premise out of the style catalogue `looks/catalogue.json`, atmosphere by intent, the done checklist), `og-ai` (navigation and enemy minds as data), `og-audio` (events, presets, the mix, music), `og-i18n` (string tables, fonts, line breaking, right to left), `og-platform-sdk` (`og.platform`: saves, settings, leaderboards, telemetry, and how to ask for what is missing; the platform's own `og-platform` covers the Player). Each IDL module's `skill` names the one that teaches it; the wiki's index groups modules by it, and `bun run test` checks that skill names the module's page, no other does, and every section reference resolves | `skills/<name>/SKILL.md` | `game/skills/<name>/` |
9
+ | Skills, numbered `## N.` sections cross-referenced as `og-feel §4`: `og-game` (the entry point and the map of the others: the project, ECS, scenes, assets, loading, input, 2D, animation, effects, atmosphere and water, material shaders, physics, performance, looks, light and shadows), `og-core` (engine rules), `og-build` (the `og` loop, the evidence discipline, and `og polish`: §5 is the one list of what it measures), `og-feel` (game feel: time scale, hit stop, tweens, camera, juice amounts, controller tunables by genre), `og-ui` (screens, HUDs, styles, motion, text entry, accessibility, gestures), `og-taste` (art direction: a look chosen from the premise out of the style catalogue `looks/catalogue.json`, atmosphere by intent, the done checklist), `og-ai` (navigation and enemy minds as data), `og-audio` (events, presets, the mix, music), `og-i18n` (string tables, fonts, line breaking, right to left), `og-model` (a 3D model built as code from a reference image: the intake's detail inventory, eight gated passes, the og-geom generators' recipes, budgets, the `type model` asset, and the review's `view` and `turntable` frames and `og compare` sheet), `og-platform-sdk` (`og.platform`: saves, settings, leaderboards, telemetry, and how to ask for what is missing; the platform's own `og-platform` covers the Player). Each IDL module's `skill` names the one that teaches it; the wiki's index groups modules by it, and `bun run test` checks that skill names the module's page, no other does, and every section reference resolves | `skills/<name>/SKILL.md` | `game/skills/<name>/` |
10
+ | Guides: hand-written pages an agent reads beside a skill, held to the same rules as the skills (every `og.*` name and `Type.field` in the API, section references resolved, each named by og-game, listed in `GUIDES`): `three-to-og` maps three.js's classes and idioms to the engine's and names the gaps; `og migrate three` cites its sections | `guides/<name>.md` | `game/skills/og-game/guides/` |
10
11
  | Scaffold: the project template, its engine pin and binary digests | `scaffold/` and the engine repository's `templates/game` | `game-scaffold/origin-engine-ts/` |
11
12
 
12
13
  `bun run test` validates the package against the platform's rules