{"_id":"@aperture-engine/runtime","_rev":"3-8a4ff2e819f8a344329579cfd44014e2","name":"@aperture-engine/runtime","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@aperture-engine/runtime","version":"0.1.0","keywords":["aperture","ecs","webgpu","game-engine","typescript","runtime","simulation"],"author":{"name":"Felix Zhang"},"license":"MIT","_id":"@aperture-engine/runtime@0.1.0","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/runtime#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"dist":{"shasum":"b95287c68eda8ed8b67739d86e0096fc834797fd","tarball":"https://registry.npmjs.org/@aperture-engine/runtime/-/runtime-0.1.0.tgz","fileCount":39,"integrity":"sha512-0wMFUsNAVXp091jDU/bsjYZdDZyyZ85LasEGGLvNxfBJMufjQKdMZQG+iCELunt+7A8ybbEjUyZD07WKhxKy8w==","signatures":[{"sig":"MEYCIQCZX8FsQoT0BTGJpbVoohsR0yDQ5joZrtBMUGg2lLzasAIhAPalhhiNZrqg2oq3Wz5JxTNZFqkYKG8lGEBOpMJDHdvl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322914},"main":"./dist/index.js","type":"module","_from":"file:aperture-engine-runtime-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/a4e2db88f6db6f101edf7f687b8ae5ce/aperture-engine-runtime-0.1.0.tgz","_integrity":"sha512-0wMFUsNAVXp091jDU/bsjYZdDZyyZ85LasEGGLvNxfBJMufjQKdMZQG+iCELunt+7A8ybbEjUyZD07WKhxKy8w==","repository":{"url":"git+https://github.com/felixtrz/aperture.git","type":"git","directory":"packages/runtime"},"_npmVersion":"11.12.1","description":"Headless simulation and render extraction runtime facade for Aperture.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@aperture-engine/render":"^0.1.0","@aperture-engine/physics":"^0.1.0","@aperture-engine/simulation":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime_0.1.0_1782151625139_0.17941357292395566","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aperture-engine/runtime","version":"0.2.0","keywords":["aperture","ecs","webgpu","game-engine","typescript","runtime","simulation"],"author":{"name":"Felix Zhang"},"license":"MIT","_id":"@aperture-engine/runtime@0.2.0","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/runtime#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"dist":{"shasum":"4fdea5fb23d525bf6d554cd86d10b3cd2ff0a75e","tarball":"https://registry.npmjs.org/@aperture-engine/runtime/-/runtime-0.2.0.tgz","fileCount":39,"integrity":"sha512-Floq1d5Oy5nWV2YbJsG/GdN1/h0BXR48k+ymTDLSQQTTRjZMKIdRz0O8rkdVt3x0lsKQ/MN22qWG0z8GNS14Ng==","signatures":[{"sig":"MEUCIQCAQ5i8lIBxkRsqlodSRSkg+hFibHLAOxeG6DKbib81hgIgds6zOBP9WoCGxJ4pJq3zM47iHeXFzpq2NugY2chgiBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324366},"main":"./dist/index.js","type":"module","_from":"file:aperture-engine-runtime-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/e4043834986373a3de9463173bf49254/aperture-engine-runtime-0.2.0.tgz","_integrity":"sha512-Floq1d5Oy5nWV2YbJsG/GdN1/h0BXR48k+ymTDLSQQTTRjZMKIdRz0O8rkdVt3x0lsKQ/MN22qWG0z8GNS14Ng==","repository":{"url":"git+https://github.com/felixtrz/aperture.git","type":"git","directory":"packages/runtime"},"_npmVersion":"11.12.1","description":"Headless simulation and render extraction runtime facade for Aperture.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@aperture-engine/render":"^0.2.0","@aperture-engine/physics":"^0.2.0","@aperture-engine/simulation":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/runtime_0.2.0_1782246150776_0.02476464282884905","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aperture-engine/runtime","version":"0.3.0","description":"Headless simulation and render extraction runtime facade for Aperture.","author":{"name":"Felix Zhang"},"repository":{"type":"git","url":"git+https://github.com/felixtrz/aperture.git","directory":"packages/runtime"},"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/runtime#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"keywords":["aperture","ecs","webgpu","game-engine","typescript","runtime","simulation"],"type":"module","license":"MIT","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"main":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"dependencies":{"@aperture-engine/particles":"^0.3.0","@aperture-engine/physics":"^0.3.0","@aperture-engine/simulation":"^0.3.0","@aperture-engine/render":"^0.3.0"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_id":"@aperture-engine/runtime@0.3.0","_integrity":"sha512-ybRAANRgqdoTZJsO1w3DqZX6mi5HcqLWResfkNF/kBoqBFbyp47tjMfB6YWynYwQzIYsgb/S7CCIl2rRbeTeZg==","_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/7811c25e3b58d64ed809ff9995e0a5f9/aperture-engine-runtime-0.3.0.tgz","_from":"file:aperture-engine-runtime-0.3.0.tgz","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-ybRAANRgqdoTZJsO1w3DqZX6mi5HcqLWResfkNF/kBoqBFbyp47tjMfB6YWynYwQzIYsgb/S7CCIl2rRbeTeZg==","shasum":"42a4eab309a749eb971ce4f4e8e3f1e78104cf6b","tarball":"https://registry.npmjs.org/@aperture-engine/runtime/-/runtime-0.3.0.tgz","fileCount":39,"unpackedSize":335629,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCjju1K3Bmc7yEiSpBymGHKQ0dGGDO595iI7Y6FdCtkuwIgWU4zK5vPBPnHL9tdGPGjYuMD4CoZB03cWGDiM/JaNNg="}]},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"directories":{},"maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/runtime_0.3.0_1783122758048_0.9872953361935415"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T18:07:04.951Z","modified":"2026-07-03T23:52:38.302Z","0.1.0":"2026-06-22T18:07:05.278Z","0.2.0":"2026-06-23T20:22:30.924Z","0.3.0":"2026-07-03T23:52:38.190Z"},"bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"author":{"name":"Felix Zhang"},"license":"MIT","homepage":"https://github.com/felixtrz/aperture/tree/main/packages/runtime#readme","keywords":["aperture","ecs","webgpu","game-engine","typescript","runtime","simulation"],"repository":{"type":"git","url":"git+https://github.com/felixtrz/aperture.git","directory":"packages/runtime"},"description":"Headless simulation and render extraction runtime facade for Aperture.","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"readme":"# @aperture-engine/runtime\n\nThe umbrella runtime for the Aperture WebGPU game engine: app factories, spawn helpers, and the simulation-worker seam that ties the ECS, render, and physics packages together.\n\n## Install\n\n```sh\npnpm add @aperture-engine/runtime\n```\n\nThis package is part of the [Aperture](https://github.com/felixtrz/aperture) engine. It re-exports and composes the `@aperture-engine/simulation`, `@aperture-engine/render`, and `@aperture-engine/physics` packages, so it is normally used alongside the other `@aperture-engine/*` packages.\n\n## What it does\n\n`@aperture-engine/runtime` provides a small facade over the Aperture ECS. `createSimulationApp` builds an app with transform, metadata, and runtime components registered and a fixed-step schedule wired up; `createExtractionApp` adds render-authoring components and an `extract()`/`stepAndExtract()` path that produces a `RenderSnapshot` for the renderer. Entities are assembled from composable `with*` initializers (transform, mesh, material, camera, light, physics, UI, audio, animation, and more), and the package also exposes the simulation-worker transport, animation mixing/blending, skinning palettes, and a sample `Spin` component/system.\n\n## Usage\n\n```ts\nimport {\n  createExtractionApp,\n  withTransform,\n  withMesh,\n  withMaterial,\n  withCamera,\n  withSpin,\n} from \"@aperture-engine/runtime\";\n\nconst app = createExtractionApp();\n\n// Spawn an entity from composable initializers.\napp.spawn(\n  withTransform({ translation: [0, 0, 0] }),\n  withMesh(meshHandle),\n  withMaterial(materialHandle),\n  withSpin({ radiansPerSecond: 1 }),\n);\n\napp.spawn(withCamera(), withTransform({ translation: [0, 0, 5] }));\n\n// Advance the simulation and extract a render snapshot for the frame.\nconst snapshot = app.stepAndExtract(1 / 60, performance.now() / 1000, 0);\n```\n\n`createSimulationApp` returns a headless `SimulationApp` (no extraction) if you only need to drive the ECS and fixed-step tasks.\n\n## Entry points\n\n| Subpath                    | Description                                                                                                                                                                                        |\n| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `@aperture-engine/runtime` | The full runtime surface: app factories, `with*` spawn helpers, fixed-step schedule, animation mixer/blending, skinning palettes, simulation-worker transport, and re-exported physics components. |\n\n## License\n\nPart of the [Aperture monorepo](https://github.com/felixtrz/aperture). MIT licensed.\n","readmeFilename":"README.md"}