@headless-three/renderer 0.1.7 → 0.1.8
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 +227 -52
- package/dist/attributes.d.ts +7 -5
- package/dist/attributes.d.ts.map +1 -1
- package/dist/attributes.js +112 -36
- package/dist/attributes.js.map +1 -1
- package/dist/camera.d.ts +1 -0
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +52 -13
- package/dist/camera.js.map +1 -1
- package/dist/clipping.d.ts +6 -0
- package/dist/clipping.d.ts.map +1 -0
- package/dist/clipping.js +84 -0
- package/dist/clipping.js.map +1 -0
- package/dist/color.d.ts +8 -3
- package/dist/color.d.ts.map +1 -1
- package/dist/color.js +136 -11
- package/dist/color.js.map +1 -1
- package/dist/index.d.ts +770 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6208 -46
- package/dist/index.js.map +1 -1
- package/dist/layers.d.ts +3 -0
- package/dist/layers.d.ts.map +1 -0
- package/dist/layers.js +33 -0
- package/dist/layers.js.map +1 -0
- package/dist/lights.d.ts +5 -4
- package/dist/lights.d.ts.map +1 -1
- package/dist/lights.js +473 -77
- package/dist/lights.js.map +1 -1
- package/dist/loaders.d.ts +92 -0
- package/dist/loaders.d.ts.map +1 -0
- package/dist/loaders.js +858 -0
- package/dist/loaders.js.map +1 -0
- package/dist/materials.d.ts +38 -6
- package/dist/materials.d.ts.map +1 -1
- package/dist/materials.js +4236 -162
- package/dist/materials.js.map +1 -1
- package/dist/math.js +2 -2
- package/dist/math.js.map +1 -1
- package/dist/morphs.d.ts.map +1 -1
- package/dist/morphs.js +50 -15
- package/dist/morphs.js.map +1 -1
- package/dist/objects.d.ts +4 -0
- package/dist/objects.d.ts.map +1 -0
- package/dist/objects.js +25 -0
- package/dist/objects.js.map +1 -0
- package/dist/scene.d.ts +251 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +3679 -105
- package/dist/scene.js.map +1 -1
- package/dist/skinning.d.ts.map +1 -1
- package/dist/skinning.js +37 -18
- package/dist/skinning.js.map +1 -1
- package/dist/types.d.ts +1261 -12
- package/dist/types.d.ts.map +1 -1
- package/native.d.ts +761 -3
- package/native.js +54 -52
- package/package.json +20 -9
package/dist/color.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_BACKGROUND_COLOR = void 0;
|
|
3
4
|
exports.colorLikeToArray = colorLikeToArray;
|
|
5
|
+
exports.strictColorLikeToArray = strictColorLikeToArray;
|
|
6
|
+
exports.validatedColorLikeToArray = validatedColorLikeToArray;
|
|
7
|
+
exports.cssColorStringToArray = cssColorStringToArray;
|
|
8
|
+
exports.cssColorStringToLinearArray = cssColorStringToLinearArray;
|
|
4
9
|
exports.normalizeColorArray = normalizeColorArray;
|
|
5
10
|
exports.resolveBackground = resolveBackground;
|
|
6
11
|
const math_1 = require("./math");
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
+
const { Color: ThreeColor, ColorManagement: ThreeColorManagement } = require('three');
|
|
14
|
+
exports.DEFAULT_BACKGROUND_COLOR = [0.04, 0.045, 0.05, 1];
|
|
7
15
|
function colorLikeToArray(value) {
|
|
8
16
|
if (!value)
|
|
9
17
|
return null;
|
|
@@ -15,22 +23,139 @@ function colorLikeToArray(value) {
|
|
|
15
23
|
}
|
|
16
24
|
return null;
|
|
17
25
|
}
|
|
18
|
-
function
|
|
26
|
+
function strictColorLikeToArray(value, label) {
|
|
27
|
+
if (!value)
|
|
28
|
+
return null;
|
|
29
|
+
if (Array.isArray(value))
|
|
30
|
+
return normalizeColorArray(value, label);
|
|
31
|
+
if (typeof value === 'string')
|
|
32
|
+
return cssColorStringToArray(value, label);
|
|
33
|
+
if (typeof value !== 'object')
|
|
34
|
+
return null;
|
|
35
|
+
const color = value;
|
|
36
|
+
if (!isColorShaped(color))
|
|
37
|
+
return null;
|
|
38
|
+
return [
|
|
39
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.r, `${label}.r`)),
|
|
40
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.g, `${label}.g`)),
|
|
41
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.b, `${label}.b`)),
|
|
42
|
+
(0, math_1.clamp01)(color.a === undefined ? 1 : assertFiniteColorComponent(color.a, `${label}.a`)),
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
function validatedColorLikeToArray(value, label) {
|
|
46
|
+
if (value == null)
|
|
47
|
+
return null;
|
|
48
|
+
if (Array.isArray(value))
|
|
49
|
+
return normalizeColorArray(value, label);
|
|
50
|
+
if (typeof value === 'string')
|
|
51
|
+
return cssColorStringToLinearArray(value, label);
|
|
52
|
+
if (typeof value !== 'object') {
|
|
53
|
+
throw new TypeError(`${label} must be a color-like object, CSS color string, or [r, g, b].`);
|
|
54
|
+
}
|
|
55
|
+
const color = value;
|
|
56
|
+
if (!isColorShaped(color)) {
|
|
57
|
+
throw new TypeError(`${label} must be a color-like object, CSS color string, or [r, g, b].`);
|
|
58
|
+
}
|
|
59
|
+
return [
|
|
60
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.r, `${label}.r`)),
|
|
61
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.g, `${label}.g`)),
|
|
62
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(color.b, `${label}.b`)),
|
|
63
|
+
(0, math_1.clamp01)(color.a === undefined ? 1 : assertFiniteColorComponent(color.a, `${label}.a`)),
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
function cssColorStringToArray(value, label) {
|
|
67
|
+
const color = parseCssColorString(value, label);
|
|
68
|
+
color.convertLinearToSRGB();
|
|
69
|
+
return [(0, math_1.clamp01)(color.r), (0, math_1.clamp01)(color.g), (0, math_1.clamp01)(color.b), 1];
|
|
70
|
+
}
|
|
71
|
+
function cssColorStringToLinearArray(value, label) {
|
|
72
|
+
const color = parseCssColorString(value, label);
|
|
73
|
+
return [(0, math_1.clamp01)(color.r), (0, math_1.clamp01)(color.g), (0, math_1.clamp01)(color.b), 1];
|
|
74
|
+
}
|
|
75
|
+
function parseCssColorString(value, label) {
|
|
76
|
+
if (value.trim() === '') {
|
|
77
|
+
throw new TypeError(`${label} must be a non-empty CSS color string.`);
|
|
78
|
+
}
|
|
79
|
+
const warnings = [];
|
|
80
|
+
const originalWarn = console.warn;
|
|
81
|
+
const originalColorManagementEnabled = ThreeColorManagement.enabled;
|
|
82
|
+
console.warn = (...args) => { warnings.push(args.map(String).join(' ')); };
|
|
83
|
+
try {
|
|
84
|
+
ThreeColorManagement.enabled = true;
|
|
85
|
+
const color = new ThreeColor().setStyle(value);
|
|
86
|
+
const invalidWarning = warnings.find((message) => /Unknown color|Invalid hex color/i.test(message));
|
|
87
|
+
if (invalidWarning) {
|
|
88
|
+
throw new TypeError(`${label} ${JSON.stringify(value)} is not a supported CSS color string.`);
|
|
89
|
+
}
|
|
90
|
+
return color;
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
console.warn = originalWarn;
|
|
94
|
+
ThreeColorManagement.enabled = originalColorManagementEnabled;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function normalizeColorArray(values, label) {
|
|
19
98
|
if (values.length !== 3 && values.length !== 4) {
|
|
20
|
-
throw new TypeError('Color arrays must be [r, g, b] or [r, g, b, a]');
|
|
99
|
+
throw new TypeError(label ? `${label} must be [r, g, b] or [r, g, b, a]` : 'Color arrays must be [r, g, b] or [r, g, b, a]');
|
|
100
|
+
}
|
|
101
|
+
return [
|
|
102
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(values[0], colorComponentLabel(label, 0, 'r'))),
|
|
103
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(values[1], colorComponentLabel(label, 1, 'g'))),
|
|
104
|
+
(0, math_1.clamp01)(assertFiniteColorComponent(values[2], colorComponentLabel(label, 2, 'b'))),
|
|
105
|
+
(0, math_1.clamp01)(values.length === 4 ? assertFiniteColorComponent(values[3], colorComponentLabel(label, 3, 'a')) : 1),
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
function resolveBackground(scene, options, hasBackgroundTexture = false, fallbackBackground = exports.DEFAULT_BACKGROUND_COLOR, outputColorSpace = options.outputColorSpace) {
|
|
109
|
+
const hasBackgroundOverride = options.background !== undefined;
|
|
110
|
+
if (hasBackgroundOverride) {
|
|
111
|
+
const color = strictBackgroundColorToArray(options.background, 'options.background', outputColorSpace);
|
|
112
|
+
if (color)
|
|
113
|
+
return color;
|
|
114
|
+
if (options.background == null || hasBackgroundTexture)
|
|
115
|
+
return fallbackBackground;
|
|
116
|
+
throw new TypeError('options.background must be a color, texture, or null.');
|
|
21
117
|
}
|
|
118
|
+
const color = strictBackgroundColorToArray(scene.background, 'scene.background', outputColorSpace);
|
|
119
|
+
if (color)
|
|
120
|
+
return color;
|
|
121
|
+
if (scene.background == null || hasBackgroundTexture)
|
|
122
|
+
return fallbackBackground;
|
|
123
|
+
throw new TypeError('scene.background must be a color, texture, or null.');
|
|
124
|
+
}
|
|
125
|
+
function strictBackgroundColorToArray(value, label, outputColorSpace) {
|
|
126
|
+
const color = strictColorLikeToArray(value, label);
|
|
127
|
+
if (!color)
|
|
128
|
+
return null;
|
|
129
|
+
if (!isThreeColorLike(value) || outputColorSpaceIsLinear(outputColorSpace))
|
|
130
|
+
return color;
|
|
22
131
|
return [
|
|
23
|
-
(
|
|
24
|
-
(
|
|
25
|
-
(
|
|
26
|
-
|
|
132
|
+
linearToSrgb(color[0]),
|
|
133
|
+
linearToSrgb(color[1]),
|
|
134
|
+
linearToSrgb(color[2]),
|
|
135
|
+
color[3],
|
|
27
136
|
];
|
|
28
137
|
}
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
138
|
+
function isThreeColorLike(value) {
|
|
139
|
+
return typeof value === 'object' && value !== null && value.isColor === true;
|
|
140
|
+
}
|
|
141
|
+
function outputColorSpaceIsLinear(value) {
|
|
142
|
+
return value === 'srgb-linear' || value === 'linear-srgb' || value === 'linearsrgb' || value === 'linear';
|
|
143
|
+
}
|
|
144
|
+
function linearToSrgb(value) {
|
|
145
|
+
return value <= 0.0031308
|
|
146
|
+
? value * 12.92
|
|
147
|
+
: 1.055 * (value ** (1 / 2.4)) - 0.055;
|
|
148
|
+
}
|
|
149
|
+
function isColorShaped(value) {
|
|
150
|
+
return value.isColor === true || 'r' in value || 'g' in value || 'b' in value || 'a' in value;
|
|
151
|
+
}
|
|
152
|
+
function colorComponentLabel(label, index, component) {
|
|
153
|
+
return label ? `${label}[${index}]` : `color ${component}`;
|
|
154
|
+
}
|
|
155
|
+
function assertFiniteColorComponent(value, label) {
|
|
156
|
+
if (!Number.isFinite(value)) {
|
|
157
|
+
throw new TypeError(`${label} must be a finite number.`);
|
|
32
158
|
}
|
|
33
|
-
|
|
34
|
-
return color ?? [0.04, 0.045, 0.05, 1];
|
|
159
|
+
return value;
|
|
35
160
|
}
|
|
36
161
|
//# sourceMappingURL=color.js.map
|
package/dist/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../api/color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../api/color.ts"],"names":[],"mappings":"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"}
|