@luma.gl/core 9.0.11 → 9.1.0-alpha.1
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/LICENSE +34 -0
- package/dist/adapter/canvas-context.d.ts +5 -0
- package/dist/adapter/canvas-context.d.ts.map +1 -1
- package/dist/adapter/device.d.ts +10 -8
- package/dist/adapter/device.d.ts.map +1 -1
- package/dist/adapter/device.js +20 -18
- package/dist/{lib → adapter}/luma.d.ts +2 -2
- package/dist/adapter/luma.d.ts.map +1 -0
- package/dist/{lib → adapter}/luma.js +7 -7
- package/dist/adapter/resources/buffer.js +5 -5
- package/dist/adapter/resources/compute-pipeline.d.ts +2 -0
- package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/compute-pipeline.js +3 -0
- package/dist/adapter/resources/external-texture.d.ts +1 -1
- package/dist/adapter/resources/external-texture.d.ts.map +1 -1
- package/dist/adapter/resources/external-texture.js +1 -1
- package/dist/adapter/resources/framebuffer.d.ts +3 -3
- package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/framebuffer.js +2 -83
- package/dist/adapter/resources/render-pass.d.ts +2 -2
- package/dist/adapter/resources/render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/render-pipeline.d.ts +2 -5
- package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/resource.d.ts +3 -3
- package/dist/adapter/resources/resource.d.ts.map +1 -1
- package/dist/adapter/resources/resource.js +1 -1
- package/dist/adapter/resources/shader.d.ts +5 -2
- package/dist/adapter/resources/shader.d.ts.map +1 -1
- package/dist/adapter/resources/shader.js +15 -9
- package/dist/adapter/resources/texture-view.d.ts +1 -1
- package/dist/adapter/resources/texture-view.d.ts.map +1 -1
- package/dist/adapter/resources/texture.d.ts +111 -49
- package/dist/adapter/resources/texture.d.ts.map +1 -1
- package/dist/adapter/resources/texture.js +96 -12
- package/dist/adapter/resources/transform-feedback.d.ts +1 -1
- package/dist/adapter/resources/transform-feedback.d.ts.map +1 -1
- package/dist/adapter/resources/vertex-array.d.ts +1 -1
- package/dist/adapter/resources/vertex-array.d.ts.map +1 -1
- package/dist/adapter/resources/vertex-array.js +6 -2
- package/dist/adapter/types/{types.d.ts → attachments.d.ts} +5 -16
- package/dist/adapter/types/attachments.d.ts.map +1 -0
- package/dist/adapter/types/buffer-layout.d.ts +1 -1
- package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
- package/dist/adapter/types/compiler-message.d.ts.map +1 -0
- package/dist/adapter/types/parameters.d.ts +2 -6
- package/dist/adapter/types/parameters.d.ts.map +1 -1
- package/dist/adapter/types/shader-layout.d.ts +23 -3
- package/dist/adapter/types/shader-layout.d.ts.map +1 -1
- package/dist/adapter/types/uniforms.d.ts +4 -0
- package/dist/adapter/types/uniforms.d.ts.map +1 -0
- package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.d.ts +1 -1
- package/dist/adapter-utils/format-compiler-log.d.ts.map +1 -0
- package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.d.ts +4 -11
- package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -0
- package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.js +10 -30
- package/dist/adapter-utils/is-uniform-value.d.ts +3 -0
- package/dist/adapter-utils/is-uniform-value.d.ts.map +1 -0
- package/dist/adapter-utils/is-uniform-value.js +7 -0
- package/dist/dist.dev.js +266 -588
- package/dist/dist.min.js +4 -4
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.d.ts +3 -3
- package/dist/gpu-type-utils/decode-attribute-type.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.d.ts +1 -1
- package/dist/gpu-type-utils/decode-data-type.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.d.ts +1 -1
- package/dist/gpu-type-utils/decode-shader-types.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.js +0 -2
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.d.ts +2 -2
- package/dist/gpu-type-utils/decode-texture-format.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.d.ts +1 -1
- package/dist/gpu-type-utils/decode-vertex-format.d.ts.map +1 -0
- package/dist/gpu-type-utils/shader-types.d.ts.map +1 -0
- package/dist/{adapter/types → gpu-type-utils}/texture-formats.d.ts +1 -1
- package/dist/gpu-type-utils/texture-formats.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.d.ts +2 -2
- package/dist/gpu-type-utils/vertex-format-from-attribute.d.ts.map +1 -0
- package/dist/gpu-type-utils/vertex-formats.d.ts.map +1 -0
- package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.d.ts +1 -1
- package/dist/gpu-type-utils/wgsl-utils.d.ts.map +1 -0
- package/dist/index.cjs +190 -411
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +28 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -36
- package/dist/init.js +1 -1
- package/dist/{lib/uniforms → portable}/uniform-block.d.ts +3 -3
- package/dist/portable/uniform-block.d.ts.map +1 -0
- package/dist/{lib/uniforms → portable}/uniform-block.js +2 -2
- package/dist/{lib/uniforms → portable}/uniform-buffer-layout.d.ts +2 -2
- package/dist/portable/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/{lib/uniforms → portable}/uniform-buffer-layout.js +6 -7
- package/dist/{lib/uniforms → portable}/uniform-store.d.ts +4 -4
- package/dist/portable/uniform-store.d.ts.map +1 -0
- package/dist/{lib/uniforms → portable}/uniform-store.js +11 -9
- package/dist/types.d.ts +0 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/array-equal.d.ts.map +1 -1
- package/dist/utils/array-equal.js +6 -7
- package/dist/utils/array-utils-flat.d.ts +1 -7
- package/dist/utils/array-utils-flat.d.ts.map +1 -1
- package/dist/utils/array-utils-flat.js +0 -23
- package/dist/utils/is-array.d.ts +2 -2
- package/dist/utils/is-array.d.ts.map +1 -1
- package/dist/utils/is-array.js +2 -2
- package/dist/utils/uid.d.ts +7 -0
- package/dist/utils/uid.d.ts.map +1 -0
- package/dist/utils/{utils.js → uid.js} +0 -11
- package/package.json +5 -5
- package/src/adapter/canvas-context.ts +6 -0
- package/src/adapter/device.ts +34 -31
- package/src/{lib → adapter}/luma.ts +9 -9
- package/src/adapter/resources/buffer.ts +5 -5
- package/src/adapter/resources/command-encoder.ts +1 -1
- package/src/adapter/resources/compute-pass.ts +3 -3
- package/src/adapter/resources/compute-pipeline.ts +6 -3
- package/src/adapter/resources/external-texture.ts +2 -2
- package/src/adapter/resources/framebuffer.ts +5 -92
- package/src/adapter/resources/query-set.ts +2 -2
- package/src/adapter/resources/render-pass.ts +11 -7
- package/src/adapter/resources/render-pipeline.ts +3 -6
- package/src/adapter/resources/resource.ts +7 -7
- package/src/adapter/resources/shader.ts +18 -11
- package/src/adapter/resources/texture-view.ts +5 -5
- package/src/adapter/resources/texture.ts +226 -77
- package/src/adapter/resources/transform-feedback.ts +1 -1
- package/src/adapter/resources/vertex-array.ts +7 -3
- package/src/adapter/types/{types.ts → attachments.ts} +8 -17
- package/src/adapter/types/buffer-layout.ts +1 -1
- package/src/adapter/types/parameters.ts +10 -14
- package/src/adapter/types/shader-layout.ts +31 -29
- package/src/adapter/types/uniforms.ts +10 -0
- package/src/{lib/compiler-log → adapter-utils}/format-compiler-log.ts +1 -1
- package/src/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.ts +18 -42
- package/src/adapter-utils/is-uniform-value.ts +10 -0
- package/src/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.ts +3 -3
- package/src/{adapter/type-utils → gpu-type-utils}/decode-data-type.ts +1 -1
- package/src/{adapter/type-utils → gpu-type-utils}/decode-shader-types.ts +1 -3
- package/src/{adapter/type-utils → gpu-type-utils}/decode-texture-format.ts +2 -2
- package/src/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.ts +1 -1
- package/src/{adapter/types → gpu-type-utils}/texture-formats.ts +1 -1
- package/src/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.ts +2 -2
- package/src/{adapter/type-utils → gpu-type-utils}/wgsl-utils.ts +1 -1
- package/src/index.ts +69 -84
- package/src/{lib/uniforms → portable}/uniform-block.ts +5 -5
- package/src/{lib/uniforms → portable}/uniform-buffer-layout.ts +9 -9
- package/src/{lib/uniforms → portable}/uniform-store.ts +14 -12
- package/src/types.ts +0 -12
- package/src/utils/array-equal.ts +6 -7
- package/src/utils/array-utils-flat.ts +1 -31
- package/src/utils/is-array.ts +4 -4
- package/src/utils/{utils.ts → uid.ts} +0 -12
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts.map +0 -1
- package/dist/adapter/type-utils/decode-attribute-type.d.ts.map +0 -1
- package/dist/adapter/type-utils/decode-data-type.d.ts.map +0 -1
- package/dist/adapter/type-utils/decode-shader-types.d.ts.map +0 -1
- package/dist/adapter/type-utils/decode-texture-format.d.ts.map +0 -1
- package/dist/adapter/type-utils/decode-vertex-format.d.ts.map +0 -1
- package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts.map +0 -1
- package/dist/adapter/type-utils/wgsl-utils.d.ts.map +0 -1
- package/dist/adapter/types/accessor.d.ts +0 -23
- package/dist/adapter/types/accessor.d.ts.map +0 -1
- package/dist/adapter/types/shader-types.d.ts.map +0 -1
- package/dist/adapter/types/texture-formats.d.ts.map +0 -1
- package/dist/adapter/types/types.d.ts.map +0 -1
- package/dist/adapter/types/vertex-formats.d.ts.map +0 -1
- package/dist/lib/compiler-log/compiler-message.d.ts.map +0 -1
- package/dist/lib/compiler-log/format-compiler-log.d.ts.map +0 -1
- package/dist/lib/compiler-log/get-shader-info.d.ts +0 -9
- package/dist/lib/compiler-log/get-shader-info.d.ts.map +0 -1
- package/dist/lib/compiler-log/get-shader-info.js +0 -29
- package/dist/lib/luma.d.ts.map +0 -1
- package/dist/lib/uniforms/uniform-block.d.ts.map +0 -1
- package/dist/lib/uniforms/uniform-buffer-layout.d.ts.map +0 -1
- package/dist/lib/uniforms/uniform-store.d.ts.map +0 -1
- package/dist/lib/uniforms/uniform.d.ts +0 -10
- package/dist/lib/uniforms/uniform.d.ts.map +0 -1
- package/dist/lib/uniforms/uniform.js +0 -20
- package/dist/utils/assert.d.ts +0 -2
- package/dist/utils/assert.d.ts.map +0 -1
- package/dist/utils/assert.js +0 -10
- package/dist/utils/cast.d.ts +0 -3
- package/dist/utils/cast.d.ts.map +0 -1
- package/dist/utils/cast.js +0 -7
- package/dist/utils/check-props.d.ts +0 -7
- package/dist/utils/check-props.d.ts.map +0 -1
- package/dist/utils/check-props.js +0 -36
- package/dist/utils/deep-equal.d.ts +0 -9
- package/dist/utils/deep-equal.d.ts.map +0 -1
- package/dist/utils/deep-equal.js +0 -50
- package/dist/utils/format-value.d.ts +0 -7
- package/dist/utils/format-value.d.ts.map +0 -1
- package/dist/utils/format-value.js +0 -39
- package/dist/utils/load-file.d.ts +0 -35
- package/dist/utils/load-file.d.ts.map +0 -1
- package/dist/utils/load-file.js +0 -74
- package/dist/utils/random.d.ts +0 -5
- package/dist/utils/random.d.ts.map +0 -1
- package/dist/utils/random.js +0 -18
- package/dist/utils/request-animation-frame.d.ts +0 -3
- package/dist/utils/request-animation-frame.d.ts.map +0 -1
- package/dist/utils/request-animation-frame.js +0 -16
- package/dist/utils/stub-methods.d.ts +0 -2
- package/dist/utils/stub-methods.d.ts.map +0 -1
- package/dist/utils/stub-methods.js +0 -19
- package/dist/utils/utils.d.ts +0 -9
- package/dist/utils/utils.d.ts.map +0 -1
- package/src/adapter/types/accessor.ts +0 -37
- package/src/lib/compiler-log/get-shader-info.ts +0 -42
- package/src/lib/uniforms/uniform.ts +0 -31
- package/src/utils/assert.ts +0 -11
- package/src/utils/cast.ts +0 -8
- package/src/utils/check-props.ts +0 -82
- package/src/utils/deep-equal.ts +0 -51
- package/src/utils/format-value.ts +0 -47
- package/src/utils/load-file.ts +0 -91
- package/src/utils/random.ts +0 -21
- package/src/utils/request-animation-frame.ts +0 -19
- package/src/utils/stub-methods.ts +0 -29
- /package/dist/adapter/types/{accessor.js → attachments.js} +0 -0
- /package/dist/{lib/compiler-log → adapter/types}/compiler-message.d.ts +0 -0
- /package/dist/{lib/compiler-log → adapter/types}/compiler-message.js +0 -0
- /package/dist/adapter/types/{shader-types.js → uniforms.js} +0 -0
- /package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.js +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.js +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.js +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.js +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.js +0 -0
- /package/dist/{adapter/types → gpu-type-utils}/shader-types.d.ts +0 -0
- /package/dist/{adapter/types/texture-formats.js → gpu-type-utils/shader-types.js} +0 -0
- /package/dist/{adapter/types/types.js → gpu-type-utils/texture-formats.js} +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.js +0 -0
- /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.d.ts +0 -0
- /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.js +0 -0
- /package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.js +0 -0
- /package/src/{lib/compiler-log → adapter/types}/compiler-message.ts +0 -0
- /package/src/{adapter/types → gpu-type-utils}/shader-types.ts +0 -0
- /package/src/{adapter/types → gpu-type-utils}/vertex-formats.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stub-methods.d.ts","sourceRoot":"","sources":["../../src/utils/stub-methods.ts"],"names":[],"mappings":"AAOA,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,QAiBtB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { log } from "./log.js";
|
|
5
|
-
// Install stubs for removed methods
|
|
6
|
-
export function stubRemovedMethods(instance, className, version, methodNames) {
|
|
7
|
-
const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \
|
|
8
|
-
https://luma.gl/docs/upgrade-guide`;
|
|
9
|
-
const prototype = Object.getPrototypeOf(instance);
|
|
10
|
-
methodNames.forEach((methodName) => {
|
|
11
|
-
if (prototype.methodName) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
prototype[methodName] = () => {
|
|
15
|
-
log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();
|
|
16
|
-
throw new Error(methodName);
|
|
17
|
-
};
|
|
18
|
-
});
|
|
19
|
-
}
|
package/dist/utils/utils.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a UID.
|
|
3
|
-
* @param id= - Identifier base name
|
|
4
|
-
* @return uid
|
|
5
|
-
**/
|
|
6
|
-
export declare function uid(id?: string): string;
|
|
7
|
-
/** Returns true if given object is empty, false otherwise. */
|
|
8
|
-
export declare function isObjectEmpty(obj: object): boolean;
|
|
9
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAMA;;;;IAII;AACJ,wBAAgB,GAAG,CAAC,EAAE,GAAE,MAAa,GAAG,MAAM,CAI7C;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASlD"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
import type {Buffer} from '../resources/buffer';
|
|
6
|
-
// import type {VertexFormat} from './data-formats';
|
|
7
|
-
|
|
8
|
-
// ACCESSORS
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Attribute descriptor object
|
|
12
|
-
* @deprecated Use ShaderLayout
|
|
13
|
-
*/
|
|
14
|
-
export interface AccessorObject {
|
|
15
|
-
buffer?: Buffer;
|
|
16
|
-
// format: VertexFormat;
|
|
17
|
-
offset?: number;
|
|
18
|
-
// can now be described with single WebGPU-style `format` string
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
stride?: number;
|
|
22
|
-
|
|
23
|
-
/** @deprecated - Use accessor.stepMode */
|
|
24
|
-
divisor?: number;
|
|
25
|
-
|
|
26
|
-
/** @deprecated - Infer from format */
|
|
27
|
-
type?: number;
|
|
28
|
-
/** @deprecated - Infer from format */
|
|
29
|
-
size?: number;
|
|
30
|
-
/** @deprecated - Infer from format */
|
|
31
|
-
normalized?: boolean;
|
|
32
|
-
/** @deprecated - Infer from format */
|
|
33
|
-
integer?: boolean;
|
|
34
|
-
|
|
35
|
-
/** @deprecated */
|
|
36
|
-
index?: number;
|
|
37
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
// Note: This was the only dependency that made @luma.gl/webgl depend on @luma.gl/shadertools
|
|
6
|
-
// This file was coped from shadertools to avoid the dependency
|
|
7
|
-
|
|
8
|
-
/** Information extracted from shader source code */
|
|
9
|
-
export type ShaderInfo = {
|
|
10
|
-
name: string;
|
|
11
|
-
language: 'glsl' | 'wgsl';
|
|
12
|
-
version: number;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
/** Extracts information from shader source code */
|
|
16
|
-
export function getShaderInfo(source: string, defaultName?: string): ShaderInfo {
|
|
17
|
-
return {
|
|
18
|
-
name: getShaderName(source, defaultName),
|
|
19
|
-
language: 'glsl',
|
|
20
|
-
version: getShaderVersion(source)
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Extracts GLSLIFY style naming of shaders: `#define SHADER_NAME ...` */
|
|
25
|
-
function getShaderName(shader: string, defaultName: string = 'unnamed'): string {
|
|
26
|
-
const SHADER_NAME_REGEXP = /#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/;
|
|
27
|
-
const match = SHADER_NAME_REGEXP.exec(shader);
|
|
28
|
-
return match ? match[1] : defaultName;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** returns GLSL shader version of given shader string */
|
|
32
|
-
function getShaderVersion(source: string): number {
|
|
33
|
-
let version = 100;
|
|
34
|
-
const words = source.match(/[^\s]+/g);
|
|
35
|
-
if (words && words.length >= 2 && words[0] === '#version') {
|
|
36
|
-
const v = parseInt(words[1], 10);
|
|
37
|
-
if (Number.isFinite(v)) {
|
|
38
|
-
version = v;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return version;
|
|
42
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
import type {UniformValue} from '../../adapter/types/types';
|
|
6
|
-
import type {Binding} from '../../adapter/types/shader-layout';
|
|
7
|
-
import {isNumberArray} from '../../utils/is-array';
|
|
8
|
-
|
|
9
|
-
export function isUniformValue(value: unknown): boolean {
|
|
10
|
-
return isNumberArray(value) !== null || typeof value === 'number' || typeof value === 'boolean';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
type UniformsAndBindings = {
|
|
14
|
-
bindings: Record<string, Binding>;
|
|
15
|
-
uniforms: Record<string, UniformValue>;
|
|
16
|
-
};
|
|
17
|
-
export function splitUniformsAndBindings(
|
|
18
|
-
uniforms: Record<string, Binding | UniformValue>
|
|
19
|
-
): UniformsAndBindings {
|
|
20
|
-
const result: UniformsAndBindings = {bindings: {}, uniforms: {}};
|
|
21
|
-
Object.keys(uniforms).forEach(name => {
|
|
22
|
-
const uniform = uniforms[name];
|
|
23
|
-
if (isUniformValue(uniform)) {
|
|
24
|
-
result.uniforms[name] = uniform as UniformValue;
|
|
25
|
-
} else {
|
|
26
|
-
result.bindings[name] = uniform as Binding;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
return result;
|
|
31
|
-
}
|
package/src/utils/assert.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
// Recommendation is to ignore message but current test suite checks agains the
|
|
6
|
-
// message so keep it for now.
|
|
7
|
-
export function assert(condition: unknown, message?: string): void | never {
|
|
8
|
-
if (!condition) {
|
|
9
|
-
throw new Error(message || 'luma.gl: assertion failed.');
|
|
10
|
-
}
|
|
11
|
-
}
|
package/src/utils/cast.ts
DELETED
package/src/utils/check-props.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
import {log} from './log';
|
|
6
|
-
|
|
7
|
-
/* Use as
|
|
8
|
-
import {checkProps} from '../util/check-props;'
|
|
9
|
-
|
|
10
|
-
const PROP_CHECKS = {
|
|
11
|
-
// Removed props no longer supported, print error and link to upgrade guide
|
|
12
|
-
removedProps: {
|
|
13
|
-
},
|
|
14
|
-
// Deprecated props
|
|
15
|
-
deprecatedProps: {
|
|
16
|
-
offset: 'accessor',
|
|
17
|
-
stride: 'accessor',
|
|
18
|
-
type: 'accessor',
|
|
19
|
-
size: 'accessor',
|
|
20
|
-
divisor: 'accessor',
|
|
21
|
-
normalized: 'accessor',
|
|
22
|
-
integer: 'accessor'
|
|
23
|
-
},
|
|
24
|
-
// Deprecated props that can be autosubstituted, print warning and return updated props object
|
|
25
|
-
replacedProps: {
|
|
26
|
-
bytes: 'byteLength'
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
class Buffer {
|
|
31
|
-
setProps(props) {
|
|
32
|
-
checkProps('Buffer', props, PROP_CHECKS);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
export type PropChecks = {
|
|
38
|
-
removedProps?: Record<string, any>;
|
|
39
|
-
replacedProps?: Record<string, string>;
|
|
40
|
-
deprecatedProps?: Record<string, string>;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export function checkProps(
|
|
44
|
-
className: string,
|
|
45
|
-
props: Record<string, any>,
|
|
46
|
-
propChecks: PropChecks
|
|
47
|
-
): Record<string, unknown> {
|
|
48
|
-
const {removedProps = {}, deprecatedProps = {}, replacedProps = {}} = propChecks;
|
|
49
|
-
|
|
50
|
-
// removedProps: Removed props no longer supported
|
|
51
|
-
// print error and link to upgrade guide
|
|
52
|
-
for (const propName in removedProps) {
|
|
53
|
-
if (propName in props) {
|
|
54
|
-
const replacementProp = removedProps[propName];
|
|
55
|
-
const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';
|
|
56
|
-
log.removed(`${className}.${propName}`, replacement)();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// deprecatedProps: Deprecated props that can not be autosubstituted
|
|
61
|
-
// print warning and rely on caller to substitute
|
|
62
|
-
for (const propName in deprecatedProps) {
|
|
63
|
-
if (propName in props) {
|
|
64
|
-
const replacementProp = deprecatedProps[propName];
|
|
65
|
-
log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// replacedProps: Deprecated props that can be autosubstituted
|
|
70
|
-
// print warning and return updated props object
|
|
71
|
-
let newProps = null;
|
|
72
|
-
for (const [propName, replacementProp] of Object.entries(replacedProps)) {
|
|
73
|
-
if (propName in props) {
|
|
74
|
-
log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();
|
|
75
|
-
newProps = newProps || Object.assign({}, props);
|
|
76
|
-
newProps[replacementProp] = props[propName];
|
|
77
|
-
delete newProps[propName];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return newProps || props;
|
|
82
|
-
}
|
package/src/utils/deep-equal.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Fast partial deep equal for prop.
|
|
7
|
-
*
|
|
8
|
-
* @param a Prop
|
|
9
|
-
* @param b Prop to compare against `a`
|
|
10
|
-
* @param depth Depth to which to recurse in nested Objects/Arrays. Use 0 (default) for shallow comparison, -1 for infinite depth
|
|
11
|
-
*/
|
|
12
|
-
/* eslint-disable complexity */
|
|
13
|
-
export function deepEqual(a: any, b: any, depth: number): boolean {
|
|
14
|
-
if (a === b) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
if (!depth || !a || !b) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
if (Array.isArray(a)) {
|
|
21
|
-
if (!Array.isArray(b) || a.length !== b.length) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
for (let i = 0; i < a.length; i++) {
|
|
25
|
-
if (!deepEqual(a[i], b[i], depth - 1)) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (Array.isArray(b)) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (typeof a === 'object' && typeof b === 'object') {
|
|
35
|
-
const aKeys = Object.keys(a);
|
|
36
|
-
const bKeys = Object.keys(b);
|
|
37
|
-
if (aKeys.length !== bKeys.length) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
for (const key of aKeys) {
|
|
41
|
-
if (!b.hasOwnProperty(key)) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
if (!deepEqual(a[key], b[key], depth - 1)) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
/* eslint-disable no-console */
|
|
6
|
-
import type {NumberArray} from '../types';
|
|
7
|
-
|
|
8
|
-
/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */
|
|
9
|
-
function formatArrayValue(v: NumberArray, opts: {maxElts?: number; size?: number} = {}): string {
|
|
10
|
-
const {maxElts = 16, size = 1} = opts;
|
|
11
|
-
let string = '[';
|
|
12
|
-
for (let i = 0; i < v.length && i < maxElts; ++i) {
|
|
13
|
-
if (i > 0) {
|
|
14
|
-
string += `,${i % size === 0 ? ' ' : ''}`;
|
|
15
|
-
}
|
|
16
|
-
string += formatValue(v[i], opts);
|
|
17
|
-
}
|
|
18
|
-
const terminator = v.length > maxElts ? '...' : ']';
|
|
19
|
-
return `${string}${terminator}`;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */
|
|
23
|
-
export function formatValue(
|
|
24
|
-
v: number | NumberArray | unknown,
|
|
25
|
-
opts: {isInteger?: boolean; size?: number} = {}
|
|
26
|
-
): string {
|
|
27
|
-
const EPSILON = 1e-16;
|
|
28
|
-
const {isInteger = false} = opts;
|
|
29
|
-
if (Array.isArray(v) || ArrayBuffer.isView(v)) {
|
|
30
|
-
return formatArrayValue(v as NumberArray, opts);
|
|
31
|
-
}
|
|
32
|
-
if (typeof v !== 'number') {
|
|
33
|
-
return String(v);
|
|
34
|
-
}
|
|
35
|
-
if (Math.abs(v) < EPSILON) {
|
|
36
|
-
return isInteger ? '0' : '0.';
|
|
37
|
-
}
|
|
38
|
-
if (isInteger) {
|
|
39
|
-
return v.toFixed(0);
|
|
40
|
-
}
|
|
41
|
-
if (Math.abs(v) > 100 && Math.abs(v) < 10000) {
|
|
42
|
-
return v.toFixed(0);
|
|
43
|
-
}
|
|
44
|
-
const string = v.toPrecision(2);
|
|
45
|
-
const decimal = string.indexOf('.0');
|
|
46
|
-
return decimal === string.length - 2 ? string.slice(0, -1) : string;
|
|
47
|
-
}
|
package/src/utils/load-file.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
let pathPrefix = '';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Set a relative path prefix
|
|
9
|
-
*/
|
|
10
|
-
export function setPathPrefix(prefix: string) {
|
|
11
|
-
pathPrefix = prefix;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Reads raw file data. Respects setPathPrefix.
|
|
16
|
-
*/
|
|
17
|
-
export async function loadFile(
|
|
18
|
-
url: string,
|
|
19
|
-
options?: {dataType?: 'text' | 'arrayBuffer'} & RequestInit
|
|
20
|
-
): Promise<any> {
|
|
21
|
-
url = url.startsWith('http') ? url : pathPrefix + url;
|
|
22
|
-
const dataType = options?.dataType || 'text';
|
|
23
|
-
const response = await fetch(url, options);
|
|
24
|
-
return await response[dataType]();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Loads ImageBitmap asynchronously. Respects setPathPrefix.
|
|
29
|
-
* image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'
|
|
30
|
-
* @returns a promise tracking the load
|
|
31
|
-
*/
|
|
32
|
-
export async function loadImageBitmap(
|
|
33
|
-
url: string,
|
|
34
|
-
opts?: {crossOrigin?: string}
|
|
35
|
-
): Promise<ImageBitmap> {
|
|
36
|
-
const image = new Image();
|
|
37
|
-
image.crossOrigin = opts?.crossOrigin || 'anonymous';
|
|
38
|
-
image.src = url.startsWith('http') ? url : pathPrefix + url;
|
|
39
|
-
await image.decode();
|
|
40
|
-
return await createImageBitmap(image);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Loads image asynchronously. Respects setPathPrefix.
|
|
45
|
-
* image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'
|
|
46
|
-
* @returns a promise tracking the load
|
|
47
|
-
* @deprecated Use `loadImageBitmap()` unless you are supporting old versions of Safari.
|
|
48
|
-
*/
|
|
49
|
-
export async function loadImage(
|
|
50
|
-
url: string,
|
|
51
|
-
opts?: {crossOrigin?: string}
|
|
52
|
-
): Promise<HTMLImageElement> {
|
|
53
|
-
return await new Promise((resolve, reject) => {
|
|
54
|
-
try {
|
|
55
|
-
const image = new Image();
|
|
56
|
-
image.onload = () => resolve(image);
|
|
57
|
-
image.onerror = () => reject(new Error(`Could not load image ${url}.`));
|
|
58
|
-
image.crossOrigin = opts?.crossOrigin || 'anonymous';
|
|
59
|
-
image.src = url.startsWith('http') ? url : pathPrefix + url;
|
|
60
|
-
} catch (error) {
|
|
61
|
-
reject(error);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Load a script (identified by an url). When the url returns, the
|
|
68
|
-
* content of this file is added into a new script element, attached to the DOM (body element)
|
|
69
|
-
* @param scriptUrl defines the url of the script to laod
|
|
70
|
-
* @param scriptId defines the id of the script element
|
|
71
|
-
*/
|
|
72
|
-
export async function loadScript(scriptUrl: string, scriptId?: string): Promise<Event> {
|
|
73
|
-
const head = document.getElementsByTagName('head')[0];
|
|
74
|
-
if (!head) {
|
|
75
|
-
throw new Error('loadScript');
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const script = document.createElement('script');
|
|
79
|
-
script.setAttribute('type', 'text/javascript');
|
|
80
|
-
script.setAttribute('src', scriptUrl);
|
|
81
|
-
if (scriptId) {
|
|
82
|
-
script.id = scriptId;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return new Promise((resolve, reject) => {
|
|
86
|
-
script.onload = resolve;
|
|
87
|
-
script.onerror = error =>
|
|
88
|
-
reject(new Error(`Unable to load script '${scriptUrl}': ${error as string}`));
|
|
89
|
-
head.appendChild(script);
|
|
90
|
-
});
|
|
91
|
-
}
|
package/src/utils/random.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
/** Creates a deterministic pseudorandom number generator */
|
|
6
|
-
export function makeRandomNumberGenerator(): () => number {
|
|
7
|
-
let s = 1;
|
|
8
|
-
let c = 1;
|
|
9
|
-
return () => {
|
|
10
|
-
s = Math.sin(c * 17.23);
|
|
11
|
-
c = Math.cos(s * 27.92);
|
|
12
|
-
return fract(Math.abs(s * c) * 1432.71);
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function fract(n: number): number {
|
|
17
|
-
return n - Math.floor(n);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/** Generates a deterministic pseudorandom number */
|
|
21
|
-
export const random = makeRandomNumberGenerator();
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
// Node.js polyfills for requestAnimationFrame and cancelAnimationFrame
|
|
6
|
-
/* global window, setTimeout, clearTimeout */
|
|
7
|
-
|
|
8
|
-
// / <reference types="@types/node" />
|
|
9
|
-
export function requestAnimationFrame(callback: (time?: any) => void): any {
|
|
10
|
-
return typeof window !== 'undefined' && window.requestAnimationFrame
|
|
11
|
-
? window.requestAnimationFrame(callback)
|
|
12
|
-
: setTimeout(callback, 1000 / 60);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export function cancelAnimationFrame(timerId: any): void {
|
|
16
|
-
return typeof window !== 'undefined' && window.cancelAnimationFrame
|
|
17
|
-
? window.cancelAnimationFrame(timerId)
|
|
18
|
-
: clearTimeout(timerId);
|
|
19
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// luma.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
import {log} from './log';
|
|
6
|
-
|
|
7
|
-
// Install stubs for removed methods
|
|
8
|
-
export function stubRemovedMethods(
|
|
9
|
-
instance: any,
|
|
10
|
-
className: string,
|
|
11
|
-
version: string,
|
|
12
|
-
methodNames: string[]
|
|
13
|
-
) {
|
|
14
|
-
const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \
|
|
15
|
-
https://luma.gl/docs/upgrade-guide`;
|
|
16
|
-
|
|
17
|
-
const prototype = Object.getPrototypeOf(instance);
|
|
18
|
-
|
|
19
|
-
methodNames.forEach((methodName: string): void => {
|
|
20
|
-
if (prototype.methodName) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
prototype[methodName] = () => {
|
|
25
|
-
log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();
|
|
26
|
-
throw new Error(methodName);
|
|
27
|
-
};
|
|
28
|
-
});
|
|
29
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|