@motion-core/motion-gpu 0.4.1 → 0.4.2
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/dist/advanced.d.ts +1 -0
- package/dist/advanced.d.ts.map +1 -0
- package/dist/advanced.js +12 -6
- package/dist/core/advanced.d.ts +1 -0
- package/dist/core/advanced.d.ts.map +1 -0
- package/dist/core/advanced.js +12 -5
- package/dist/core/current-value.d.ts +1 -0
- package/dist/core/current-value.d.ts.map +1 -0
- package/dist/core/current-value.js +35 -34
- package/dist/core/current-value.js.map +1 -0
- package/dist/core/error-diagnostics.d.ts +1 -0
- package/dist/core/error-diagnostics.d.ts.map +1 -0
- package/dist/core/error-diagnostics.js +70 -137
- package/dist/core/error-diagnostics.js.map +1 -0
- package/dist/core/error-report.d.ts +1 -0
- package/dist/core/error-report.d.ts.map +1 -0
- package/dist/core/error-report.js +184 -233
- package/dist/core/error-report.js.map +1 -0
- package/dist/core/frame-registry.d.ts +1 -0
- package/dist/core/frame-registry.d.ts.map +1 -0
- package/dist/core/frame-registry.js +546 -662
- package/dist/core/frame-registry.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +11 -12
- package/dist/core/material-preprocess.d.ts +1 -0
- package/dist/core/material-preprocess.d.ts.map +1 -0
- package/dist/core/material-preprocess.js +128 -151
- package/dist/core/material-preprocess.js.map +1 -0
- package/dist/core/material.d.ts +1 -0
- package/dist/core/material.d.ts.map +1 -0
- package/dist/core/material.js +263 -317
- package/dist/core/material.js.map +1 -0
- package/dist/core/recompile-policy.d.ts +1 -0
- package/dist/core/recompile-policy.d.ts.map +1 -0
- package/dist/core/recompile-policy.js +18 -13
- package/dist/core/recompile-policy.js.map +1 -0
- package/dist/core/render-graph.d.ts +1 -0
- package/dist/core/render-graph.d.ts.map +1 -0
- package/dist/core/render-graph.js +61 -68
- package/dist/core/render-graph.js.map +1 -0
- package/dist/core/render-targets.d.ts +1 -0
- package/dist/core/render-targets.d.ts.map +1 -0
- package/dist/core/render-targets.js +52 -53
- package/dist/core/render-targets.js.map +1 -0
- package/dist/core/renderer.d.ts +1 -0
- package/dist/core/renderer.d.ts.map +1 -0
- package/dist/core/renderer.js +942 -1081
- package/dist/core/renderer.js.map +1 -0
- package/dist/core/runtime-loop.d.ts +1 -0
- package/dist/core/runtime-loop.d.ts.map +1 -0
- package/dist/core/runtime-loop.js +305 -362
- package/dist/core/runtime-loop.js.map +1 -0
- package/dist/core/scheduler-helpers.d.ts +1 -0
- package/dist/core/scheduler-helpers.d.ts.map +1 -0
- package/dist/core/scheduler-helpers.js +52 -51
- package/dist/core/scheduler-helpers.js.map +1 -0
- package/dist/core/shader.d.ts +1 -0
- package/dist/core/shader.d.ts.map +1 -0
- package/dist/core/shader.js +92 -117
- package/dist/core/shader.js.map +1 -0
- package/dist/core/texture-loader.d.ts +1 -0
- package/dist/core/texture-loader.d.ts.map +1 -0
- package/dist/core/texture-loader.js +205 -273
- package/dist/core/texture-loader.js.map +1 -0
- package/dist/core/textures.d.ts +1 -0
- package/dist/core/textures.d.ts.map +1 -0
- package/dist/core/textures.js +106 -116
- package/dist/core/textures.js.map +1 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +0 -4
- package/dist/core/uniforms.d.ts +1 -0
- package/dist/core/uniforms.d.ts.map +1 -0
- package/dist/core/uniforms.js +170 -191
- package/dist/core/uniforms.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -6
- package/dist/passes/BlitPass.d.ts +1 -0
- package/dist/passes/BlitPass.d.ts.map +1 -0
- package/dist/passes/BlitPass.js +23 -18
- package/dist/passes/BlitPass.js.map +1 -0
- package/dist/passes/CopyPass.d.ts +1 -0
- package/dist/passes/CopyPass.d.ts.map +1 -0
- package/dist/passes/CopyPass.js +58 -52
- package/dist/passes/CopyPass.js.map +1 -0
- package/dist/passes/FullscreenPass.d.ts +1 -0
- package/dist/passes/FullscreenPass.d.ts.map +1 -0
- package/dist/passes/FullscreenPass.js +127 -130
- package/dist/passes/FullscreenPass.js.map +1 -0
- package/dist/passes/ShaderPass.d.ts +1 -0
- package/dist/passes/ShaderPass.d.ts.map +1 -0
- package/dist/passes/ShaderPass.js +40 -37
- package/dist/passes/ShaderPass.js.map +1 -0
- package/dist/passes/index.d.ts +1 -0
- package/dist/passes/index.d.ts.map +1 -0
- package/dist/passes/index.js +4 -3
- package/dist/react/FragCanvas.d.ts +1 -0
- package/dist/react/FragCanvas.d.ts.map +1 -0
- package/dist/react/FragCanvas.js +234 -211
- package/dist/react/FragCanvas.js.map +1 -0
- package/dist/react/MotionGPUErrorOverlay.d.ts +1 -0
- package/dist/react/MotionGPUErrorOverlay.d.ts.map +1 -0
- package/dist/react/MotionGPUErrorOverlay.js +96 -13
- package/dist/react/MotionGPUErrorOverlay.js.map +1 -0
- package/dist/react/Portal.d.ts +1 -0
- package/dist/react/Portal.d.ts.map +1 -0
- package/dist/react/Portal.js +18 -21
- package/dist/react/Portal.js.map +1 -0
- package/dist/react/advanced.d.ts +1 -0
- package/dist/react/advanced.d.ts.map +1 -0
- package/dist/react/advanced.js +12 -6
- package/dist/react/frame-context.d.ts +1 -0
- package/dist/react/frame-context.d.ts.map +1 -0
- package/dist/react/frame-context.js +88 -94
- package/dist/react/frame-context.js.map +1 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +10 -9
- package/dist/react/motiongpu-context.d.ts +1 -0
- package/dist/react/motiongpu-context.d.ts.map +1 -0
- package/dist/react/motiongpu-context.js +18 -15
- package/dist/react/motiongpu-context.js.map +1 -0
- package/dist/react/use-motiongpu-user-context.d.ts +1 -0
- package/dist/react/use-motiongpu-user-context.d.ts.map +1 -0
- package/dist/react/use-motiongpu-user-context.js +83 -82
- package/dist/react/use-motiongpu-user-context.js.map +1 -0
- package/dist/react/use-texture.d.ts +1 -0
- package/dist/react/use-texture.d.ts.map +1 -0
- package/dist/react/use-texture.js +132 -152
- package/dist/react/use-texture.js.map +1 -0
- package/dist/svelte/FragCanvas.svelte.d.ts +1 -0
- package/dist/svelte/FragCanvas.svelte.d.ts.map +1 -0
- package/dist/svelte/MotionGPUErrorOverlay.svelte.d.ts +1 -0
- package/dist/svelte/MotionGPUErrorOverlay.svelte.d.ts.map +1 -0
- package/dist/svelte/Portal.svelte.d.ts +1 -0
- package/dist/svelte/Portal.svelte.d.ts.map +1 -0
- package/dist/svelte/advanced.d.ts +1 -0
- package/dist/svelte/advanced.d.ts.map +1 -0
- package/dist/svelte/advanced.js +11 -6
- package/dist/svelte/frame-context.d.ts +1 -0
- package/dist/svelte/frame-context.d.ts.map +1 -0
- package/dist/svelte/frame-context.js +27 -27
- package/dist/svelte/frame-context.js.map +1 -0
- package/dist/svelte/index.d.ts +1 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +10 -9
- package/dist/svelte/motiongpu-context.d.ts +1 -0
- package/dist/svelte/motiongpu-context.d.ts.map +1 -0
- package/dist/svelte/motiongpu-context.js +24 -21
- package/dist/svelte/motiongpu-context.js.map +1 -0
- package/dist/svelte/use-motiongpu-user-context.d.ts +1 -0
- package/dist/svelte/use-motiongpu-user-context.d.ts.map +1 -0
- package/dist/svelte/use-motiongpu-user-context.js +69 -70
- package/dist/svelte/use-motiongpu-user-context.js.map +1 -0
- package/dist/svelte/use-texture.d.ts +1 -0
- package/dist/svelte/use-texture.d.ts.map +1 -0
- package/dist/svelte/use-texture.js +125 -147
- package/dist/svelte/use-texture.js.map +1 -0
- package/package.json +12 -7
- package/src/lib/advanced.ts +6 -0
- package/src/lib/core/advanced.ts +12 -0
- package/src/lib/core/current-value.ts +64 -0
- package/src/lib/core/error-diagnostics.ts +236 -0
- package/src/lib/core/error-report.ts +406 -0
- package/src/lib/core/frame-registry.ts +1189 -0
- package/src/lib/core/index.ts +77 -0
- package/src/lib/core/material-preprocess.ts +284 -0
- package/src/lib/core/material.ts +667 -0
- package/src/lib/core/recompile-policy.ts +31 -0
- package/src/lib/core/render-graph.ts +143 -0
- package/src/lib/core/render-targets.ts +107 -0
- package/src/lib/core/renderer.ts +1547 -0
- package/src/lib/core/runtime-loop.ts +458 -0
- package/src/lib/core/scheduler-helpers.ts +136 -0
- package/src/lib/core/shader.ts +258 -0
- package/src/lib/core/texture-loader.ts +476 -0
- package/src/lib/core/textures.ts +235 -0
- package/src/lib/core/types.ts +582 -0
- package/src/lib/core/uniforms.ts +282 -0
- package/src/lib/index.ts +6 -0
- package/src/lib/passes/BlitPass.ts +54 -0
- package/src/lib/passes/CopyPass.ts +80 -0
- package/src/lib/passes/FullscreenPass.ts +173 -0
- package/src/lib/passes/ShaderPass.ts +88 -0
- package/src/lib/passes/index.ts +3 -0
- package/src/lib/react/FragCanvas.tsx +345 -0
- package/src/lib/react/MotionGPUErrorOverlay.tsx +392 -0
- package/src/lib/react/Portal.tsx +34 -0
- package/src/lib/react/advanced.ts +36 -0
- package/src/lib/react/frame-context.ts +169 -0
- package/src/lib/react/index.ts +51 -0
- package/src/lib/react/motiongpu-context.ts +88 -0
- package/src/lib/react/use-motiongpu-user-context.ts +186 -0
- package/src/lib/react/use-texture.ts +233 -0
- package/src/lib/svelte/FragCanvas.svelte +249 -0
- package/src/lib/svelte/MotionGPUErrorOverlay.svelte +382 -0
- package/src/lib/svelte/Portal.svelte +31 -0
- package/src/lib/svelte/advanced.ts +32 -0
- package/src/lib/svelte/frame-context.ts +87 -0
- package/src/lib/svelte/index.ts +51 -0
- package/src/lib/svelte/motiongpu-context.ts +97 -0
- package/src/lib/svelte/use-motiongpu-user-context.ts +145 -0
- package/src/lib/svelte/use-texture.ts +232 -0
package/dist/core/textures.js
CHANGED
|
@@ -1,136 +1,126 @@
|
|
|
1
|
-
import { assertUniformName } from
|
|
1
|
+
import { assertUniformName } from "./uniforms.js";
|
|
2
|
+
//#region src/lib/core/textures.ts
|
|
2
3
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
* Default sampling filter for textures when no explicit value is provided.
|
|
5
|
+
*/
|
|
6
|
+
var DEFAULT_TEXTURE_FILTER = "linear";
|
|
6
7
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
* Default addressing mode for textures when no explicit value is provided.
|
|
9
|
+
*/
|
|
10
|
+
var DEFAULT_TEXTURE_ADDRESS_MODE = "clamp-to-edge";
|
|
10
11
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
return keys;
|
|
12
|
+
* Validates and returns sorted texture keys.
|
|
13
|
+
*
|
|
14
|
+
* @param textures - Texture definition map.
|
|
15
|
+
* @returns Lexicographically sorted texture keys.
|
|
16
|
+
*/
|
|
17
|
+
function resolveTextureKeys(textures) {
|
|
18
|
+
const keys = Object.keys(textures).sort();
|
|
19
|
+
for (const key of keys) assertUniformName(key);
|
|
20
|
+
return keys;
|
|
22
21
|
}
|
|
23
22
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
return normalized;
|
|
23
|
+
* Applies defaults and clamps to a single texture definition.
|
|
24
|
+
*
|
|
25
|
+
* @param definition - Optional texture definition.
|
|
26
|
+
* @returns Normalized definition with deterministic defaults.
|
|
27
|
+
*/
|
|
28
|
+
function normalizeTextureDefinition(definition) {
|
|
29
|
+
const normalized = {
|
|
30
|
+
source: definition?.source ?? null,
|
|
31
|
+
colorSpace: definition?.colorSpace ?? "srgb",
|
|
32
|
+
format: definition?.colorSpace === "linear" ? "rgba8unorm" : "rgba8unorm-srgb",
|
|
33
|
+
flipY: definition?.flipY ?? true,
|
|
34
|
+
generateMipmaps: definition?.generateMipmaps ?? false,
|
|
35
|
+
premultipliedAlpha: definition?.premultipliedAlpha ?? false,
|
|
36
|
+
anisotropy: Math.max(1, Math.min(16, Math.floor(definition?.anisotropy ?? 1))),
|
|
37
|
+
filter: definition?.filter ?? DEFAULT_TEXTURE_FILTER,
|
|
38
|
+
addressModeU: definition?.addressModeU ?? DEFAULT_TEXTURE_ADDRESS_MODE,
|
|
39
|
+
addressModeV: definition?.addressModeV ?? DEFAULT_TEXTURE_ADDRESS_MODE
|
|
40
|
+
};
|
|
41
|
+
if (definition?.update !== void 0) normalized.update = definition.update;
|
|
42
|
+
return normalized;
|
|
46
43
|
}
|
|
47
44
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return out;
|
|
45
|
+
* Normalizes all texture definitions for already-resolved texture keys.
|
|
46
|
+
*
|
|
47
|
+
* @param textures - Source texture definitions.
|
|
48
|
+
* @param textureKeys - Texture keys to normalize.
|
|
49
|
+
* @returns Normalized map keyed by `textureKeys`.
|
|
50
|
+
*/
|
|
51
|
+
function normalizeTextureDefinitions(textures, textureKeys) {
|
|
52
|
+
const out = {};
|
|
53
|
+
for (const key of textureKeys) out[key] = normalizeTextureDefinition(textures[key]);
|
|
54
|
+
return out;
|
|
60
55
|
}
|
|
61
56
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
* Checks whether a texture value is a structured `{ source, width?, height? }` object.
|
|
58
|
+
*/
|
|
59
|
+
function isTextureData(value) {
|
|
60
|
+
return typeof value === "object" && value !== null && "source" in value;
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (isTextureData(value)) {
|
|
78
|
-
return value;
|
|
79
|
-
}
|
|
80
|
-
return { source: value };
|
|
63
|
+
* Converts supported texture input variants to normalized `TextureData`.
|
|
64
|
+
*
|
|
65
|
+
* @param value - Texture value input.
|
|
66
|
+
* @returns Structured texture data or `null`.
|
|
67
|
+
*/
|
|
68
|
+
function toTextureData(value) {
|
|
69
|
+
if (value === null) return null;
|
|
70
|
+
if (isTextureData(value)) return value;
|
|
71
|
+
return { source: value };
|
|
81
72
|
}
|
|
82
73
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return input.defaultMode;
|
|
91
|
-
}
|
|
92
|
-
if (isVideoTextureSource(input.source)) {
|
|
93
|
-
return 'perFrame';
|
|
94
|
-
}
|
|
95
|
-
return 'once';
|
|
74
|
+
* Resolves effective runtime texture update strategy.
|
|
75
|
+
*/
|
|
76
|
+
function resolveTextureUpdateMode(input) {
|
|
77
|
+
if (input.override) return input.override;
|
|
78
|
+
if (input.defaultMode) return input.defaultMode;
|
|
79
|
+
if (isVideoTextureSource(input.source)) return "perFrame";
|
|
80
|
+
return "once";
|
|
96
81
|
}
|
|
97
82
|
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
83
|
+
* Resolves texture dimensions from explicit values or source metadata.
|
|
84
|
+
*
|
|
85
|
+
* @param data - Texture payload.
|
|
86
|
+
* @returns Positive integer width/height.
|
|
87
|
+
* @throws {Error} When dimensions cannot be resolved to positive values.
|
|
88
|
+
*/
|
|
89
|
+
function resolveTextureSize(data) {
|
|
90
|
+
const source = data.source;
|
|
91
|
+
const width = data.width ?? source.naturalWidth ?? source.videoWidth ?? source.width ?? 0;
|
|
92
|
+
const height = data.height ?? source.naturalHeight ?? source.videoHeight ?? source.height ?? 0;
|
|
93
|
+
if (width <= 0 || height <= 0) throw new Error("Texture source must have positive width and height");
|
|
94
|
+
return {
|
|
95
|
+
width,
|
|
96
|
+
height
|
|
97
|
+
};
|
|
112
98
|
}
|
|
113
99
|
/**
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
100
|
+
* Computes the number of mipmap levels for a base texture size.
|
|
101
|
+
*
|
|
102
|
+
* @param width - Base width.
|
|
103
|
+
* @param height - Base height.
|
|
104
|
+
* @returns Total mip level count (minimum `1`).
|
|
105
|
+
*/
|
|
106
|
+
function getTextureMipLevelCount(width, height) {
|
|
107
|
+
let levels = 1;
|
|
108
|
+
let currentWidth = Math.max(1, width);
|
|
109
|
+
let currentHeight = Math.max(1, height);
|
|
110
|
+
while (currentWidth > 1 || currentHeight > 1) {
|
|
111
|
+
currentWidth = Math.max(1, Math.floor(currentWidth / 2));
|
|
112
|
+
currentHeight = Math.max(1, Math.floor(currentHeight / 2));
|
|
113
|
+
levels += 1;
|
|
114
|
+
}
|
|
115
|
+
return levels;
|
|
130
116
|
}
|
|
131
117
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
118
|
+
* Checks whether the source is an `HTMLVideoElement`.
|
|
119
|
+
*/
|
|
120
|
+
function isVideoTextureSource(source) {
|
|
121
|
+
return typeof HTMLVideoElement !== "undefined" && source instanceof HTMLVideoElement;
|
|
136
122
|
}
|
|
123
|
+
//#endregion
|
|
124
|
+
export { getTextureMipLevelCount, isTextureData, isVideoTextureSource, normalizeTextureDefinition, normalizeTextureDefinitions, resolveTextureKeys, resolveTextureSize, resolveTextureUpdateMode, toTextureData };
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=textures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textures.js","names":[],"sources":["../../src/lib/core/textures.ts"],"sourcesContent":["import { assertUniformName } from './uniforms.js';\nimport type {\n\tTextureData,\n\tTextureDefinition,\n\tTextureDefinitionMap,\n\tTextureUpdateMode,\n\tTextureValue\n} from './types.js';\n\n/**\n * Texture definition with defaults and normalized numeric limits applied.\n */\nexport interface NormalizedTextureDefinition {\n\t/**\n\t * Normalized source value.\n\t */\n\tsource: TextureValue;\n\t/**\n\t * Effective color space.\n\t */\n\tcolorSpace: 'srgb' | 'linear';\n\t/**\n\t * Effective texture format.\n\t */\n\tformat: GPUTextureFormat;\n\t/**\n\t * Effective flip-y flag.\n\t */\n\tflipY: boolean;\n\t/**\n\t * Effective mipmap toggle.\n\t */\n\tgenerateMipmaps: boolean;\n\t/**\n\t * Effective premultiplied-alpha flag.\n\t */\n\tpremultipliedAlpha: boolean;\n\t/**\n\t * Effective dynamic update strategy.\n\t */\n\tupdate?: TextureUpdateMode;\n\t/**\n\t * Effective anisotropy level.\n\t */\n\tanisotropy: number;\n\t/**\n\t * Effective filter mode.\n\t */\n\tfilter: GPUFilterMode;\n\t/**\n\t * Effective U address mode.\n\t */\n\taddressModeU: GPUAddressMode;\n\t/**\n\t * Effective V address mode.\n\t */\n\taddressModeV: GPUAddressMode;\n}\n\n/**\n * Default sampling filter for textures when no explicit value is provided.\n */\nconst DEFAULT_TEXTURE_FILTER: GPUFilterMode = 'linear';\n\n/**\n * Default addressing mode for textures when no explicit value is provided.\n */\nconst DEFAULT_TEXTURE_ADDRESS_MODE: GPUAddressMode = 'clamp-to-edge';\n\n/**\n * Validates and returns sorted texture keys.\n *\n * @param textures - Texture definition map.\n * @returns Lexicographically sorted texture keys.\n */\nexport function resolveTextureKeys(textures: TextureDefinitionMap): string[] {\n\tconst keys = Object.keys(textures).sort();\n\tfor (const key of keys) {\n\t\tassertUniformName(key);\n\t}\n\treturn keys;\n}\n\n/**\n * Applies defaults and clamps to a single texture definition.\n *\n * @param definition - Optional texture definition.\n * @returns Normalized definition with deterministic defaults.\n */\nexport function normalizeTextureDefinition(\n\tdefinition: TextureDefinition | undefined\n): NormalizedTextureDefinition {\n\tconst normalized: NormalizedTextureDefinition = {\n\t\tsource: definition?.source ?? null,\n\t\tcolorSpace: definition?.colorSpace ?? 'srgb',\n\t\tformat: definition?.colorSpace === 'linear' ? 'rgba8unorm' : 'rgba8unorm-srgb',\n\t\tflipY: definition?.flipY ?? true,\n\t\tgenerateMipmaps: definition?.generateMipmaps ?? false,\n\t\tpremultipliedAlpha: definition?.premultipliedAlpha ?? false,\n\t\tanisotropy: Math.max(1, Math.min(16, Math.floor(definition?.anisotropy ?? 1))),\n\t\tfilter: definition?.filter ?? DEFAULT_TEXTURE_FILTER,\n\t\taddressModeU: definition?.addressModeU ?? DEFAULT_TEXTURE_ADDRESS_MODE,\n\t\taddressModeV: definition?.addressModeV ?? DEFAULT_TEXTURE_ADDRESS_MODE\n\t};\n\n\tif (definition?.update !== undefined) {\n\t\tnormalized.update = definition.update;\n\t}\n\n\treturn normalized;\n}\n\n/**\n * Normalizes all texture definitions for already-resolved texture keys.\n *\n * @param textures - Source texture definitions.\n * @param textureKeys - Texture keys to normalize.\n * @returns Normalized map keyed by `textureKeys`.\n */\nexport function normalizeTextureDefinitions(\n\ttextures: TextureDefinitionMap,\n\ttextureKeys: string[]\n): Record<string, NormalizedTextureDefinition> {\n\tconst out: Record<string, NormalizedTextureDefinition> = {};\n\tfor (const key of textureKeys) {\n\t\tout[key] = normalizeTextureDefinition(textures[key]);\n\t}\n\treturn out;\n}\n\n/**\n * Checks whether a texture value is a structured `{ source, width?, height? }` object.\n */\nexport function isTextureData(value: TextureValue): value is TextureData {\n\treturn typeof value === 'object' && value !== null && 'source' in value;\n}\n\n/**\n * Converts supported texture input variants to normalized `TextureData`.\n *\n * @param value - Texture value input.\n * @returns Structured texture data or `null`.\n */\nexport function toTextureData(value: TextureValue): TextureData | null {\n\tif (value === null) {\n\t\treturn null;\n\t}\n\n\tif (isTextureData(value)) {\n\t\treturn value;\n\t}\n\n\treturn { source: value };\n}\n\n/**\n * Resolves effective runtime texture update strategy.\n */\nexport function resolveTextureUpdateMode(input: {\n\tsource: TextureData['source'];\n\toverride?: TextureUpdateMode;\n\tdefaultMode?: TextureUpdateMode;\n}): TextureUpdateMode {\n\tif (input.override) {\n\t\treturn input.override;\n\t}\n\n\tif (input.defaultMode) {\n\t\treturn input.defaultMode;\n\t}\n\n\tif (isVideoTextureSource(input.source)) {\n\t\treturn 'perFrame';\n\t}\n\n\treturn 'once';\n}\n\n/**\n * Resolves texture dimensions from explicit values or source metadata.\n *\n * @param data - Texture payload.\n * @returns Positive integer width/height.\n * @throws {Error} When dimensions cannot be resolved to positive values.\n */\nexport function resolveTextureSize(data: TextureData): {\n\twidth: number;\n\theight: number;\n} {\n\tconst source = data.source as {\n\t\twidth?: number;\n\t\theight?: number;\n\t\tnaturalWidth?: number;\n\t\tnaturalHeight?: number;\n\t\tvideoWidth?: number;\n\t\tvideoHeight?: number;\n\t};\n\n\tconst width = data.width ?? source.naturalWidth ?? source.videoWidth ?? source.width ?? 0;\n\tconst height = data.height ?? source.naturalHeight ?? source.videoHeight ?? source.height ?? 0;\n\n\tif (width <= 0 || height <= 0) {\n\t\tthrow new Error('Texture source must have positive width and height');\n\t}\n\n\treturn { width, height };\n}\n\n/**\n * Computes the number of mipmap levels for a base texture size.\n *\n * @param width - Base width.\n * @param height - Base height.\n * @returns Total mip level count (minimum `1`).\n */\nexport function getTextureMipLevelCount(width: number, height: number): number {\n\tlet levels = 1;\n\tlet currentWidth = Math.max(1, width);\n\tlet currentHeight = Math.max(1, height);\n\n\twhile (currentWidth > 1 || currentHeight > 1) {\n\t\tcurrentWidth = Math.max(1, Math.floor(currentWidth / 2));\n\t\tcurrentHeight = Math.max(1, Math.floor(currentHeight / 2));\n\t\tlevels += 1;\n\t}\n\n\treturn levels;\n}\n\n/**\n * Checks whether the source is an `HTMLVideoElement`.\n */\nexport function isVideoTextureSource(source: TextureData['source']): source is HTMLVideoElement {\n\treturn typeof HTMLVideoElement !== 'undefined' && source instanceof HTMLVideoElement;\n}\n"],"mappings":";;;;;AA8DA,IAAM,yBAAwC;;;;AAK9C,IAAM,+BAA+C;;;;;;;AAQrD,SAAgB,mBAAmB,UAA0C;CAC5E,MAAM,OAAO,OAAO,KAAK,SAAS,CAAC,MAAM;AACzC,MAAK,MAAM,OAAO,KACjB,mBAAkB,IAAI;AAEvB,QAAO;;;;;;;;AASR,SAAgB,2BACf,YAC8B;CAC9B,MAAM,aAA0C;EAC/C,QAAQ,YAAY,UAAU;EAC9B,YAAY,YAAY,cAAc;EACtC,QAAQ,YAAY,eAAe,WAAW,eAAe;EAC7D,OAAO,YAAY,SAAS;EAC5B,iBAAiB,YAAY,mBAAmB;EAChD,oBAAoB,YAAY,sBAAsB;EACtD,YAAY,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,MAAM,YAAY,cAAc,EAAE,CAAC,CAAC;EAC9E,QAAQ,YAAY,UAAU;EAC9B,cAAc,YAAY,gBAAgB;EAC1C,cAAc,YAAY,gBAAgB;EAC1C;AAED,KAAI,YAAY,WAAW,OAC1B,YAAW,SAAS,WAAW;AAGhC,QAAO;;;;;;;;;AAUR,SAAgB,4BACf,UACA,aAC8C;CAC9C,MAAM,MAAmD,EAAE;AAC3D,MAAK,MAAM,OAAO,YACjB,KAAI,OAAO,2BAA2B,SAAS,KAAK;AAErD,QAAO;;;;;AAMR,SAAgB,cAAc,OAA2C;AACxE,QAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,YAAY;;;;;;;;AASnE,SAAgB,cAAc,OAAyC;AACtE,KAAI,UAAU,KACb,QAAO;AAGR,KAAI,cAAc,MAAM,CACvB,QAAO;AAGR,QAAO,EAAE,QAAQ,OAAO;;;;;AAMzB,SAAgB,yBAAyB,OAInB;AACrB,KAAI,MAAM,SACT,QAAO,MAAM;AAGd,KAAI,MAAM,YACT,QAAO,MAAM;AAGd,KAAI,qBAAqB,MAAM,OAAO,CACrC,QAAO;AAGR,QAAO;;;;;;;;;AAUR,SAAgB,mBAAmB,MAGjC;CACD,MAAM,SAAS,KAAK;CASpB,MAAM,QAAQ,KAAK,SAAS,OAAO,gBAAgB,OAAO,cAAc,OAAO,SAAS;CACxF,MAAM,SAAS,KAAK,UAAU,OAAO,iBAAiB,OAAO,eAAe,OAAO,UAAU;AAE7F,KAAI,SAAS,KAAK,UAAU,EAC3B,OAAM,IAAI,MAAM,qDAAqD;AAGtE,QAAO;EAAE;EAAO;EAAQ;;;;;;;;;AAUzB,SAAgB,wBAAwB,OAAe,QAAwB;CAC9E,IAAI,SAAS;CACb,IAAI,eAAe,KAAK,IAAI,GAAG,MAAM;CACrC,IAAI,gBAAgB,KAAK,IAAI,GAAG,OAAO;AAEvC,QAAO,eAAe,KAAK,gBAAgB,GAAG;AAC7C,iBAAe,KAAK,IAAI,GAAG,KAAK,MAAM,eAAe,EAAE,CAAC;AACxD,kBAAgB,KAAK,IAAI,GAAG,KAAK,MAAM,gBAAgB,EAAE,CAAC;AAC1D,YAAU;;AAGX,QAAO;;;;;AAMR,SAAgB,qBAAqB,QAA2D;AAC/F,QAAO,OAAO,qBAAqB,eAAe,kBAAkB"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js
CHANGED
package/dist/core/uniforms.d.ts
CHANGED
|
@@ -46,3 +46,4 @@ export declare function packUniforms(uniforms: UniformMap, layout: UniformLayout
|
|
|
46
46
|
* @throws {Error} When `data` size does not match the required layout size.
|
|
47
47
|
*/
|
|
48
48
|
export declare function packUniformsInto(uniforms: UniformMap, layout: UniformLayout, data: Float32Array): void;
|
|
49
|
+
//# sourceMappingURL=uniforms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../src/lib/core/uniforms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAEb,UAAU,EAEV,WAAW,EACX,YAAY,EACZ,MAAM,YAAY,CAAC;AAwEpB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAsBjE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAkCtF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,GAAG,aAAa,CA0BxE;AAyCD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY,CAItF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,YAAY,GAChB,IAAI,CAkBN"}
|