@forgeax/engine-app 0.1.3 → 0.1.6

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 (145) hide show
  1. package/README.md +20 -14
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/create-app-error-retention.integration.test.d.ts +2 -0
  4. package/dist/__tests__/create-app-error-retention.integration.test.d.ts.map +1 -0
  5. package/dist/__tests__/create-app-physics-plugin-failure.integration.test.d.ts +2 -0
  6. package/dist/__tests__/create-app-physics-plugin-failure.integration.test.d.ts.map +1 -0
  7. package/dist/animation-asset-lookup.d.ts +1 -2
  8. package/dist/animation-asset-lookup.d.ts.map +1 -1
  9. package/dist/create-app.d.ts +31 -10
  10. package/dist/create-app.d.ts.map +1 -1
  11. package/dist/engine-worker-runtime.mjs +72 -129
  12. package/dist/engine-worker-runtime.mjs.map +1 -1
  13. package/dist/errors.d.ts +3 -12
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/execution/attached-world-swap.d.ts +1 -12
  16. package/dist/execution/attached-world-swap.d.ts.map +1 -1
  17. package/dist/execution/bootstrap-url.d.ts +5 -0
  18. package/dist/execution/bootstrap-url.d.ts.map +1 -0
  19. package/dist/execution/control.d.ts +0 -2
  20. package/dist/execution/control.d.ts.map +1 -1
  21. package/dist/execution/engine-worker.d.ts +1 -0
  22. package/dist/execution/engine-worker.d.ts.map +1 -1
  23. package/dist/execution/host-controller.d.ts.map +1 -1
  24. package/dist/execution/index.d.ts +1 -1
  25. package/dist/execution/index.d.ts.map +1 -1
  26. package/dist/execution/protocol.d.ts +4 -1
  27. package/dist/execution/protocol.d.ts.map +1 -1
  28. package/dist/execution/types.d.ts +17 -1
  29. package/dist/execution/types.d.ts.map +1 -1
  30. package/dist/game-context.d.ts +1 -1
  31. package/dist/game-context.d.ts.map +1 -1
  32. package/dist/index.d.ts +4 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.mjs +332 -366
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/internal/assembled-engine-profile.d.ts.map +1 -1
  37. package/dist/internal/assets-world-plugin.d.ts +3 -17
  38. package/dist/internal/assets-world-plugin.d.ts.map +1 -1
  39. package/dist/internal/browser-remote-bridge.d.ts +1 -2
  40. package/dist/internal/browser-remote-bridge.d.ts.map +1 -1
  41. package/dist/internal/browser-rhi-debug-runtime.d.ts +1 -1
  42. package/dist/internal/browser-rhi-debug-runtime.d.ts.map +1 -1
  43. package/dist/internal/debug-draw.d.ts +9 -0
  44. package/dist/internal/debug-draw.d.ts.map +1 -0
  45. package/dist/internal/engine-profile-common.d.ts +2 -2
  46. package/dist/internal/engine-profile-common.d.ts.map +1 -1
  47. package/dist/internal/frame-loop.d.ts +7 -4
  48. package/dist/internal/frame-loop.d.ts.map +1 -1
  49. package/dist/internal/main-engine-profile.d.ts +4 -0
  50. package/dist/internal/main-engine-profile.d.ts.map +1 -1
  51. package/dist/internal/remote-serve-flag.d.ts +3 -7
  52. package/dist/internal/remote-serve-flag.d.ts.map +1 -1
  53. package/dist/internal/rhi-capture.d.ts +1 -1
  54. package/dist/internal/rhi-capture.d.ts.map +1 -1
  55. package/dist/internal/worker-engine-profile.d.ts +2 -0
  56. package/dist/internal/worker-engine-profile.d.ts.map +1 -1
  57. package/dist/renderer-plugin.d.ts +25 -0
  58. package/dist/renderer-plugin.d.ts.map +1 -0
  59. package/dist/tool-preview/bootstrap.d.ts.map +1 -1
  60. package/dist/types.d.ts +21 -61
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +25 -26
  63. package/src/__tests__/callback-inference.test-d.ts +7 -3
  64. package/src/__tests__/consumer-migration.unit.test.ts +13 -0
  65. package/src/__tests__/create-app-error-retention.integration.test.ts +125 -0
  66. package/src/__tests__/create-app-features.test.ts +21 -10
  67. package/src/__tests__/create-app-listener-sync.test.ts +23 -19
  68. package/src/__tests__/create-app-physics-plugin-failure.integration.test.ts +142 -0
  69. package/src/__tests__/create-app-stop.test.ts +4 -12
  70. package/src/__tests__/create-app.test-d.ts +12 -11
  71. package/src/__tests__/create-app.test.ts +1 -60
  72. package/src/__tests__/create-renderer-error.integration.test.ts +3 -2
  73. package/src/__tests__/create-renderer-lifecycle.integration.test.ts +10 -5
  74. package/src/__tests__/draw-source-injected-world-update-visibility.test.ts +7 -13
  75. package/src/__tests__/draw-source-single-world-regression.test.ts +23 -24
  76. package/src/__tests__/engine-worker-bootstrap-channel.unit.test.ts +8 -0
  77. package/src/__tests__/engine-worker-world-swap.unit.test.ts +15 -22
  78. package/src/__tests__/errors-pointer-lock-failed.test.ts +4 -7
  79. package/src/__tests__/execution-bootstrap-isolation.unit.test.ts +5 -6
  80. package/src/__tests__/execution-frame-order.unit.test.ts +2 -2
  81. package/src/__tests__/execution-frame-protocol.unit.test.ts +3 -4
  82. package/src/__tests__/execution-public-api.test-d.ts +4 -0
  83. package/src/__tests__/frame-loop-time-elapsed.test.ts +1 -1
  84. package/src/__tests__/frame-loop-time.unit.test.ts +1 -1
  85. package/src/__tests__/frame-loop-world-array.test.ts +82 -73
  86. package/src/__tests__/plugin-profiles.unit.test.ts +3 -3
  87. package/src/__tests__/profiler-default-off.test.ts +1 -1
  88. package/src/__tests__/profiler-frame-token.test.ts +17 -30
  89. package/src/__tests__/profiler-phase-integration.test.ts +15 -27
  90. package/src/__tests__/surface-handoff.test.ts +1 -4
  91. package/src/__tests__/visibility-remote.integration.test.ts +2 -5
  92. package/src/__tests__/worker-execution-stop.test.ts +64 -7
  93. package/src/animation-asset-lookup.ts +2 -2
  94. package/src/create-app.ts +197 -296
  95. package/src/errors.ts +27 -39
  96. package/src/execution/attached-world-swap.ts +4 -38
  97. package/src/execution/bootstrap-url.ts +25 -0
  98. package/src/execution/control.ts +3 -7
  99. package/src/execution/engine-worker-runtime.ts +23 -40
  100. package/src/execution/engine-worker.ts +2 -0
  101. package/src/execution/host-controller.ts +8 -2
  102. package/src/execution/index.ts +1 -0
  103. package/src/execution/protocol.ts +4 -1
  104. package/src/execution/types.ts +18 -1
  105. package/src/game-context.ts +1 -1
  106. package/src/index.ts +11 -4
  107. package/src/internal/assembled-engine-profile.ts +3 -11
  108. package/src/internal/assets-world-plugin.ts +7 -53
  109. package/src/internal/browser-remote-bridge.ts +12 -10
  110. package/src/internal/browser-rhi-debug-runtime.ts +1 -1
  111. package/src/internal/debug-draw.ts +38 -0
  112. package/src/internal/engine-profile-common.ts +2 -3
  113. package/src/internal/frame-loop.ts +77 -63
  114. package/src/internal/main-engine-profile.ts +21 -17
  115. package/src/internal/remote-serve-flag.ts +5 -14
  116. package/src/internal/rhi-capture.ts +1 -1
  117. package/src/internal/worker-engine-profile.ts +10 -10
  118. package/src/renderer-plugin.ts +96 -0
  119. package/src/tool-preview/bootstrap.ts +1 -14
  120. package/src/types.ts +22 -77
  121. package/src/vite-env.d.ts +0 -2
  122. package/dist/__tests__/app-rebuild.test.d.ts +0 -2
  123. package/dist/__tests__/app-rebuild.test.d.ts.map +0 -1
  124. package/dist/__tests__/asset-registry-types.test-d.d.ts +0 -2
  125. package/dist/__tests__/asset-registry-types.test-d.d.ts.map +0 -1
  126. package/dist/__tests__/assets-runtime-assembly.integration.test.d.ts +0 -2
  127. package/dist/__tests__/assets-runtime-assembly.integration.test.d.ts.map +0 -1
  128. package/dist/__tests__/draw-source-headless-full-chain.test.d.ts +0 -2
  129. package/dist/__tests__/draw-source-headless-full-chain.test.d.ts.map +0 -1
  130. package/dist/__tests__/ecs-import.unit.test.d.ts +0 -2
  131. package/dist/__tests__/ecs-import.unit.test.d.ts.map +0 -1
  132. package/dist/__tests__/execution-world-health-owner.test-d.d.ts +0 -2
  133. package/dist/__tests__/execution-world-health-owner.test-d.d.ts.map +0 -1
  134. package/dist/__tests__/remote-serve-flag.test.d.ts +0 -2
  135. package/dist/__tests__/remote-serve-flag.test.d.ts.map +0 -1
  136. package/dist/assets-runtime-assembly.d.ts +0 -19
  137. package/dist/assets-runtime-assembly.d.ts.map +0 -1
  138. package/src/__tests__/app-rebuild.test.ts +0 -31
  139. package/src/__tests__/asset-registry-types.test-d.ts +0 -16
  140. package/src/__tests__/assets-runtime-assembly.integration.test.ts +0 -68
  141. package/src/__tests__/draw-source-headless-full-chain.test.ts +0 -226
  142. package/src/__tests__/ecs-import.unit.test.ts +0 -40
  143. package/src/__tests__/execution-world-health-owner.test-d.ts +0 -9
  144. package/src/__tests__/remote-serve-flag.test.ts +0 -24
  145. package/src/assets-runtime-assembly.ts +0 -70
@@ -1 +1 @@
1
- {"version":3,"file":"assembled-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/assembled-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAQrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAU3E"}
1
+ {"version":3,"file":"assembled-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/assembled-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAO3E"}
@@ -1,21 +1,7 @@
1
1
  import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
2
2
  import type { Plugin } from '@forgeax/engine-plugin';
3
- import type { RenderAssetPort } from '@forgeax/engine-render/internal';
4
- import type { AssetRuntimeAssembly } from '../assets-runtime-assembly';
5
- /** Project the Renderer-owned render-only asset view as a declared service. */
6
- export declare function rendererAssetsPlugin(): Plugin;
7
- /** Adapt the Registry and its decoder leases to the App Fiber lifecycle. */
8
- export declare function assetRegistryPlugin(assembly: AssetRuntimeAssembly): Plugin;
9
- /** Project the render-only view into World resource lookup reversibly. */
3
+ /** Project the Renderer-owned AssetRegistry as a declared dependent service. */
4
+ export declare function rendererAssetsPlugin(assets: AssetRegistry | undefined): Plugin;
5
+ /** Project the realm AssetRegistry into legacy World resource lookup reversibly. */
10
6
  export declare function assetsWorldPlugin(): Plugin;
11
- /** Project the App-owned Registry into World resource lookup reversibly. */
12
- export declare function assetRegistryWorldPlugin(): Plugin;
13
- declare module '@forgeax/engine-plugin' {
14
- interface EngineContextServices {
15
- /** Renderer-owned render projection; GameHost owns the load registry separately. */
16
- assets?: RenderAssetPort;
17
- /** App-owned typed runtime Registry for GUID loads and snapshots. */
18
- assetRegistry?: AssetRegistry;
19
- }
20
- }
21
7
  //# sourceMappingURL=assets-world-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets-world-plugin.d.ts","sourceRoot":"","sources":["../../src/internal/assets-world-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKvE,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAe1E;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,MAAM,CAa1C;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,IAAI,MAAM,CAajD;AAED,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,qBAAqB;QAC7B,oFAAoF;QACpF,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,qEAAqE;QACrE,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"assets-world-plugin.d.ts","sourceRoot":"","sources":["../../src/internal/assets-world-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAS9E;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,IAAI,MAAM,CAc1C"}
@@ -1,9 +1,8 @@
1
- import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
2
1
  import { type World } from '@forgeax/engine-ecs';
3
2
  export interface BrowserRemoteBridgeDeps {
4
3
  readonly world: World;
5
4
  readonly renderer: unknown;
6
- readonly assets: AssetRegistry;
5
+ readonly assets: unknown;
7
6
  /** The host's already-loaded runtime namespace; preserves component-token identity. */
8
7
  readonly runtimeModule: unknown;
9
8
  readonly rhiCapture?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-remote-bridge.d.ts","sourceRoot":"","sources":["../../src/internal/browser-remote-bridge.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AA8CzD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AA0BD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,CAqJrB"}
1
+ {"version":3,"file":"browser-remote-bridge.d.ts","sourceRoot":"","sources":["../../src/internal/browser-remote-bridge.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AA8CzD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AA0BD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,CAqJrB"}
@@ -6,7 +6,7 @@ export interface BrowserRhiDebugRuntime {
6
6
  readonly attachment: RecorderAttachment;
7
7
  readonly createReplayDevice: () => Promise<import('@forgeax/engine-types').Result<RhiDevice, unknown>>;
8
8
  readonly createShaderModule: CreateShaderModuleFn;
9
- readonly rhiInstrumentation: import('@forgeax/engine-render/internal').RhiBackendInstrumentation;
9
+ readonly rhiInstrumentation: import('@forgeax/engine-render/internal/construct-renderer').RhiBackendInstrumentation;
10
10
  attachRenderer(renderer: Renderer): () => void;
11
11
  }
12
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser-rhi-debug-runtime.d.ts","sourceRoot":"","sources":["../../src/internal/browser-rhi-debug-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EAEpB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,OAAO,CACxC,OAAO,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAC3D,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,iCAAiC,EAAE,yBAAyB,CAAC;IACjG,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAC;CAChD;AAmBD;;;;GAIG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAuBpF"}
1
+ {"version":3,"file":"browser-rhi-debug-runtime.d.ts","sourceRoot":"","sources":["../../src/internal/browser-rhi-debug-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EAEpB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAInC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,OAAO,CACxC,OAAO,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAC3D,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,OAAO,oDAAoD,EAAE,yBAAyB,CAAC;IACpH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAC;CAChD;AAmBD;;;;GAIG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAuBpF"}
@@ -0,0 +1,9 @@
1
+ import type { DebugDraw } from '@forgeax/engine-debug-draw';
2
+ import type { RendererHostAssembly } from '@forgeax/engine-render/internal/construct-renderer';
3
+ import type { TextureFormat } from '@forgeax/engine-rhi';
4
+ export type RendererDebugDrawHost = Pick<RendererHostAssembly['debugDrawHost'], 'initialization' | 'device' | '_internal_createShaderModule' | '_internal_setRenderOverlay'>;
5
+ /** Create the App-owned debug overlay after the renderer has initialized. */
6
+ export declare function createDebugDrawOnReady(context: RendererDebugDrawHost, format?: TextureFormat): Promise<DebugDraw>;
7
+ /** Release the App-owned debug overlay and clear its Render capability. */
8
+ export declare function releaseDebugDraw(context: RendererDebugDrawHost, debugDraw: DebugDraw): void;
9
+ //# sourceMappingURL=debug-draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-draw.d.ts","sourceRoot":"","sources":["../../src/internal/debug-draw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,CAAC,eAAe,CAAC,EACrC,gBAAgB,GAAG,QAAQ,GAAG,8BAA8B,GAAG,4BAA4B,CAC5F,CAAC;AAEF,6EAA6E;AAC7E,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,SAAS,CAAC,CAgBpB;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAG3F"}
@@ -1,9 +1,9 @@
1
+ import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
1
2
  import type { Plugin } from '@forgeax/engine-plugin';
2
3
  import type { Renderer } from '@forgeax/engine-render';
3
- import type { AssetRuntimeAssembly } from '../assets-runtime-assembly';
4
4
  export interface EngineProfileBase {
5
5
  readonly renderer: Renderer;
6
- readonly assetAssembly?: AssetRuntimeAssembly;
6
+ readonly assets?: AssetRegistry;
7
7
  readonly extensions?: readonly Plugin[];
8
8
  }
9
9
  //# sourceMappingURL=engine-profile-common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-profile-common.d.ts","sourceRoot":"","sources":["../../src/internal/engine-profile-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
1
+ {"version":3,"file":"engine-profile-common.d.ts","sourceRoot":"","sources":["../../src/internal/engine-profile-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
@@ -1,14 +1,17 @@
1
1
  import type { World } from '@forgeax/engine-ecs';
2
2
  import type { Profiler } from '@forgeax/engine-profiler';
3
- import type { Renderer } from '@forgeax/engine-render';
4
- import type { RhiError } from '@forgeax/engine-rhi/errors';
3
+ import type { RenderError, Renderer } from '@forgeax/engine-render';
5
4
  import { type Result } from '@forgeax/engine-types';
6
5
  import { AppError } from '../errors';
7
6
  export type FrameState = 'idle' | 'running' | 'paused' | 'stopped';
8
7
  export interface FrameLoopOptions {
9
8
  readonly world: World;
10
9
  readonly renderer: Renderer;
11
- readonly onError?: (e: AppError | RhiError) => void;
10
+ readonly onError?: (e: AppError | RenderError) => void;
11
+ /** Optional dev-only RHI recorder hook; called once after each frame draw. */
12
+ readonly debugRhi?: {
13
+ onFrameEnd(): void;
14
+ };
12
15
  readonly now?: () => number;
13
16
  readonly raf?: (cb: (t: number) => void) => number;
14
17
  readonly caf?: (id: number) => void;
@@ -25,7 +28,7 @@ export interface FrameLoopHandle {
25
28
  pause(): Result<void, AppError>;
26
29
  resume(): Result<void, AppError>;
27
30
  /** Run one complete update/draw frame through this loop while paused. */
28
- stepFrame(deltaSeconds: number): Result<void, AppError | RhiError>;
31
+ stepFrame(deltaSeconds: number): Result<void, AppError | RenderError>;
29
32
  /** Replace the per-frame world routing pull without replacing the loop. */
30
33
  setDrawSource(drawSource: FrameLoopOptions['drawSource']): void;
31
34
  getState(): FrameState;
@@ -1 +1 @@
1
- {"version":3,"file":"frame-loop.d.ts","sourceRoot":"","sources":["../../src/internal/frame-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAqB,QAAQ,EAAmB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAClB;QAAE,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GACxE,SAAS,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,yEAAyE;IACzE,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACnE,2EAA2E;IAC3E,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,IAAI,UAAU,CAAC;IACvB,UAAU,IAAI,IAAI,CAAC;CACpB;AA+HD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAyWvE"}
1
+ {"version":3,"file":"frame-loop.d.ts","sourceRoot":"","sources":["../../src/internal/frame-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAqB,QAAQ,EAAmB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAoB,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,UAAU,IAAI,IAAI,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,CAAC;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAClB;QAAE,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GACxE,SAAS,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/B,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,yEAAyE;IACzE,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IACtE,2EAA2E;IAC3E,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,IAAI,UAAU,CAAC;IACvB,UAAU,IAAI,IAAI,CAAC;CACpB;AA+HD,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAsXvE"}
@@ -2,8 +2,12 @@ import { type AnimationPayloadLookup } from '@forgeax/engine-animation';
2
2
  import type { DebugDraw } from '@forgeax/engine-debug-draw';
3
3
  import { type ActionConfig, type InputBackend } from '@forgeax/engine-input';
4
4
  import type { Plugin } from '@forgeax/engine-plugin';
5
+ import { type RenderFeatureHost } from '../renderer-plugin';
6
+ import { type RendererDebugDrawHost } from './debug-draw';
5
7
  import type { EngineProfileBase } from './engine-profile-common';
6
8
  export interface MainEngineProfileOptions extends EngineProfileBase {
9
+ readonly rendererDebugDrawHost?: RendererDebugDrawHost;
10
+ readonly rendererFeatureHost?: RenderFeatureHost;
7
11
  readonly animationPayloads: AnimationPayloadLookup;
8
12
  readonly onDebugDrawReady?: (debugDraw: DebugDraw) => void;
9
13
  readonly input?: InputBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"main-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/main-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAcrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C;AAmBD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAyB7E"}
1
+ {"version":3,"file":"main-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/main-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAA0B,KAAK,qBAAqB,EAAoB,MAAM,cAAc,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C;AAoBD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,EAAE,CA2B7E"}
@@ -6,18 +6,14 @@ interface RemoteServeEnv {
6
6
  * Resolve whether the remote eval server should be started.
7
7
  *
8
8
  * Returns `true` when:
9
- * - a Node host is in vite dev mode (import.meta.env.DEV === true), OR
9
+ * - vite dev mode (import.meta.env.DEV === true), OR
10
10
  * - headless/dawn-node with FORGEAX_ENGINE_REMOTE_SERVE=1 opt-in
11
11
  *
12
- * Returns `false` in browsers, production builds, and headless hosts without
13
- * explicit opt-in. The browser path must not even request the Node-only
14
- * `@forgeax/engine-remote/server` module: Vite would otherwise discover it
15
- * during the first Play boot and refresh the live dependency graph.
12
+ * Returns `false` in production builds and headless without explicit opt-in.
16
13
  *
17
14
  * @param isDev flag from import.meta.env.DEV (undefined when import.meta absent)
18
15
  * @param processEnv globalThis.process?.env when present, else undefined
19
- * @param isBrowser true for the DOM canvas host; false for Node/headless hosts
20
16
  */
21
- export declare function resolveRemoteServeFlag(isDev: boolean | undefined, processEnv: RemoteServeEnv | undefined, isBrowser?: boolean): boolean;
17
+ export declare function resolveRemoteServeFlag(isDev: boolean | undefined, processEnv: RemoteServeEnv | undefined): boolean;
22
18
  export {};
23
19
  //# sourceMappingURL=remote-serve-flag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-serve-flag.d.ts","sourceRoot":"","sources":["../../src/internal/remote-serve-flag.ts"],"names":[],"mappings":"AAmBA,qEAAqE;AACrE,UAAU,cAAc;IACtB,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,SAAS,UAAQ,GAChB,OAAO,CAKT"}
1
+ {"version":3,"file":"remote-serve-flag.d.ts","sourceRoot":"","sources":["../../src/internal/remote-serve-flag.ts"],"names":[],"mappings":"AAgBA,qEAAqE;AACrE,UAAU,cAAc;IACtB,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,UAAU,EAAE,cAAc,GAAG,SAAS,GACrC,OAAO,CAIT"}
@@ -1,4 +1,4 @@
1
- import type { RhiBackendInstrumentation } from '@forgeax/engine-render/internal';
1
+ import type { RhiBackendInstrumentation } from '@forgeax/engine-render/internal/construct-renderer';
2
2
  import type { CaptureFrameOptions, RecorderAttachment, RhiDebugError } from '@forgeax/engine-rhi-debug';
3
3
  import { type Result } from '@forgeax/engine-types';
4
4
  import type { FrameLoopHandle } from './frame-loop';
@@ -1 +1 @@
1
- {"version":3,"file":"rhi-capture.d.ts","sourceRoot":"","sources":["../../src/internal/rhi-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EAClB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;CACjG;AAGD,KAAK,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;AAI/F,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CA8B3E;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAE/F;AAsHD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,GAC7B,yBAAyB,CAoB3B"}
1
+ {"version":3,"file":"rhi-capture.d.ts","sourceRoot":"","sources":["../../src/internal/rhi-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAEpG,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EAClB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;CACjG;AAGD,KAAK,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;AAI/F,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CA8B3E;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAE/F;AAsHD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,GAC7B,yBAAyB,CAoB3B"}
@@ -2,11 +2,13 @@ import { type AnimationPayloadLookup } from '@forgeax/engine-animation';
2
2
  import { type AudioBackend } from '@forgeax/engine-audio';
3
3
  import { type InputBackend } from '@forgeax/engine-input';
4
4
  import type { Plugin } from '@forgeax/engine-plugin';
5
+ import { type RenderFeatureHost } from '../renderer-plugin';
5
6
  import type { EngineProfileBase } from './engine-profile-common';
6
7
  export interface WorkerEngineProfileOptions extends EngineProfileBase {
7
8
  readonly animationPayloads: AnimationPayloadLookup;
8
9
  readonly input: InputBackend;
9
10
  readonly audio: AudioBackend;
11
+ readonly rendererFeatureHost?: RenderFeatureHost;
10
12
  }
11
13
  /** Static Engine Worker selection; Host-only acquisition stays outside this realm. */
12
14
  export declare function workerEngineProfile(options: WorkerEngineProfileOptions): Plugin[];
@@ -1 +1 @@
1
- {"version":3,"file":"worker-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/worker-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAYrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,EAAE,CAkBjF"}
1
+ {"version":3,"file":"worker-engine-profile.d.ts","sourceRoot":"","sources":["../../src/internal/worker-engine-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;CAClD;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,EAAE,CAkBjF"}
@@ -0,0 +1,25 @@
1
+ import type { Plugin } from '@forgeax/engine-plugin';
2
+ import type { RenderError, Renderer, RenderFeature, RenderResult } from '@forgeax/engine-render';
3
+ import type { RendererFeatureAssemblyHost } from '@forgeax/engine-render/internal/construct-renderer';
4
+ export interface RenderFeatureHost {
5
+ installFeature(feature: RenderFeature<unknown>): Promise<RenderResult<RenderFeatureLease, RenderError>>;
6
+ }
7
+ export interface RenderFeatureLease {
8
+ release(): Promise<RenderResult<void, RenderError>>;
9
+ }
10
+ export declare function createRenderFeatureHost(host: RendererFeatureAssemblyHost): RenderFeatureHost;
11
+ declare module '@forgeax/engine-plugin' {
12
+ interface EngineContextServices {
13
+ renderer?: Renderer;
14
+ renderFeatureHost?: RenderFeatureHost;
15
+ }
16
+ }
17
+ /** Provide the renderer without transferring its host-owned lifetime. */
18
+ export declare function rendererPlugin(renderer: Renderer): Plugin;
19
+ /** Provide an App/Worker-owned Renderer and release it after dependent Fibers. */
20
+ export declare function ownedRendererPlugin(renderer: Renderer): Plugin;
21
+ /** Provide the App-owned late RenderFeature assembly capability. */
22
+ export declare function renderFeatureHostPlugin(host: RenderFeatureHost): Plugin;
23
+ /** Install a producer feature under the same Cordis Fiber that owns the caller. */
24
+ export declare function renderFeaturePlugin(feature: RenderFeature<unknown>): Plugin;
25
+ //# sourceMappingURL=renderer-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-plugin.d.ts","sourceRoot":"","sources":["../src/renderer-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAEtG,MAAM,WAAW,iBAAiB;IAChC,cAAc,CACZ,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;CACrD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB,CAkB5F;AAED,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,qBAAqB;QAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC;CACF;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAQzD;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS9D;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAQvE;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAmB3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/tool-preview/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/tool-preview/bootstrap.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AssetRegistry, CatalogSource } from '@forgeax/engine-assets-runtime';
1
+ import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
2
2
  import type { AudioBackend } from '@forgeax/engine-audio';
3
3
  import type { DebugDraw } from '@forgeax/engine-debug-draw';
4
4
  import type { TimePolicy, World } from '@forgeax/engine-ecs';
@@ -6,13 +6,11 @@ import type { ActionConfig, InputBackend, PointerLockProvider, VirtualJoystickCo
6
6
  import type { PhysicsWorld, PhysicsWorld2D } from '@forgeax/engine-physics';
7
7
  import type { Context, Plugin } from '@forgeax/engine-plugin';
8
8
  import type { Profiler } from '@forgeax/engine-profiler';
9
- import type { MembershipTimingOptions, Renderer, RendererError, RenderFeature } from '@forgeax/engine-render';
10
- import type { RhiBackendInstrumentation } from '@forgeax/engine-render/internal';
9
+ import type { RenderError, Renderer, RenderFeature, RenderProfile } from '@forgeax/engine-render';
10
+ import type { RhiBackendInstrumentation } from '@forgeax/engine-render/internal/construct-renderer';
11
11
  import type { RhiError, RhiInstance } from '@forgeax/engine-rhi';
12
- import type { CaptureFrameOptions, RhiDebugError } from '@forgeax/engine-rhi-debug';
13
12
  import type { EngineEnvironmentError } from '@forgeax/engine-runtime';
14
- import type { AssetDecoderContributionRef, ImportTransport, Result } from '@forgeax/engine-types';
15
- import type { AssetRuntimeAssemblyError } from './assets-runtime-assembly';
13
+ import type { ImportTransport, Result } from '@forgeax/engine-types';
16
14
  import type { AppError, AppErrorCode } from './errors';
17
15
  import type { ExecutionControl, ExecutionOptions } from './execution';
18
16
  import type { RhiCapture } from './internal/rhi-capture';
@@ -31,7 +29,7 @@ export type { AppError, AppErrorCode };
31
29
  * `RhiErrorCode` / per-cluster `*ErrorCode` / `PostProcessErrorCode` literal
32
30
  * sets let TS narrow each arm to the concrete class.
33
31
  */
34
- export type AppDispatchError = AppError | RendererError;
32
+ export type AppDispatchError = AppError | RenderError;
35
33
  /**
36
34
  * Per-frame draw description pulled from the host each frame
37
35
  * (feat-20260709-editor-world-partition-editorworld-super-composite / M2 / D-3).
@@ -96,11 +94,9 @@ export type DrawSource = () => DrawSourceResult | undefined;
96
94
  */
97
95
  export interface AppAssembleArgs {
98
96
  readonly renderer: Renderer;
97
+ /** Host-owned asset catalogue paired with the renderer construction. */
98
+ readonly assets?: AssetRegistry;
99
99
  readonly world: World;
100
- /** One immutable Catalog scope for this App realm. */
101
- readonly assetCatalog?: CatalogSource;
102
- /** Explicit owner contributions installed into this realm's Registry. */
103
- readonly assetDecoders?: readonly AssetDecoderContributionRef[];
104
100
  /** Unified plugin list (M1 feat-20260623-plugin-system-unify-build-world-protocol). */
105
101
  readonly plugins?: readonly Plugin[];
106
102
  readonly silenceUnhandledErrors?: boolean;
@@ -113,8 +109,6 @@ export interface AppAssembleArgs {
113
109
  readonly drawSource?: DrawSource;
114
110
  /** Explicit profiler capability shared by the host and renderer. */
115
111
  readonly profiler?: Profiler;
116
- /** Explicit opt-in for Render-owned HDRP membership timing evidence. */
117
- readonly membershipTiming?: MembershipTimingOptions;
118
112
  }
119
113
  /** Effective physical canvas size transported to an Engine Worker frame. */
120
114
  export interface CanvasDrawingBufferSize {
@@ -126,8 +120,8 @@ export interface CanvasDrawingBufferSize {
126
120
  *
127
121
  * feat-20260608-create-app-param-surface-trim / M2 / D-3: self-describing
128
122
  * surface -- no longer `extends RendererOptions`. The 7 app-only fields
129
- * (input / audio / physics / silenceUnhandledErrors) plus the 2 RHI escape-hatch
130
- * fields (rhi / rawDeviceForContextConfigure) are
123
+ * (input / audio / physics / silenceUnhandledErrors) plus the RHI escape-hatch
124
+ * field (rhi) are
131
125
  * listed inline, so IDE autocomplete shows AI users a clean surface
132
126
  * without inheriting now-disallowed slots like clearColor (M1, on Camera)
133
127
  * and shaderManifestUrl (M2, on BundlerOptions / 3rd arg). The escape
@@ -135,23 +129,14 @@ export interface CanvasDrawingBufferSize {
135
129
  * default noise, but reachable when the AI user scrolls the type).
136
130
  */
137
131
  export interface CreateAppOptions {
138
- /**
139
- * Optional positive Host-owned upper bound for the canvas device pixel ratio.
140
- * Values below 1 intentionally downsample GPU-bound surfaces. The default is
141
- * the current devicePixelRatio; the Engine never reads URL or game-specific
142
- * settings to derive this value.
143
- */
144
- readonly maxCanvasPixelRatio?: number | undefined;
145
- /** One immutable Catalog scope for this App realm. */
146
- readonly assetCatalog?: CatalogSource;
147
- /** Explicit owner contributions installed into this realm's Registry. */
148
- readonly assetDecoders?: readonly AssetDecoderContributionRef[];
149
132
  /** Opt into realm-local engine execution. Omission preserves the existing local assembly path. */
150
133
  readonly execution?: ExecutionOptions;
151
134
  /** Host-owned UI root whose events do not enter gameplay input. */
152
135
  readonly uiRoot?: Node;
153
136
  /** Producer-owned render features forwarded to the renderer unchanged. */
154
137
  readonly features?: readonly RenderFeature<unknown>[];
138
+ /** Standard profile forwarded to the single renderer-owned pipeline. */
139
+ readonly standardProfile?: RenderProfile;
155
140
  /** Unified plugin list (M1 feat-20260623-plugin-system-unify-build-world-protocol). */
156
141
  readonly plugins?: readonly Plugin[];
157
142
  /**
@@ -177,15 +162,8 @@ export interface CreateAppOptions {
177
162
  * advanced AI users that ship their own RhiInstance shim.
178
163
  */
179
164
  readonly rhi?: RhiInstance | undefined;
180
- /** @internal Runtime-owned instrumentation seam for a recorder attachment. */
165
+ /** Optional host-owned RHI lifecycle instrumentation, such as recording. */
181
166
  readonly rhiInstrumentation?: RhiBackendInstrumentation;
182
- /**
183
- * D-S1 raw GPUDevice escape hatch -- forwarded verbatim to createRenderer.
184
- * Same semantics as `RendererOptions.rawDeviceForContextConfigure`. Used
185
- * by the apps/hello/triangle bootstrap, where the host configures the
186
- * canvas's GPUCanvasContext outside the RHI surface.
187
- */
188
- readonly rawDeviceForContextConfigure?: unknown | (() => unknown | undefined);
189
167
  /**
190
168
  * Neutral PointerLock gate forwarded verbatim to the canvas-form input
191
169
  * attach (attachInputAuto → attachBrowserInputBackend). When it returns
@@ -236,8 +214,6 @@ export interface CreateAppOptions {
236
214
  readonly drawSource?: DrawSource;
237
215
  /** Explicit profiler capability shared by the host and renderer. */
238
216
  readonly profiler?: Profiler;
239
- /** Explicit opt-in for Render-owned HDRP membership timing evidence. */
240
- readonly membershipTiming?: MembershipTimingOptions;
241
217
  }
242
218
  /**
243
219
  * Bundler-layer injection for the canvas-form createApp(canvas, opts, bundler?)
@@ -300,8 +276,8 @@ export interface BundlerOptions {
300
276
  export interface App {
301
277
  /** Caller-owned Renderer (reference equality with the assemble input). */
302
278
  readonly renderer: Renderer;
303
- /** App-owned single-scope runtime Registry; disposed with the Cordis realm. */
304
- readonly assets: AssetRegistry;
279
+ /** Host-owned asset catalogue paired with this renderer lease. */
280
+ readonly assets?: AssetRegistry;
305
281
  /** Caller-owned World (reference equality with the assemble input). */
306
282
  readonly world: World;
307
283
  /** Host-side lifecycle and immutable diagnostics for the selected execution tier. */
@@ -310,9 +286,9 @@ export interface App {
310
286
  * Pause frame submission and relinquish the renderer presentation surface
311
287
  * without replacing World, Renderer, AssetRegistry, plugins, or history.
312
288
  */
313
- releaseSurfacePreserveWorld(): Promise<Result<void, RhiError>>;
289
+ releaseSurfacePreserveWorld(): Promise<Result<void, RhiError | RenderError>>;
314
290
  /** Restore the same surface and resume only when release paused a running App. */
315
- restoreSurface(): Promise<Result<void, RhiError>>;
291
+ restoreSurface(): Promise<Result<void, RhiError | RenderError>>;
316
292
  /** Native Cordis realm that owns this App's capability fibers and effects. */
317
293
  readonly pluginContext: Context;
318
294
  /** InputBackend handle when input attach is enabled; undefined otherwise. */
@@ -387,18 +363,12 @@ export interface App {
387
363
  */
388
364
  setDrawSource(drawSource: DrawSource | undefined): void;
389
365
  /**
390
- * Most recent device-loss error retained for host self-inspection without
366
+ * Most recent dispatched error retained for host self-inspection without
391
367
  * requiring an onError listener up front.
392
368
  */
393
369
  readonly lastError?: AppDispatchError | undefined;
394
- /**
395
- * Optional single-frame RHI capture capability.
396
- *
397
- * A successful capture returns one `{ kind: 'rhi-tape', digest, bytes }`
398
- * artifact. Pass that same artifact to DevKit summary and inspect
399
- * operations; the selection key is `FrameModel.works[].workIndex`.
400
- */
401
- readonly rhiCapture?: RhiCapture | undefined;
370
+ /** Optional single-frame RHI capture capability owned by the App host. */
371
+ readonly rhiCapture?: RhiCapture;
402
372
  /**
403
373
  * Handle for the remote eval server started by createApp (dev mode).
404
374
  *
@@ -413,17 +383,7 @@ export interface App {
413
383
  readonly remote?: import('@forgeax/engine-types').RemoteHandle | undefined;
414
384
  }
415
385
  /** Host control returned by the unified execution path. Engine-owned objects remain realm-local. */
416
- export type ExecutionApp = Pick<App, 'execution' | 'input' | 'audio' | 'rhiCapture' | 'start' | 'stop' | 'pause' | 'resume' | 'onError' | 'lastError'>;
417
- /** Artifact returned by the browser RHI-debug capture capability. */
418
- export interface RhiCaptureArtifact {
419
- readonly kind: 'rhi-tape';
420
- readonly digest: string;
421
- readonly bytes: Uint8Array;
422
- }
423
- /** Same-origin browser hook shared by main-serial and Worker execution. */
424
- export interface RhiCaptureHook {
425
- captureFrame(options?: CaptureFrameOptions): Promise<Result<RhiCaptureArtifact, RhiDebugError>>;
426
- }
386
+ export type ExecutionApp = Pick<App, 'execution' | 'input' | 'audio' | 'start' | 'stop' | 'pause' | 'resume' | 'onError' | 'lastError'>;
427
387
  /**
428
388
  * Error union returned by the assemble-form entry. The canvas-form thin
429
389
  * wrapper widens this with EngineEnvironmentError (createRenderer
@@ -431,7 +391,7 @@ export interface RhiCaptureHook {
431
391
  *
432
392
  * Cordis activation failures are projected into AppError at this boundary.
433
393
  */
434
- export type AssembleAppError = AppError | RhiError | AssetRuntimeAssemblyError;
394
+ export type AssembleAppError = AppError | RhiError;
435
395
  /**
436
396
  * Error union returned by the canvas-form thin wrapper. Extends
437
397
  * AssembleAppError with EngineEnvironmentError to surface
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeax/engine-app",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -23,33 +23,32 @@
23
23
  "LICENSE"
24
24
  ],
25
25
  "dependencies": {
26
- "@forgeax/engine-animation": "0.1.3",
27
- "@forgeax/engine-assets-runtime": "0.1.3",
28
- "@forgeax/engine-audio": "0.1.3",
29
- "@forgeax/engine-audio-webaudio": "0.1.3",
30
- "@forgeax/engine-debug-draw": "0.1.3",
31
- "@forgeax/engine-ecs": "0.1.3",
32
- "@forgeax/engine-input": "0.1.3",
33
- "@forgeax/engine-physics": "0.1.3",
34
- "@forgeax/engine-physics-rapier2d": "0.1.3",
35
- "@forgeax/engine-physics-rapier3d": "0.1.3",
36
- "@forgeax/engine-plugin": "0.1.3",
37
- "@forgeax/engine-profiler": "0.1.3",
38
- "@forgeax/engine-render": "0.1.3",
39
- "@forgeax/engine-rhi": "0.1.3",
40
- "@forgeax/engine-runtime": "0.1.3",
41
- "@forgeax/engine-scene": "0.1.3",
42
- "@forgeax/engine-state": "0.1.3",
43
- "@forgeax/engine-tool-runtime": "0.1.3",
44
- "@forgeax/engine-types": "0.1.3"
26
+ "@forgeax/engine-animation": "0.1.6",
27
+ "@forgeax/engine-assets-runtime": "0.1.6",
28
+ "@forgeax/engine-audio": "0.1.6",
29
+ "@forgeax/engine-audio-webaudio": "0.1.6",
30
+ "@forgeax/engine-debug-draw": "0.1.6",
31
+ "@forgeax/engine-ecs": "0.1.6",
32
+ "@forgeax/engine-input": "0.1.6",
33
+ "@forgeax/engine-physics": "0.1.6",
34
+ "@forgeax/engine-physics-rapier2d": "0.1.6",
35
+ "@forgeax/engine-physics-rapier3d": "0.1.6",
36
+ "@forgeax/engine-plugin": "0.1.6",
37
+ "@forgeax/engine-profiler": "0.1.6",
38
+ "@forgeax/engine-render": "0.1.6",
39
+ "@forgeax/engine-rhi": "0.1.6",
40
+ "@forgeax/engine-runtime": "0.1.6",
41
+ "@forgeax/engine-scene": "0.1.6",
42
+ "@forgeax/engine-state": "0.1.6",
43
+ "@forgeax/engine-tool-runtime": "0.1.6",
44
+ "@forgeax/engine-types": "0.1.6"
45
45
  },
46
46
  "devDependencies": {
47
- "@forgeax/engine-geometry": "0.1.3",
48
- "@forgeax/engine-remote": "0.1.3",
49
- "@forgeax/engine-rhi-debug": "0.1.3",
50
- "@forgeax/engine-rhi-null": "0.1.3",
51
- "@forgeax/engine-rhi-webgpu": "0.1.3",
52
- "@forgeax/engine-rhi-wgpu": "0.1.3",
47
+ "@forgeax/engine-remote": "0.1.6",
48
+ "@forgeax/engine-rhi-debug": "0.1.6",
49
+ "@forgeax/engine-rhi-null": "0.1.6",
50
+ "@forgeax/engine-rhi-webgpu": "0.1.6",
51
+ "@forgeax/engine-rhi-wgpu": "0.1.6",
53
52
  "@types/ws": "^8.5.10",
54
53
  "@webgpu/types": "^0.1.71",
55
54
  "ws": "^8.20.0"
@@ -25,8 +25,12 @@ appResult.then((result) => {
25
25
  });
26
26
 
27
27
  createRenderer(canvas).then((created) => {
28
- created.ready.then((ready) => {
29
- if (!ready.ok) return;
30
- void created.draw([world], { cameraOwner: 0, resourceOwner: 0 });
28
+ if (!created.ok) return;
29
+ const attached = created.value.attach(world);
30
+ if (!attached.ok) return;
31
+ void created.value.draw({
32
+ leases: [attached.value],
33
+ camera: { lease: attached.value },
34
+ environment: { lease: attached.value },
31
35
  });
32
36
  });