{"_id":"@aoles-gl/core","name":"@aoles-gl/core","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aoles-gl/core","version":"0.1.0","description":"Framework-agnostic core engine for Aoles GL video editor","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"},"./wasm/*":"./src/wasm/*"},"publishConfig":{"access":"public"},"keywords":["video-editor","webgl","wasm","core"],"author":{"name":"laoleshisui"},"homepage":"https://www.pixoclip.com","bugs":{"url":"https://github.com/laoleshisui/aoles-gl-vue-demo/issues"},"license":"SEE LICENSE IN LICENSE","dependencies":{"lodash-es":"^4.17.0","spark-md5":"^3.0.0","zod":"^3.0.0 || ^4.0.0"},"devDependencies":{"@types/lodash-es":"^4.17.6","@types/spark-md5":"^3.0.4","typescript":"~5.3.0","vite":"^5.0.0","vite-plugin-dts":"^3.7.0","vitest":"^1.0.0"},"scripts":{"dev":"vite build --watch","build":"vite build","test":"vitest"},"_id":"@aoles-gl/core@0.1.0","_integrity":"sha512-oCEyiUilHVJYXR1PRZLgih7zRQjaupXvPTzJCdjkXQ9vS1vatmFQ+cmzy6Wo4Cq2BqS+4JNpab181PRcHaOwfw==","_resolved":"/Users/yangxian/dev/aoles-gl-web-package/artifacts/release/aoles-gl-core-0.1.0.tgz","_from":"file:artifacts/release/aoles-gl-core-0.1.0.tgz","_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-oCEyiUilHVJYXR1PRZLgih7zRQjaupXvPTzJCdjkXQ9vS1vatmFQ+cmzy6Wo4Cq2BqS+4JNpab181PRcHaOwfw==","shasum":"40e8aef9abe1147d510d0df6334ae9c1d79417a5","tarball":"https://registry.npmjs.org/@aoles-gl/core/-/core-0.1.0.tgz","fileCount":8,"unpackedSize":17660885,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCKFt9OEtL3UTl0YntEHVcSKkI4TwkV5yrRI+6C5uisiAIhALpXLCe8ORsBJSWnzfulhUR3eYZCUplqjNcWR9pIz+4S"}]},"_npmUser":{"name":"laoleshisui","email":"1539807453@qq.com"},"directories":{},"maintainers":[{"name":"laoleshisui","email":"1539807453@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.1.0_1786277403794_0.8959753930666912"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-09T12:10:03.572Z","0.1.0":"2026-08-09T12:10:04.050Z","modified":"2026-08-09T12:10:04.240Z"},"maintainers":[{"name":"laoleshisui","email":"1539807453@qq.com"}],"description":"Framework-agnostic core engine for Aoles GL video editor","homepage":"https://www.pixoclip.com","keywords":["video-editor","webgl","wasm","core"],"author":{"name":"laoleshisui"},"bugs":{"url":"https://github.com/laoleshisui/aoles-gl-vue-demo/issues"},"license":"SEE LICENSE IN LICENSE","readme":"# @aoles-gl/core\n\nFramework-agnostic core engine for Aoles GL video editor.\n\nThis package contains:\n- WASM Engine management\n- Track classes (Video, Audio, Text, Image)\n- State management (TrackStateManager)\n- Utilities (font, effects, material types)\n- Configuration management\n\n## Installation\n\n```bash\nnpm install @aoles-gl/core\n```\n\n## WASM Setup\n\nThe engine requires two WASM files at runtime. Use Vite's `?url` import to let\nthe bundler handle them automatically — no manual copying needed:\n\n```typescript\nimport controllerJs   from '@aoles-gl/core/wasm/GLController.mjs?url'\nimport controllerWasm from '@aoles-gl/core/wasm/GLController.wasm?url'\n\nengine.configure({ jsPath: controllerJs, wasmPath: controllerWasm })\n```\n\nVite will copy the files to `dist/assets/` and return the correct URL at build time.\n\n> **Note:** The page must be served with these HTTP headers (required for\n> `SharedArrayBuffer` / multi-threaded WASM):\n> ```\n> Cross-Origin-Opener-Policy: same-origin\n> Cross-Origin-Embedder-Policy: require-corp\n> ```\n\n## Usage\n\n```typescript\nimport { Engine, TrackStateManager } from '@aoles-gl/core';\nimport controllerJs   from '@aoles-gl/core/wasm/GLController.mjs?url'\nimport controllerWasm from '@aoles-gl/core/wasm/GLController.wasm?url'\n\n// 1. Create engine with output resolution and frame rate\nconst engine = new Engine(undefined, undefined, {\n  width: 1920,\n  height: 1080,\n  fps: 30,\n});\n\n// 2. Set WASM paths\nengine.configure({ jsPath: controllerJs, wasmPath: controllerWasm });\n\n// 3. (Optional) Set static asset base paths\nengine.configAssetPath({\n  fontPath:  '/fonts/',   // custom font files\n  imagePath: '/image/',   // image/texture files\n  glslPath:  '/glsl/',    // custom GLSL shader files\n});\n\n// 4. Run logic after WASM is ready\nengine.onWasmReady(async () => {\n  console.log('Engine ready');\n});\n\n// Create state manager\nconst trackState = new TrackStateManager();\n\n// Subscribe to state changes\ntrackState.subscribe((state) => {\n  console.log('State updated:', state);\n});\n```\n\n## For Framework Adapters\n\nThis package is designed to be wrapped by framework-specific adapters:\n- `@aoles-gl/vue` — Vue 3 adapter\n- `@aoles-gl/react` — React adapter\n\nSee the respective packages for framework-specific usage.\n\n## Product and Examples\n\n- Product website: [PixoClip](https://www.pixoclip.com)\n- Vue example and issues: [aoles-gl-vue-demo](https://github.com/laoleshisui/aoles-gl-vue-demo)\n- React example and issues: [aoles-gl-react-demo](https://github.com/laoleshisui/aoles-gl-react-demo)\n\n## License\n\nAoles GL is proprietary software, not open-source software. Evaluation and\nnon-production development are permitted under the\n[Aoles GL SDK License Agreement](./LICENSE). Production use, public deployment,\nand commercial use require a valid commercial license from Aoles GL.\n","readmeFilename":"README.md","_rev":"1-f87da1c1ce305489fa8a4c6a82134cd3"}