@headless-three/renderer 0.1.9 → 0.2.0

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.
Files changed (244) hide show
  1. package/README.md +44 -290
  2. package/dist/gpu-output.d.ts +81 -0
  3. package/dist/gpu-output.d.ts.map +1 -0
  4. package/dist/gpu-output.js +53 -0
  5. package/dist/gpu-output.js.map +1 -0
  6. package/dist/index.d.ts +26 -770
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +30 -6226
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.part-001.d.ts +95 -0
  11. package/dist/index.part-001.d.ts.map +1 -0
  12. package/dist/index.part-001.js +273 -0
  13. package/dist/index.part-001.js.map +1 -0
  14. package/dist/index.part-002.d.ts +69 -0
  15. package/dist/index.part-002.d.ts.map +1 -0
  16. package/dist/index.part-002.js +211 -0
  17. package/dist/index.part-002.js.map +1 -0
  18. package/dist/index.part-003.d.ts +105 -0
  19. package/dist/index.part-003.d.ts.map +1 -0
  20. package/dist/index.part-003.js +270 -0
  21. package/dist/index.part-003.js.map +1 -0
  22. package/dist/index.part-004.d.ts +78 -0
  23. package/dist/index.part-004.d.ts.map +1 -0
  24. package/dist/index.part-004.js +390 -0
  25. package/dist/index.part-004.js.map +1 -0
  26. package/dist/index.part-005.d.ts +75 -0
  27. package/dist/index.part-005.d.ts.map +1 -0
  28. package/dist/index.part-005.js +236 -0
  29. package/dist/index.part-005.js.map +1 -0
  30. package/dist/index.part-006.d.ts +105 -0
  31. package/dist/index.part-006.d.ts.map +1 -0
  32. package/dist/index.part-006.js +262 -0
  33. package/dist/index.part-006.js.map +1 -0
  34. package/dist/index.part-007.d.ts +112 -0
  35. package/dist/index.part-007.d.ts.map +1 -0
  36. package/dist/index.part-007.js +358 -0
  37. package/dist/index.part-007.js.map +1 -0
  38. package/dist/index.part-008.d.ts +238 -0
  39. package/dist/index.part-008.d.ts.map +1 -0
  40. package/dist/index.part-008.js +454 -0
  41. package/dist/index.part-008.js.map +1 -0
  42. package/dist/index.part-009.d.ts +46 -0
  43. package/dist/index.part-009.d.ts.map +1 -0
  44. package/dist/index.part-009.js +379 -0
  45. package/dist/index.part-009.js.map +1 -0
  46. package/dist/index.part-010.d.ts +23 -0
  47. package/dist/index.part-010.d.ts.map +1 -0
  48. package/dist/index.part-010.js +245 -0
  49. package/dist/index.part-010.js.map +1 -0
  50. package/dist/index.part-011.d.ts +21 -0
  51. package/dist/index.part-011.d.ts.map +1 -0
  52. package/dist/index.part-011.js +361 -0
  53. package/dist/index.part-011.js.map +1 -0
  54. package/dist/index.part-012.d.ts +115 -0
  55. package/dist/index.part-012.d.ts.map +1 -0
  56. package/dist/index.part-012.js +298 -0
  57. package/dist/index.part-012.js.map +1 -0
  58. package/dist/index.part-013.d.ts +37 -0
  59. package/dist/index.part-013.d.ts.map +1 -0
  60. package/dist/index.part-013.js +341 -0
  61. package/dist/index.part-013.js.map +1 -0
  62. package/dist/index.part-014.d.ts +43 -0
  63. package/dist/index.part-014.d.ts.map +1 -0
  64. package/dist/index.part-014.js +441 -0
  65. package/dist/index.part-014.js.map +1 -0
  66. package/dist/index.part-015.d.ts +45 -0
  67. package/dist/index.part-015.d.ts.map +1 -0
  68. package/dist/index.part-015.js +432 -0
  69. package/dist/index.part-015.js.map +1 -0
  70. package/dist/index.part-016.d.ts +55 -0
  71. package/dist/index.part-016.d.ts.map +1 -0
  72. package/dist/index.part-016.js +382 -0
  73. package/dist/index.part-016.js.map +1 -0
  74. package/dist/index.part-017.d.ts +55 -0
  75. package/dist/index.part-017.d.ts.map +1 -0
  76. package/dist/index.part-017.js +436 -0
  77. package/dist/index.part-017.js.map +1 -0
  78. package/dist/index.part-018.d.ts +34 -0
  79. package/dist/index.part-018.d.ts.map +1 -0
  80. package/dist/index.part-018.js +365 -0
  81. package/dist/index.part-018.js.map +1 -0
  82. package/dist/index.part-019.d.ts +29 -0
  83. package/dist/index.part-019.d.ts.map +1 -0
  84. package/dist/index.part-019.js +261 -0
  85. package/dist/index.part-019.js.map +1 -0
  86. package/dist/index.part-020.d.ts +37 -0
  87. package/dist/index.part-020.d.ts.map +1 -0
  88. package/dist/index.part-020.js +388 -0
  89. package/dist/index.part-020.js.map +1 -0
  90. package/dist/index.part-021.d.ts +10 -0
  91. package/dist/index.part-021.d.ts.map +1 -0
  92. package/dist/index.part-021.js +142 -0
  93. package/dist/index.part-021.js.map +1 -0
  94. package/dist/loaders.d.ts +27 -91
  95. package/dist/loaders.d.ts.map +1 -1
  96. package/dist/loaders.js +22 -855
  97. package/dist/loaders.js.map +1 -1
  98. package/dist/loaders.part-001.d.ts +163 -0
  99. package/dist/loaders.part-001.d.ts.map +1 -0
  100. package/dist/loaders.part-001.js +277 -0
  101. package/dist/loaders.part-001.js.map +1 -0
  102. package/dist/loaders.part-002.d.ts +33 -0
  103. package/dist/loaders.part-002.d.ts.map +1 -0
  104. package/dist/loaders.part-002.js +511 -0
  105. package/dist/loaders.part-002.js.map +1 -0
  106. package/dist/loaders.part-003.d.ts +23 -0
  107. package/dist/loaders.part-003.d.ts.map +1 -0
  108. package/dist/loaders.part-003.js +138 -0
  109. package/dist/loaders.part-003.js.map +1 -0
  110. package/dist/materials.d.ts +33 -49
  111. package/dist/materials.d.ts.map +1 -1
  112. package/dist/materials.js +39 -4339
  113. package/dist/materials.js.map +1 -1
  114. package/dist/materials.part-001.d.ts +153 -0
  115. package/dist/materials.part-001.d.ts.map +1 -0
  116. package/dist/materials.part-001.js +347 -0
  117. package/dist/materials.part-001.js.map +1 -0
  118. package/dist/materials.part-002.d.ts +46 -0
  119. package/dist/materials.part-002.d.ts.map +1 -0
  120. package/dist/materials.part-002.js +299 -0
  121. package/dist/materials.part-002.js.map +1 -0
  122. package/dist/materials.part-003.d.ts +14 -0
  123. package/dist/materials.part-003.d.ts.map +1 -0
  124. package/dist/materials.part-003.js +438 -0
  125. package/dist/materials.part-003.js.map +1 -0
  126. package/dist/materials.part-004.d.ts +30 -0
  127. package/dist/materials.part-004.d.ts.map +1 -0
  128. package/dist/materials.part-004.js +464 -0
  129. package/dist/materials.part-004.js.map +1 -0
  130. package/dist/materials.part-005.d.ts +38 -0
  131. package/dist/materials.part-005.d.ts.map +1 -0
  132. package/dist/materials.part-005.js +366 -0
  133. package/dist/materials.part-005.js.map +1 -0
  134. package/dist/materials.part-006.d.ts +18 -0
  135. package/dist/materials.part-006.d.ts.map +1 -0
  136. package/dist/materials.part-006.js +391 -0
  137. package/dist/materials.part-006.js.map +1 -0
  138. package/dist/materials.part-007.d.ts +24 -0
  139. package/dist/materials.part-007.d.ts.map +1 -0
  140. package/dist/materials.part-007.js +467 -0
  141. package/dist/materials.part-007.js.map +1 -0
  142. package/dist/materials.part-008.d.ts +95 -0
  143. package/dist/materials.part-008.d.ts.map +1 -0
  144. package/dist/materials.part-008.js +404 -0
  145. package/dist/materials.part-008.js.map +1 -0
  146. package/dist/materials.part-009.d.ts +89 -0
  147. package/dist/materials.part-009.d.ts.map +1 -0
  148. package/dist/materials.part-009.js +412 -0
  149. package/dist/materials.part-009.js.map +1 -0
  150. package/dist/materials.part-010.d.ts +46 -0
  151. package/dist/materials.part-010.d.ts.map +1 -0
  152. package/dist/materials.part-010.js +375 -0
  153. package/dist/materials.part-010.js.map +1 -0
  154. package/dist/materials.part-011.d.ts +25 -0
  155. package/dist/materials.part-011.d.ts.map +1 -0
  156. package/dist/materials.part-011.js +435 -0
  157. package/dist/materials.part-011.js.map +1 -0
  158. package/dist/materials.part-012.d.ts +15 -0
  159. package/dist/materials.part-012.d.ts.map +1 -0
  160. package/dist/materials.part-012.js +229 -0
  161. package/dist/materials.part-012.js.map +1 -0
  162. package/dist/scene.d.ts +19 -279
  163. package/dist/scene.d.ts.map +1 -1
  164. package/dist/scene.js +21 -3931
  165. package/dist/scene.js.map +1 -1
  166. package/dist/scene.part-001.d.ts +375 -0
  167. package/dist/scene.part-001.d.ts.map +1 -0
  168. package/dist/scene.part-001.js +20 -0
  169. package/dist/scene.part-001.js.map +1 -0
  170. package/dist/scene.part-002.d.ts +28 -0
  171. package/dist/scene.part-002.d.ts.map +1 -0
  172. package/dist/scene.part-002.js +311 -0
  173. package/dist/scene.part-002.js.map +1 -0
  174. package/dist/scene.part-003.d.ts +26 -0
  175. package/dist/scene.part-003.d.ts.map +1 -0
  176. package/dist/scene.part-003.js +384 -0
  177. package/dist/scene.part-003.js.map +1 -0
  178. package/dist/scene.part-004.d.ts +24 -0
  179. package/dist/scene.part-004.d.ts.map +1 -0
  180. package/dist/scene.part-004.js +287 -0
  181. package/dist/scene.part-004.js.map +1 -0
  182. package/dist/scene.part-005.d.ts +37 -0
  183. package/dist/scene.part-005.d.ts.map +1 -0
  184. package/dist/scene.part-005.js +350 -0
  185. package/dist/scene.part-005.js.map +1 -0
  186. package/dist/scene.part-006.d.ts +25 -0
  187. package/dist/scene.part-006.d.ts.map +1 -0
  188. package/dist/scene.part-006.js +362 -0
  189. package/dist/scene.part-006.js.map +1 -0
  190. package/dist/scene.part-007.d.ts +36 -0
  191. package/dist/scene.part-007.d.ts.map +1 -0
  192. package/dist/scene.part-007.js +417 -0
  193. package/dist/scene.part-007.js.map +1 -0
  194. package/dist/scene.part-008.d.ts +78 -0
  195. package/dist/scene.part-008.d.ts.map +1 -0
  196. package/dist/scene.part-008.js +416 -0
  197. package/dist/scene.part-008.js.map +1 -0
  198. package/dist/scene.part-009.d.ts +25 -0
  199. package/dist/scene.part-009.d.ts.map +1 -0
  200. package/dist/scene.part-009.js +330 -0
  201. package/dist/scene.part-009.js.map +1 -0
  202. package/dist/scene.part-010.d.ts +32 -0
  203. package/dist/scene.part-010.d.ts.map +1 -0
  204. package/dist/scene.part-010.js +336 -0
  205. package/dist/scene.part-010.js.map +1 -0
  206. package/dist/scene.part-011.d.ts +100 -0
  207. package/dist/scene.part-011.d.ts.map +1 -0
  208. package/dist/scene.part-011.js +262 -0
  209. package/dist/scene.part-011.js.map +1 -0
  210. package/dist/scene.part-012.d.ts +48 -0
  211. package/dist/scene.part-012.d.ts.map +1 -0
  212. package/dist/scene.part-012.js +357 -0
  213. package/dist/scene.part-012.js.map +1 -0
  214. package/dist/scene.part-013.d.ts +51 -0
  215. package/dist/scene.part-013.d.ts.map +1 -0
  216. package/dist/scene.part-013.js +368 -0
  217. package/dist/scene.part-013.js.map +1 -0
  218. package/dist/scene.part-014.d.ts +16 -0
  219. package/dist/scene.part-014.d.ts.map +1 -0
  220. package/dist/scene.part-014.js +112 -0
  221. package/dist/scene.part-014.js.map +1 -0
  222. package/dist/types.d.ts +53 -1564
  223. package/dist/types.d.ts.map +1 -1
  224. package/dist/types.js +4 -1
  225. package/dist/types.js.map +1 -1
  226. package/dist/types.part-001.d.ts +386 -0
  227. package/dist/types.part-001.d.ts.map +1 -0
  228. package/dist/types.part-001.js +4 -0
  229. package/dist/types.part-001.js.map +1 -0
  230. package/dist/types.part-002.d.ts +407 -0
  231. package/dist/types.part-002.d.ts.map +1 -0
  232. package/dist/types.part-002.js +3 -0
  233. package/dist/types.part-002.js.map +1 -0
  234. package/dist/types.part-003.d.ts +427 -0
  235. package/dist/types.part-003.d.ts.map +1 -0
  236. package/dist/types.part-003.js +3 -0
  237. package/dist/types.part-003.js.map +1 -0
  238. package/dist/types.part-004.d.ts +351 -0
  239. package/dist/types.part-004.d.ts.map +1 -0
  240. package/dist/types.part-004.js +3 -0
  241. package/dist/types.part-004.js.map +1 -0
  242. package/native.d.ts +40 -0
  243. package/native.js +53 -52
  244. package/package.json +16 -8
@@ -0,0 +1,390 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RendererLightingState = exports.RendererLightingNodeState = exports.RendererNodeLibraryState = exports.RendererNodesState = void 0;
4
+ const index_part_014_1 = require("./index.part-014");
5
+ const index_part_016_1 = require("./index.part-016");
6
+ const index_part_017_1 = require("./index.part-017");
7
+ class RendererNodesState {
8
+ constructor(renderer, backend) {
9
+ this.renderer = renderer;
10
+ this.backend = backend;
11
+ this.nodeBuilderCache = new Map();
12
+ this.callHashCache = new Map();
13
+ this.groupsData = new WeakMap();
14
+ this.cacheLib = {};
15
+ this.modelViewMatrix = null;
16
+ this.modelNormalViewMatrix = null;
17
+ this.data = new WeakMap();
18
+ this.nodeFrameValue = (0, index_part_017_1.rendererNodeFrame)();
19
+ this.outputNodeCacheKeys = new WeakMap();
20
+ }
21
+ get nodeFrame() {
22
+ return this.nodeFrameValue;
23
+ }
24
+ set nodeFrame(value) {
25
+ if (value == null || typeof value !== 'object' || Array.isArray(value)) {
26
+ throw new TypeError('Renderer.nodes.nodeFrame must be an object.');
27
+ }
28
+ this.nodeFrameValue = value;
29
+ }
30
+ get(object) {
31
+ (0, index_part_017_1.assertWeakMapKey)(object, 'Renderer.nodes.get object');
32
+ let map = this.data.get(object);
33
+ if (map === undefined) {
34
+ map = {};
35
+ this.data.set(object, map);
36
+ }
37
+ return map;
38
+ }
39
+ has(object) {
40
+ (0, index_part_017_1.assertWeakMapKey)(object, 'Renderer.nodes.has object');
41
+ return this.data.has(object);
42
+ }
43
+ delete(object) {
44
+ (0, index_part_017_1.assertWeakMapKey)(object, 'Renderer.nodes.delete object');
45
+ const map = this.data.get(object) ?? null;
46
+ this.data.delete(object);
47
+ return map;
48
+ }
49
+ dispose() {
50
+ this.data = new WeakMap();
51
+ this.nodeBuilderCache.clear();
52
+ this.callHashCache.clear();
53
+ for (const key of Object.keys(this.cacheLib)) {
54
+ delete this.cacheLib[key];
55
+ }
56
+ this.nodeFrameValue = (0, index_part_017_1.rendererNodeFrame)();
57
+ this.outputNodeCacheKeys = new WeakMap();
58
+ }
59
+ updateGroup(nodeUniformsGroup) {
60
+ if (nodeUniformsGroup == null || typeof nodeUniformsGroup !== 'object' || Array.isArray(nodeUniformsGroup)) {
61
+ throw new TypeError('Renderer.nodes.updateGroup nodeUniformsGroup must be an object.');
62
+ }
63
+ const groupNode = nodeUniformsGroup.groupNode;
64
+ if (groupNode == null || typeof groupNode !== 'object' || Array.isArray(groupNode)) {
65
+ throw new TypeError('Renderer.nodes.updateGroup nodeUniformsGroup.groupNode must be an object.');
66
+ }
67
+ const name = groupNode.name;
68
+ if (name === 'object')
69
+ return true;
70
+ const groupData = this.get(nodeUniformsGroup);
71
+ if (name === 'render') {
72
+ const renderId = this.nodeFrameValue.renderId;
73
+ if (groupData.renderId !== renderId) {
74
+ groupData.renderId = renderId;
75
+ return true;
76
+ }
77
+ return false;
78
+ }
79
+ if (name === 'frame') {
80
+ const frameId = this.nodeFrameValue.frameId;
81
+ if (groupData.frameId !== frameId) {
82
+ groupData.frameId = frameId;
83
+ return true;
84
+ }
85
+ return false;
86
+ }
87
+ const version = groupNode.version;
88
+ if (groupData.version !== version) {
89
+ groupData.version = version;
90
+ return true;
91
+ }
92
+ return false;
93
+ }
94
+ getForRenderCacheKey(renderObject) {
95
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.getForRenderCacheKey renderObject');
96
+ return renderObject.initialCacheKey
97
+ ?? this.backend.getRenderCacheKey(renderObject);
98
+ }
99
+ getForRender(renderObject) {
100
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.getForRender renderObject');
101
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.getForRender', 'render-object shader-node builder creation');
102
+ }
103
+ getForCompute(computeNode) {
104
+ (0, index_part_016_1.assertComputeNodeLike)(computeNode, 'Renderer.nodes.getForCompute computeNode');
105
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.getForCompute', 'compute shader-node builder creation');
106
+ }
107
+ _createNodeBuilderState(_nodeBuilder) {
108
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes._createNodeBuilderState', 'shader-node builder state creation');
109
+ }
110
+ updateEnvironment(scene) {
111
+ const sceneData = this.getSceneNodeData(scene, 'Renderer.nodes.updateEnvironment scene');
112
+ const environmentNode = scene.environmentNode;
113
+ if ((0, index_part_017_1.isNodeLike)(environmentNode)) {
114
+ sceneData.environmentNode = environmentNode;
115
+ }
116
+ else {
117
+ delete sceneData.environmentNode;
118
+ }
119
+ }
120
+ updateBackground(scene) {
121
+ const sceneData = this.getSceneNodeData(scene, 'Renderer.nodes.updateBackground scene');
122
+ const backgroundNode = scene.backgroundNode;
123
+ if ((0, index_part_017_1.isNodeLike)(backgroundNode)) {
124
+ sceneData.backgroundNode = backgroundNode;
125
+ }
126
+ else {
127
+ delete sceneData.backgroundNode;
128
+ }
129
+ }
130
+ updateFog(scene) {
131
+ const sceneData = this.getSceneNodeData(scene, 'Renderer.nodes.updateFog scene');
132
+ const fogNode = scene.fogNode;
133
+ if ((0, index_part_017_1.isNodeLike)(fogNode)) {
134
+ sceneData.fogNode = fogNode;
135
+ }
136
+ else {
137
+ delete sceneData.fogNode;
138
+ }
139
+ }
140
+ getEnvironmentNode(scene) {
141
+ this.updateEnvironment(scene);
142
+ return scene.environmentNode
143
+ ?? this.get(scene).environmentNode
144
+ ?? null;
145
+ }
146
+ getBackgroundNode(scene) {
147
+ this.updateBackground(scene);
148
+ return scene.backgroundNode
149
+ ?? this.get(scene).backgroundNode
150
+ ?? null;
151
+ }
152
+ getFogNode(scene) {
153
+ this.updateFog(scene);
154
+ return scene.fogNode
155
+ ?? this.get(scene).fogNode
156
+ ?? null;
157
+ }
158
+ getCacheKey(scene, lightsNode = null) {
159
+ (0, index_part_017_1.assertWeakMapKey)(scene, 'Renderer.nodes.getCacheKey scene');
160
+ let key = this.renderer.shadowMap.enabled ? 1 : 0;
161
+ if (lightsNode != null) {
162
+ (0, index_part_017_1.assertWeakMapKey)(lightsNode, 'Renderer.nodes.getCacheKey lightsNode');
163
+ const lightCacheKey = lightsNode.getCacheKey;
164
+ if (typeof lightCacheKey === 'function') {
165
+ key = (0, index_part_017_1.rendererSimpleHash)(`${key}:${String(lightCacheKey.call(lightsNode, true))}`);
166
+ }
167
+ }
168
+ return key;
169
+ }
170
+ get isToneMappingState() {
171
+ return this.renderer.getRenderTarget() == null;
172
+ }
173
+ getCacheNode(type, object, callback, forceUpdate = false) {
174
+ (0, index_part_017_1.assertNonEmptyString)(type, 'Renderer.nodes.getCacheNode type');
175
+ (0, index_part_017_1.assertWeakMapKey)(object, 'Renderer.nodes.getCacheNode object');
176
+ (0, index_part_017_1.assertFunction)(callback, 'Renderer.nodes.getCacheNode callback');
177
+ const shouldForceUpdate = (0, index_part_014_1.rendererStateBoolean)(forceUpdate, 'Renderer.nodes.getCacheNode forceUpdate');
178
+ let nodeCache = this.cacheLib[type];
179
+ if (nodeCache === undefined) {
180
+ nodeCache = new WeakMap();
181
+ this.cacheLib[type] = nodeCache;
182
+ }
183
+ let node = nodeCache.get(object);
184
+ if (node === undefined || shouldForceUpdate) {
185
+ node = callback();
186
+ nodeCache.set(object, node);
187
+ }
188
+ return node;
189
+ }
190
+ getNodeFrame(renderer = this.renderer, scene = null, object = null, camera = null, material = null) {
191
+ const nodeFrame = this.nodeFrameValue;
192
+ nodeFrame.renderer = renderer;
193
+ nodeFrame.scene = scene;
194
+ nodeFrame.object = object;
195
+ nodeFrame.camera = camera;
196
+ nodeFrame.material = material;
197
+ return nodeFrame;
198
+ }
199
+ getNodeFrameForRender(renderObject) {
200
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.getNodeFrameForRender renderObject');
201
+ return this.getNodeFrame(renderObject.renderer ?? this.renderer, renderObject.scene ?? null, renderObject.object ?? null, renderObject.camera ?? null, renderObject.material ?? null);
202
+ }
203
+ getOutputCacheKey() {
204
+ return `${this.renderer.toneMapping},${this.renderer.currentColorSpace}`;
205
+ }
206
+ hasOutputChange(outputTarget) {
207
+ (0, index_part_017_1.assertWeakMapKey)(outputTarget, 'Renderer.nodes.hasOutputChange outputTarget');
208
+ return this.outputNodeCacheKeys.get(outputTarget) !== this.getOutputCacheKey();
209
+ }
210
+ getOutputNode(outputTarget) {
211
+ (0, index_part_017_1.assertWeakMapKey)(outputTarget, 'Renderer.nodes.getOutputNode outputTarget');
212
+ const cacheKey = this.getOutputCacheKey();
213
+ this.outputNodeCacheKeys.set(outputTarget, cacheKey);
214
+ return {
215
+ isNode: true,
216
+ isHeadlessRendererOutputNode: true,
217
+ outputTarget,
218
+ toneMapping: this.renderer.toneMapping,
219
+ outputColorSpace: this.renderer.currentColorSpace,
220
+ };
221
+ }
222
+ updateBefore(renderObject) {
223
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.updateBefore renderObject');
224
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.updateBefore', 'shader-node updateBefore lifecycle dispatch');
225
+ }
226
+ updateAfter(renderObject) {
227
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.updateAfter renderObject');
228
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.updateAfter', 'shader-node updateAfter lifecycle dispatch');
229
+ }
230
+ updateForCompute(computeNode) {
231
+ (0, index_part_016_1.assertComputeNodeLike)(computeNode, 'Renderer.nodes.updateForCompute computeNode');
232
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.updateForCompute', 'compute shader-node update lifecycle dispatch');
233
+ }
234
+ updateForRender(renderObject) {
235
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.updateForRender renderObject');
236
+ throw (0, index_part_016_1.unsupportedNodeOperationError)('Renderer.nodes.updateForRender', 'render shader-node update lifecycle dispatch');
237
+ }
238
+ needsRefresh(renderObject) {
239
+ (0, index_part_017_1.assertWeakMapKey)(renderObject, 'Renderer.nodes.needsRefresh renderObject');
240
+ return false;
241
+ }
242
+ getSceneNodeData(scene, label) {
243
+ (0, index_part_017_1.assertWeakMapKey)(scene, label);
244
+ return this.get(scene);
245
+ }
246
+ }
247
+ exports.RendererNodesState = RendererNodesState;
248
+ class RendererNodeLibraryState {
249
+ constructor() {
250
+ this.lightNodes = new WeakMap();
251
+ this.materialNodes = new Map();
252
+ this.toneMappingNodes = new Map();
253
+ }
254
+ fromMaterial(material) {
255
+ if (material == null || typeof material !== 'object' || Array.isArray(material)) {
256
+ throw new TypeError('Renderer.library.fromMaterial material must be a material-like object.');
257
+ }
258
+ if (material.isNodeMaterial === true)
259
+ return material;
260
+ const materialType = material.type;
261
+ if (typeof materialType !== 'string' || materialType.length === 0)
262
+ return null;
263
+ const NodeMaterialClass = this.getMaterialNodeClass(materialType);
264
+ if (NodeMaterialClass === null)
265
+ return null;
266
+ const nodeMaterial = new NodeMaterialClass();
267
+ Object.assign(nodeMaterial, material);
268
+ return nodeMaterial;
269
+ }
270
+ addToneMapping(toneMappingNode, toneMapping) {
271
+ (0, index_part_017_1.assertFunction)(toneMappingNode, 'Renderer.library.addToneMapping toneMappingNode');
272
+ (0, index_part_017_1.assertFiniteInteger)(toneMapping, 'Renderer.library.addToneMapping toneMapping');
273
+ this.addType(toneMappingNode, toneMapping, this.toneMappingNodes);
274
+ }
275
+ getToneMappingFunction(toneMapping) {
276
+ (0, index_part_017_1.assertFiniteInteger)(toneMapping, 'Renderer.library.getToneMappingFunction toneMapping');
277
+ return this.toneMappingNodes.get(toneMapping) ?? null;
278
+ }
279
+ getMaterialNodeClass(materialType) {
280
+ (0, index_part_017_1.assertNonEmptyString)(materialType, 'Renderer.library.getMaterialNodeClass materialType');
281
+ return this.materialNodes.get(materialType) ?? null;
282
+ }
283
+ addMaterial(materialNodeClass, materialClassType) {
284
+ (0, index_part_017_1.assertConstructorFunction)(materialNodeClass, 'Renderer.library.addMaterial materialNodeClass');
285
+ (0, index_part_017_1.assertNonEmptyString)(materialClassType, 'Renderer.library.addMaterial materialClassType');
286
+ this.addType(materialNodeClass, materialClassType, this.materialNodes);
287
+ }
288
+ getLightNodeClass(light) {
289
+ (0, index_part_017_1.assertWeakMapKey)(light, 'Renderer.library.getLightNodeClass light');
290
+ return this.lightNodes.get(light) ?? null;
291
+ }
292
+ addLight(lightNodeClass, lightClass) {
293
+ (0, index_part_017_1.assertFunction)(lightNodeClass, 'Renderer.library.addLight lightNodeClass');
294
+ (0, index_part_017_1.assertConstructorFunction)(lightClass, 'Renderer.library.addLight lightClass');
295
+ this.addClass(lightNodeClass, lightClass, this.lightNodes);
296
+ }
297
+ addType(nodeClass, type, library) {
298
+ (0, index_part_017_1.assertFunction)(nodeClass, 'Renderer.library.addType nodeClass');
299
+ if ((typeof type !== 'string' && typeof type !== 'number') || (typeof type === 'string' && type.length === 0)) {
300
+ throw new TypeError('Renderer.library.addType type must be a non-empty string or integer.');
301
+ }
302
+ if (typeof type === 'number')
303
+ (0, index_part_017_1.assertFiniteInteger)(type, 'Renderer.library.addType type');
304
+ if (!library.has(type)) {
305
+ library.set(type, nodeClass);
306
+ }
307
+ }
308
+ addClass(nodeClass, baseClass, library) {
309
+ (0, index_part_017_1.assertFunction)(nodeClass, 'Renderer.library.addClass nodeClass');
310
+ (0, index_part_017_1.assertConstructorFunction)(baseClass, 'Renderer.library.addClass baseClass');
311
+ if (!library.has(baseClass)) {
312
+ library.set(baseClass, nodeClass);
313
+ }
314
+ }
315
+ }
316
+ exports.RendererNodeLibraryState = RendererNodeLibraryState;
317
+ class RendererLightingNodeState {
318
+ constructor(lights = []) {
319
+ this.isLightsNode = true;
320
+ this.lightsValue = [];
321
+ this.setLights(lights);
322
+ }
323
+ setLights(lights = []) {
324
+ if (!Array.isArray(lights)) {
325
+ throw new TypeError('Renderer.lighting lights must be an array.');
326
+ }
327
+ this.lightsValue = [...lights];
328
+ return this;
329
+ }
330
+ getLights() {
331
+ return [...this.lightsValue];
332
+ }
333
+ }
334
+ exports.RendererLightingNodeState = RendererLightingNodeState;
335
+ class RendererLightingState {
336
+ constructor() {
337
+ this.weakMap = new WeakMap();
338
+ this.defaultLightsNode = new RendererLightingNodeState();
339
+ }
340
+ createNode(lights = []) {
341
+ return new RendererLightingNodeState(lights);
342
+ }
343
+ get(keys) {
344
+ const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.lighting.get keys');
345
+ let map = this.weakMap;
346
+ for (let i = 0; i < keyPath.length; i += 1) {
347
+ map = map.get(keyPath[i]);
348
+ if (map === undefined)
349
+ return undefined;
350
+ }
351
+ return map.get(keyPath[keyPath.length - 1]);
352
+ }
353
+ set(keys, value) {
354
+ const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.lighting.set keys');
355
+ let map = this.weakMap;
356
+ for (const key of keyPath) {
357
+ if (!map.has(key)) {
358
+ map.set(key, new WeakMap());
359
+ }
360
+ map = map.get(key);
361
+ }
362
+ map.set(keyPath[keyPath.length - 1], value);
363
+ return this;
364
+ }
365
+ delete(keys) {
366
+ const keyPath = (0, index_part_017_1.assertWeakMapKeyArray)(keys, 'Renderer.lighting.delete keys');
367
+ let map = this.weakMap;
368
+ for (let i = 0; i < keyPath.length; i += 1) {
369
+ map = map.get(keyPath[i]);
370
+ if (map === undefined)
371
+ return false;
372
+ }
373
+ return map.delete(keyPath[keyPath.length - 1]);
374
+ }
375
+ getNode(scene, camera) {
376
+ (0, index_part_017_1.assertWeakMapKey)(scene, 'Renderer.lighting.getNode scene');
377
+ if (scene.isQuadMesh === true)
378
+ return this.defaultLightsNode;
379
+ (0, index_part_017_1.assertWeakMapKey)(camera, 'Renderer.lighting.getNode camera');
380
+ const keys = [scene, camera];
381
+ let node = this.get(keys);
382
+ if (node === undefined) {
383
+ node = this.createNode();
384
+ this.set(keys, node);
385
+ }
386
+ return node;
387
+ }
388
+ }
389
+ exports.RendererLightingState = RendererLightingState;
390
+ //# sourceMappingURL=index.part-004.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-004.js","sourceRoot":"","sources":["../api/index.part-004.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ export declare class RendererDomElementState {
2
+ width: number;
3
+ height: number;
4
+ private readonly attributes;
5
+ private readonly listeners;
6
+ readonly style: RendererDomElementStyle;
7
+ get clientWidth(): number;
8
+ get clientHeight(): number;
9
+ get offsetWidth(): number;
10
+ get offsetHeight(): number;
11
+ setSize(width: number, height: number, updateStyle?: boolean): void;
12
+ setAttribute(name: unknown, value: unknown): void;
13
+ getAttribute(name: unknown): string | null;
14
+ hasAttribute(name: unknown): boolean;
15
+ removeAttribute(name: unknown): void;
16
+ getBoundingClientRect(): {
17
+ x: number;
18
+ y: number;
19
+ width: number;
20
+ height: number;
21
+ top: number;
22
+ right: number;
23
+ bottom: number;
24
+ left: number;
25
+ };
26
+ getContext(): never;
27
+ toDataURL(_type?: unknown, _quality?: unknown): never;
28
+ toBlob(callback: unknown, _type?: unknown, _quality?: unknown): never;
29
+ captureStream(_frameRate?: unknown): never;
30
+ transferToImageBitmap(): never;
31
+ addEventListener(type: unknown, listener: unknown, _options?: unknown): void;
32
+ removeEventListener(type: unknown, listener: unknown, _options?: unknown): void;
33
+ dispatchEvent(event: unknown): boolean;
34
+ private stylePixelSize;
35
+ }
36
+ export type RendererDomElementStyle = {
37
+ width: string;
38
+ height: string;
39
+ setProperty(propertyName: unknown, value?: unknown): void;
40
+ getPropertyValue(propertyName: unknown): string;
41
+ removeProperty(propertyName: unknown): string;
42
+ [key: string]: unknown;
43
+ };
44
+ export declare function createRendererDomElementStyle(): RendererDomElementStyle;
45
+ export declare class RendererColorBufferState {
46
+ setMask(colorMask: unknown): void;
47
+ setLocked(lock: unknown): void;
48
+ setClear(r: unknown, g: unknown, b: unknown, a: unknown, premultipliedAlpha?: unknown): void;
49
+ reset(): void;
50
+ }
51
+ export declare class RendererDepthBufferState {
52
+ getReversed(): boolean;
53
+ setReversed(reversed: unknown): void;
54
+ setTest(depthTest: unknown): void;
55
+ setMask(depthMask: unknown): void;
56
+ setFunc(depthFunc: unknown): void;
57
+ setLocked(lock: unknown): void;
58
+ setClear(depth: unknown): void;
59
+ reset(): void;
60
+ }
61
+ export declare class RendererStencilBufferState {
62
+ setTest(stencilTest: unknown): void;
63
+ setMask(stencilMask: unknown): void;
64
+ setFunc(stencilFunc: unknown, stencilRef: unknown, stencilMask: unknown): void;
65
+ setOp(stencilFail: unknown, stencilZFail: unknown, stencilZPass: unknown): void;
66
+ setLocked(lock: unknown): void;
67
+ setClear(stencil: unknown): void;
68
+ reset(): void;
69
+ }
70
+ export declare class RendererStateBuffersState {
71
+ readonly color: RendererColorBufferState;
72
+ readonly depth: RendererDepthBufferState;
73
+ readonly stencil: RendererStencilBufferState;
74
+ }
75
+ //# sourceMappingURL=index.part-005.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-005.d.ts","sourceRoot":"","sources":["../api/index.part-005.ts"],"names":[],"mappings":"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"}