@eigong/effekseer-webgpu-runtime 0.1.1 → 0.1.3

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.
package/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  `@eigong/effekseer-webgpu-runtime` redistributes the Effekseer WebGPU runtime files needed by browser integrations.
4
4
 
5
+ The package now separates the bridge into:
6
+
7
+ - client bridge: `effekseer.webgpu.js`
8
+ - debug/source bridge: `effekseer.webgpu.src.js`
9
+
5
10
  ## Install
6
11
 
7
12
  ```bash
@@ -13,6 +18,7 @@ npm install @eigong/effekseer-webgpu-runtime
13
18
  - `fflate.umd.js`
14
19
  - `Effekseer_WebGPU_Runtime.js`
15
20
  - `Effekseer_WebGPU_Runtime.wasm`
21
+ - `effekseer.webgpu.js`
16
22
  - `effekseer.webgpu.src.js`
17
23
 
18
24
  ## Usage
@@ -23,10 +29,23 @@ import {
23
29
  effekseerWebgpuRuntimeJsUrl,
24
30
  effekseerWebgpuRuntimeWasmUrl,
25
31
  effekseerWebgpuBridgeUrl,
32
+ effekseerWebgpuDebugBridgeUrl,
26
33
  } from '@eigong/effekseer-webgpu-runtime'
27
34
  ```
28
35
 
29
- Or resolve all four at once:
36
+ The default loader uses the client bridge:
37
+
38
+ ```js
39
+ import { loadEffekseerWebGPURuntime } from '@eigong/effekseer-webgpu-runtime'
40
+ ```
41
+
42
+ Use the debug/source bridge only when you explicitly want it:
43
+
44
+ ```js
45
+ import { loadEffekseerWebGPUDebugRuntime } from '@eigong/effekseer-webgpu-runtime/debug'
46
+ ```
47
+
48
+ Or resolve all runtime URLs at once:
30
49
 
31
50
  ```js
32
51
  import { getEffekseerWebGPURuntimeUrls } from '@eigong/effekseer-webgpu-runtime'
package/debug.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ export declare const effekseerWebgpuDebugBridgeUrl: string
2
+
3
+ export declare function getEffekseerWebGPUDebugRuntimeUrls(): {
4
+ fflateUrl: string
5
+ effekseerWebgpuRuntimeJsUrl: string
6
+ effekseerWebgpuRuntimeWasmUrl: string
7
+ effekseerWebgpuBridgeUrl: string
8
+ }
9
+
10
+ export declare function loadEffekseerWebGPUDebugRuntime(): Promise<any>
package/debug.js ADDED
@@ -0,0 +1,38 @@
1
+ import {
2
+ fflateUrl,
3
+ effekseerWebgpuRuntimeJsUrl,
4
+ effekseerWebgpuRuntimeWasmUrl,
5
+ } from './index.js'
6
+
7
+ export const effekseerWebgpuDebugBridgeUrl = new URL('./runtime/effekseer.webgpu.src.js', import.meta.url).href
8
+
9
+ function loadScript(src) {
10
+ return new Promise((resolve, reject) => {
11
+ const script = document.createElement('script')
12
+ script.src = src
13
+ script.onload = () => resolve()
14
+ script.onerror = reject
15
+ document.head.appendChild(script)
16
+ })
17
+ }
18
+
19
+ export function getEffekseerWebGPUDebugRuntimeUrls() {
20
+ return {
21
+ fflateUrl,
22
+ effekseerWebgpuRuntimeJsUrl,
23
+ effekseerWebgpuRuntimeWasmUrl,
24
+ effekseerWebgpuBridgeUrl: effekseerWebgpuDebugBridgeUrl,
25
+ }
26
+ }
27
+
28
+ export async function loadEffekseerWebGPUDebugRuntime() {
29
+ await loadScript(fflateUrl)
30
+ await loadScript(effekseerWebgpuRuntimeJsUrl)
31
+ await loadScript(effekseerWebgpuDebugBridgeUrl)
32
+
33
+ if (!globalThis.effekseer) {
34
+ throw new Error('Effekseer WebGPU runtime did not initialize.')
35
+ }
36
+
37
+ return globalThis.effekseer
38
+ }
package/index.d.ts CHANGED
@@ -3,4 +3,11 @@ export declare const effekseerWebgpuRuntimeJsUrl: string
3
3
  export declare const effekseerWebgpuRuntimeWasmUrl: string
4
4
  export declare const effekseerWebgpuBridgeUrl: string
5
5
 
6
+ export declare function getEffekseerWebGPURuntimeUrls(): {
7
+ fflateUrl: string
8
+ effekseerWebgpuRuntimeJsUrl: string
9
+ effekseerWebgpuRuntimeWasmUrl: string
10
+ effekseerWebgpuBridgeUrl: string
11
+ }
12
+
6
13
  export declare function loadEffekseerWebGPURuntime(): Promise<any>
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export const fflateUrl = new URL('./runtime/fflate.umd.js', import.meta.url).href
2
2
  export const effekseerWebgpuRuntimeJsUrl = new URL('./runtime/Effekseer_WebGPU_Runtime.js', import.meta.url).href
3
3
  export const effekseerWebgpuRuntimeWasmUrl = new URL('./runtime/Effekseer_WebGPU_Runtime.wasm', import.meta.url).href
4
- export const effekseerWebgpuBridgeUrl = new URL('./runtime/effekseer.webgpu.src.js', import.meta.url).href
4
+ export const effekseerWebgpuBridgeUrl = new URL('./runtime/effekseer.webgpu.js', import.meta.url).href
5
5
 
6
6
  function loadScript(src) {
7
7
  return new Promise((resolve, reject) => {
@@ -13,10 +13,19 @@ function loadScript(src) {
13
13
  })
14
14
  }
15
15
 
16
- export async function loadEffekseerWebGPURuntime() {
16
+ function getRuntimeUrls(bridgeUrl) {
17
+ return {
18
+ fflateUrl,
19
+ effekseerWebgpuRuntimeJsUrl,
20
+ effekseerWebgpuRuntimeWasmUrl,
21
+ effekseerWebgpuBridgeUrl: bridgeUrl,
22
+ }
23
+ }
24
+
25
+ async function loadRuntime(bridgeUrl) {
17
26
  await loadScript(fflateUrl)
18
27
  await loadScript(effekseerWebgpuRuntimeJsUrl)
19
- await loadScript(effekseerWebgpuBridgeUrl)
28
+ await loadScript(bridgeUrl)
20
29
 
21
30
  if (!globalThis.effekseer) {
22
31
  throw new Error('Effekseer WebGPU runtime did not initialize.')
@@ -24,3 +33,11 @@ export async function loadEffekseerWebGPURuntime() {
24
33
 
25
34
  return globalThis.effekseer
26
35
  }
36
+
37
+ export function getEffekseerWebGPURuntimeUrls() {
38
+ return getRuntimeUrls(effekseerWebgpuBridgeUrl)
39
+ }
40
+
41
+ export async function loadEffekseerWebGPURuntime() {
42
+ return loadRuntime(effekseerWebgpuBridgeUrl)
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eigong/effekseer-webgpu-runtime",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Redistributable Effekseer WebGPU runtime assets with MIT license notice",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -11,14 +11,21 @@
11
11
  "types": "./index.d.ts",
12
12
  "import": "./index.js"
13
13
  },
14
+ "./debug": {
15
+ "types": "./debug.d.ts",
16
+ "import": "./debug.js"
17
+ },
14
18
  "./fflate.umd.js": "./runtime/fflate.umd.js",
15
19
  "./Effekseer_WebGPU_Runtime.js": "./runtime/Effekseer_WebGPU_Runtime.js",
16
20
  "./Effekseer_WebGPU_Runtime.wasm": "./runtime/Effekseer_WebGPU_Runtime.wasm",
21
+ "./effekseer.webgpu.js": "./runtime/effekseer.webgpu.js",
17
22
  "./effekseer.webgpu.src.js": "./runtime/effekseer.webgpu.src.js"
18
23
  },
19
24
  "files": [
20
25
  "index.js",
21
26
  "index.d.ts",
27
+ "debug.js",
28
+ "debug.d.ts",
22
29
  "runtime",
23
30
  "README.md",
24
31
  "LICENSE"
@@ -31,6 +38,13 @@
31
38
  ],
32
39
  "license": "MIT",
33
40
  "sideEffects": false,
41
+ "scripts": {
42
+ "build": "npx terser ./runtime/effekseer.webgpu.src.js --compress --mangle --comments false -o ./runtime/effekseer.webgpu.js",
43
+ "prepublishOnly": "npm run build"
44
+ },
45
+ "devDependencies": {
46
+ "terser": "^5.46.1"
47
+ },
34
48
  "publishConfig": {
35
49
  "access": "public"
36
50
  }