@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,365 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePostProcessingOptions = validatePostProcessingOptions;
4
+ exports.assertFinitePostProcessingNumber = assertFinitePostProcessingNumber;
5
+ exports.assertNormalizedPostProcessingNumber = assertNormalizedPostProcessingNumber;
6
+ exports.assertFinitePostProcessingBlend = assertFinitePostProcessingBlend;
7
+ exports.assertFiniteNumberOption = assertFiniteNumberOption;
8
+ exports.assertNonNegativeNumberOption = assertNonNegativeNumberOption;
9
+ exports.assertNormalizedNumberOption = assertNormalizedNumberOption;
10
+ exports.assertSupportedRenderTargetColorTexture = assertSupportedRenderTargetColorTexture;
11
+ exports.isReadableRenderTargetColorFormat = isReadableRenderTargetColorFormat;
12
+ exports.isReadableRenderTargetColorType = isReadableRenderTargetColorType;
13
+ exports.assertSupportedRenderTargetTextureDimensionality = assertSupportedRenderTargetTextureDimensionality;
14
+ exports.assertSupportedRenderTargetTextureClass = assertSupportedRenderTargetTextureClass;
15
+ exports.assertNonCubeCameraRenderTargetTextures = assertNonCubeCameraRenderTargetTextures;
16
+ exports.assertSupportedDepthTextureType = assertSupportedDepthTextureType;
17
+ exports.assertSupportedDepthTextureFormat = assertSupportedDepthTextureFormat;
18
+ exports.resolveSampleCount = resolveSampleCount;
19
+ exports.writeRenderTarget = writeRenderTarget;
20
+ exports.compositeActiveTargetColorBuffer = compositeActiveTargetColorBuffer;
21
+ exports.activeTargetCopyShaderAdditiveBlend = activeTargetCopyShaderAdditiveBlend;
22
+ exports.activeTargetCopyShaderMaterialInfo = activeTargetCopyShaderMaterialInfo;
23
+ exports.activeTargetShaderMaterialKind = activeTargetShaderMaterialKind;
24
+ exports.activeTargetUniformValue = activeTargetUniformValue;
25
+ exports.activeTargetCopyShaderFragment = activeTargetCopyShaderFragment;
26
+ exports.additiveCompositeColorBuffer = additiveCompositeColorBuffer;
27
+ exports.activeTargetRenderRect = activeTargetRenderRect;
28
+ exports.intersectPixelRects = intersectPixelRects;
29
+ const materials_1 = require("./materials");
30
+ const index_part_001_1 = require("./index.part-001");
31
+ const index_part_012_1 = require("./index.part-012");
32
+ const index_part_014_1 = require("./index.part-014");
33
+ const index_part_017_1 = require("./index.part-017");
34
+ const index_part_019_1 = require("./index.part-019");
35
+ const index_part_020_1 = require("./index.part-020");
36
+ const index_part_021_1 = require("./index.part-021");
37
+ function validatePostProcessingOptions(value) {
38
+ if (value == null || value === false)
39
+ return;
40
+ if (typeof value !== 'object' || Array.isArray(value)) {
41
+ throw new TypeError('options.postProcessing must be an object.');
42
+ }
43
+ const post = value;
44
+ if (post?.enabled != null && typeof post.enabled !== 'boolean') {
45
+ throw new TypeError('options.postProcessing.enabled must be a boolean.');
46
+ }
47
+ if (post?.enabled === false)
48
+ return;
49
+ assertFinitePostProcessingNumber(post?.exposure, 'options.postProcessing.exposure');
50
+ assertFinitePostProcessingNumber(post?.contrast, 'options.postProcessing.contrast');
51
+ assertFinitePostProcessingNumber(post?.saturation, 'options.postProcessing.saturation');
52
+ assertNormalizedPostProcessingNumber(post?.vignette, 'options.postProcessing.vignette');
53
+ assertFinitePostProcessingBlend(post?.grayscale, 'options.postProcessing.grayscale');
54
+ assertFinitePostProcessingBlend(post?.invert, 'options.postProcessing.invert');
55
+ }
56
+ function assertFinitePostProcessingNumber(value, label) {
57
+ assertFiniteNumberOption(value, label);
58
+ }
59
+ function assertNormalizedPostProcessingNumber(value, label) {
60
+ assertFiniteNumberOption(value, label);
61
+ if (typeof value === 'number' && (value < 0 || value > 1)) {
62
+ throw new TypeError(`${label} must be between 0 and 1.`);
63
+ }
64
+ }
65
+ function assertFinitePostProcessingBlend(value, label) {
66
+ if (value == null || typeof value === 'boolean')
67
+ return;
68
+ if (typeof value === 'number' && Number.isFinite(value)) {
69
+ if (value < 0 || value > 1) {
70
+ throw new TypeError(`${label} must be between 0 and 1.`);
71
+ }
72
+ return;
73
+ }
74
+ throw new TypeError(`${label} must be a finite number or boolean.`);
75
+ }
76
+ function assertFiniteNumberOption(value, label) {
77
+ if (value == null)
78
+ return;
79
+ if (typeof value === 'number' && Number.isFinite(value))
80
+ return;
81
+ throw new TypeError(`${label} must be a finite number.`);
82
+ }
83
+ function assertNonNegativeNumberOption(value, label) {
84
+ assertFiniteNumberOption(value, label);
85
+ if (typeof value === 'number' && value < 0) {
86
+ throw new TypeError(`${label} must be non-negative.`);
87
+ }
88
+ }
89
+ function assertNormalizedNumberOption(value, label) {
90
+ assertFiniteNumberOption(value, label);
91
+ if (typeof value === 'number' && (value < 0 || value > 1)) {
92
+ throw new TypeError(`${label} must be between 0 and 1.`);
93
+ }
94
+ }
95
+ function assertSupportedRenderTargetColorTexture(texture, label = 'target color texture') {
96
+ if (!texture)
97
+ return;
98
+ if (texture.isDepthTexture === true) {
99
+ throw new Error(`${label} uses a DepthTexture as a color attachment, which is not supported by @headless-three/renderer render targets. Use target.depthTexture for depth readback and a regular color texture for color output.`);
100
+ }
101
+ const format = texture.format;
102
+ if ((0, materials_1.isCompressedTextureFormat)(format)) {
103
+ throw new Error(`${label} format uses a compressed texture format, which is not supported by @headless-three/renderer render targets. Use a regular 2D target texture and compress output after readback if needed.`);
104
+ }
105
+ if (format != null &&
106
+ format !== index_part_012_1.AlphaFormat &&
107
+ format !== index_part_012_1.LuminanceFormat &&
108
+ format !== index_part_012_1.LuminanceAlphaFormat &&
109
+ format !== index_part_012_1.RedFormat &&
110
+ format !== index_part_012_1.RedIntegerFormat &&
111
+ format !== index_part_012_1.RGFormat &&
112
+ format !== index_part_012_1.RGIntegerFormat &&
113
+ format !== index_part_012_1.RGBFormat &&
114
+ format !== index_part_012_1.RGBIntegerFormat &&
115
+ format !== index_part_012_1.RGBAFormat &&
116
+ format !== index_part_012_1.RGBAIntegerFormat) {
117
+ throw new Error(`${label} format ${String(format)} is not supported by @headless-three/renderer yet. Use AlphaFormat, LuminanceFormat, LuminanceAlphaFormat, RedFormat, RedIntegerFormat, RGFormat, RGIntegerFormat, RGBFormat, RGBIntegerFormat, RGBAFormat, RGBAIntegerFormat, or omit format for RGBA8 readback.`);
118
+ }
119
+ const type = texture.type;
120
+ if (type != null &&
121
+ type !== index_part_012_1.UnsignedByteType &&
122
+ type !== index_part_012_1.ByteType &&
123
+ type !== index_part_012_1.ShortType &&
124
+ type !== index_part_012_1.UnsignedShortType &&
125
+ type !== index_part_012_1.IntType &&
126
+ type !== index_part_012_1.UnsignedIntType &&
127
+ type !== index_part_012_1.FloatType &&
128
+ type !== index_part_012_1.HalfFloatType &&
129
+ type !== index_part_012_1.UnsignedShort4444Type &&
130
+ type !== index_part_012_1.UnsignedShort5551Type &&
131
+ type !== index_part_012_1.UnsignedInt101111Type &&
132
+ type !== index_part_012_1.UnsignedInt5999Type) {
133
+ throw new Error(`${label} type ${String(type)} is not supported by @headless-three/renderer yet. Use UnsignedByteType, ByteType, ShortType, UnsignedShortType, IntType, UnsignedIntType, HalfFloatType, FloatType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedInt101111Type, UnsignedInt5999Type, or omit type for RGBA8 readback.`);
134
+ }
135
+ }
136
+ function isReadableRenderTargetColorFormat(format) {
137
+ return (format === index_part_012_1.AlphaFormat ||
138
+ format === index_part_012_1.LuminanceFormat ||
139
+ format === index_part_012_1.LuminanceAlphaFormat ||
140
+ format === index_part_012_1.RedFormat ||
141
+ format === index_part_012_1.RedIntegerFormat ||
142
+ format === index_part_012_1.RGFormat ||
143
+ format === index_part_012_1.RGIntegerFormat ||
144
+ format === index_part_012_1.RGBFormat ||
145
+ format === index_part_012_1.RGBIntegerFormat ||
146
+ format === index_part_012_1.RGBAFormat ||
147
+ format === index_part_012_1.RGBAIntegerFormat);
148
+ }
149
+ function isReadableRenderTargetColorType(type) {
150
+ return (type === index_part_012_1.UnsignedByteType ||
151
+ type === index_part_012_1.ByteType ||
152
+ type === index_part_012_1.ShortType ||
153
+ type === index_part_012_1.UnsignedShortType ||
154
+ type === index_part_012_1.IntType ||
155
+ type === index_part_012_1.UnsignedIntType ||
156
+ type === index_part_012_1.FloatType ||
157
+ type === index_part_012_1.HalfFloatType ||
158
+ type === index_part_012_1.UnsignedShort4444Type ||
159
+ type === index_part_012_1.UnsignedShort5551Type ||
160
+ type === index_part_012_1.UnsignedInt101111Type ||
161
+ type === index_part_012_1.UnsignedInt5999Type);
162
+ }
163
+ function assertSupportedRenderTargetTextureDimensionality(texture, label) {
164
+ if (!texture)
165
+ return;
166
+ if (texture.isDataArrayTexture === true ||
167
+ texture.isData3DTexture === true ||
168
+ texture.isArrayTexture === true ||
169
+ texture.is3DTexture === true) {
170
+ throw new Error(`${label} uses an array or 3D texture, which is not supported by @headless-three/renderer render targets yet. Use a single 2D texture target or render layers separately.`);
171
+ }
172
+ }
173
+ function assertSupportedRenderTargetTextureClass(texture, label) {
174
+ if (!texture)
175
+ return;
176
+ if (texture.isFramebufferTexture === true) {
177
+ throw new Error(`${label} uses a FramebufferTexture, which is not supported by @headless-three/renderer render targets. Use a regular target texture or target-like texture object for renderer-owned readback data.`);
178
+ }
179
+ if (texture.isStorageTexture === true) {
180
+ throw new Error(`${label} uses a StorageTexture, which is not supported by @headless-three/renderer render targets because WebGPU storage texture attachments are outside the scene-oriented output contract. Use a regular target texture or target-like texture object for renderer-owned readback data.`);
181
+ }
182
+ if (texture.isCompressedTexture === true) {
183
+ throw new Error(`${label} uses a compressed texture, which is not supported by @headless-three/renderer render targets. Use a regular 2D target texture and compress output after readback if needed.`);
184
+ }
185
+ }
186
+ function assertNonCubeCameraRenderTargetTextures(target) {
187
+ const colorTextures = (0, index_part_019_1.renderTargetColorTextures)(target);
188
+ for (let i = 0; i < colorTextures.length; i += 1) {
189
+ if (colorTextures[i]?.isCubeTexture === true) {
190
+ throw new Error(`${(0, index_part_017_1.targetColorTextureLabel)(i)} uses a cube texture, which is only supported when rendering with THREE.CubeCamera. Use a 2D texture target for regular cameras.`);
191
+ }
192
+ }
193
+ if (target.depthTexture?.isCubeTexture === true) {
194
+ throw new Error('target.depthTexture uses a cube texture, which is only supported when rendering with THREE.CubeCamera. Use a 2D depth texture target for regular cameras.');
195
+ }
196
+ }
197
+ function assertSupportedDepthTextureType(depthTexture) {
198
+ const type = depthTexture?.type;
199
+ if (type == null)
200
+ return;
201
+ if (type === index_part_012_1.UnsignedByteType ||
202
+ type === index_part_012_1.UnsignedShortType ||
203
+ type === index_part_012_1.UnsignedIntType ||
204
+ type === index_part_012_1.FloatType ||
205
+ type === index_part_012_1.HalfFloatType ||
206
+ type === index_part_012_1.UnsignedInt248Type)
207
+ return;
208
+ throw new Error(`target.depthTexture.type ${String(type)} is not supported by @headless-three/renderer yet. Use FloatType, HalfFloatType, UnsignedByteType, UnsignedShortType, UnsignedIntType, UnsignedInt248Type, or omit type for RGBA8 normalized depth readback.`);
209
+ }
210
+ function assertSupportedDepthTextureFormat(depthTexture) {
211
+ const format = depthTexture?.format;
212
+ if (format == null)
213
+ return;
214
+ if ((0, materials_1.isCompressedTextureFormat)(format)) {
215
+ throw new Error('target.depthTexture.format uses a compressed texture format, which is not supported by @headless-three/renderer render targets. Use DepthFormat or DepthStencilFormat for depth readback and compress output after readback if needed.');
216
+ }
217
+ if (format === index_part_012_1.DepthFormat) {
218
+ if (depthTexture?.type === index_part_012_1.UnsignedInt248Type) {
219
+ throw new Error('target.depthTexture.format DepthFormat is not supported with UnsignedInt248Type by @headless-three/renderer. Use DepthStencilFormat with UnsignedInt248Type, or use DepthFormat with a scalar depth texture type.');
220
+ }
221
+ return;
222
+ }
223
+ if (format === index_part_012_1.DepthStencilFormat) {
224
+ if (depthTexture?.type === index_part_012_1.UnsignedInt248Type)
225
+ return;
226
+ throw new Error('target.depthTexture.format DepthStencilFormat is only supported with UnsignedInt248Type by @headless-three/renderer. Use DepthFormat for scalar depth readback, or set type to UnsignedInt248Type for packed depth24-stencil8 readback.');
227
+ }
228
+ throw new Error(`target.depthTexture.format ${String(format)} is not supported by @headless-three/renderer yet. Use DepthFormat, or DepthStencilFormat with UnsignedInt248Type.`);
229
+ }
230
+ function resolveSampleCount(options) {
231
+ const requested = options.target?.sampleCount
232
+ ?? options.target?.samples
233
+ ?? options.sampleCount
234
+ ?? options.samples
235
+ ?? 1;
236
+ return requested > 1 ? requested : 1;
237
+ }
238
+ function writeRenderTarget(target, data, width, height, objectIdEntries, depthData, colorAttachments) {
239
+ target.width = width;
240
+ target.height = height;
241
+ target.data = data;
242
+ const image = target.image ?? (target.image = {});
243
+ image.data = data;
244
+ image.width = width;
245
+ image.height = height;
246
+ const texture = (0, index_part_019_1.renderTargetColorTexture)(target);
247
+ if (texture) {
248
+ (0, index_part_020_1.writeRenderTargetTexture)(texture, (0, index_part_020_1.colorTextureData)(texture, data), width, height);
249
+ }
250
+ for (const attachment of colorAttachments ?? []) {
251
+ (0, index_part_020_1.writeRenderTargetTexture)(attachment.texture, (0, index_part_020_1.colorTextureData)(attachment.texture, attachment.data), width, height);
252
+ }
253
+ if (target.depthTexture != null && depthData) {
254
+ (0, index_part_020_1.writeRenderTargetTexture)(target.depthTexture, (0, index_part_021_1.depthTextureData)(target.depthTexture, depthData), width, height);
255
+ }
256
+ (0, index_part_019_1.writeObjectIdMetadata)(target, objectIdEntries);
257
+ return target;
258
+ }
259
+ function compositeActiveTargetColorBuffer(target, data, width, height, options, autoClear, scene) {
260
+ if (autoClear)
261
+ return data;
262
+ const existing = (0, index_part_019_1.renderTargetExistingColorBuffer)(target.data, width, height);
263
+ if (!existing)
264
+ return data;
265
+ const rect = activeTargetRenderRect(options, width, height);
266
+ if (rect.width <= 0 || rect.height <= 0)
267
+ return existing;
268
+ const copyShaderBlend = activeTargetCopyShaderAdditiveBlend(scene, width, height);
269
+ if (copyShaderBlend) {
270
+ return additiveCompositeColorBuffer(existing, copyShaderBlend.sourceData ?? data, width, rect, copyShaderBlend.sourceScale);
271
+ }
272
+ if (rect.x === 0 && rect.y === 0 && rect.width === width && rect.height === height)
273
+ return data;
274
+ const output = Buffer.from(existing);
275
+ for (let row = 0; row < rect.height; row += 1) {
276
+ const rowStart = ((rect.y + row) * width + rect.x) * 4;
277
+ const rowEnd = rowStart + rect.width * 4;
278
+ data.copy(output, rowStart, rowStart, rowEnd);
279
+ }
280
+ return output;
281
+ }
282
+ function activeTargetCopyShaderAdditiveBlend(scene, width, height) {
283
+ if (!scene || scene.isMesh !== true || Array.isArray(scene.material))
284
+ return null;
285
+ if (Array.isArray(scene.children) && scene.children.length > 0)
286
+ return null;
287
+ const material = scene.material;
288
+ const copyShader = activeTargetCopyShaderMaterialInfo(material);
289
+ if (!copyShader || material?.blending !== index_part_001_1.AdditiveBlending)
290
+ return null;
291
+ const opacity = typeof copyShader.opacity === 'number' && Number.isFinite(copyShader.opacity)
292
+ ? Math.max(0, copyShader.opacity)
293
+ : 1;
294
+ if (material?.premultipliedAlpha === true) {
295
+ const source = (0, materials_1.extractTextureData)(material);
296
+ if (source && source.width === width && source.height === height) {
297
+ return { sourceScale: opacity, sourceData: source.data };
298
+ }
299
+ }
300
+ const sourceScale = material?.premultipliedAlpha === true && opacity > 0
301
+ ? 1 / opacity
302
+ : 1;
303
+ return { sourceScale };
304
+ }
305
+ function activeTargetCopyShaderMaterialInfo(material) {
306
+ if (!material || !activeTargetShaderMaterialKind(material))
307
+ return null;
308
+ if (!activeTargetCopyShaderFragment(material.fragmentShader))
309
+ return null;
310
+ const uniforms = material.uniforms;
311
+ if (!uniforms || typeof uniforms !== 'object' || Array.isArray(uniforms))
312
+ return null;
313
+ return {
314
+ opacity: activeTargetUniformValue(uniforms.opacity) ?? 1,
315
+ };
316
+ }
317
+ function activeTargetShaderMaterialKind(material) {
318
+ return material.isShaderMaterial === true || material.type === 'ShaderMaterial';
319
+ }
320
+ function activeTargetUniformValue(uniform) {
321
+ if (!uniform || typeof uniform !== 'object' || Array.isArray(uniform))
322
+ return undefined;
323
+ return uniform.value;
324
+ }
325
+ function activeTargetCopyShaderFragment(fragmentShader) {
326
+ if (typeof fragmentShader !== 'string')
327
+ return false;
328
+ const compact = fragmentShader.replace(/\s+/g, '');
329
+ return compact.includes('uniformfloatopacity;') &&
330
+ compact.includes('uniformsampler2DtDiffuse;') &&
331
+ compact.includes('texture2D(tDiffuse,vUv)') &&
332
+ compact.includes('gl_FragColor=opacity*texel;');
333
+ }
334
+ function additiveCompositeColorBuffer(existing, data, width, rect, sourceScale) {
335
+ const output = Buffer.from(existing);
336
+ for (let row = 0; row < rect.height; row += 1) {
337
+ const rowStart = ((rect.y + row) * width + rect.x) * 4;
338
+ const rowEnd = rowStart + rect.width * 4;
339
+ for (let offset = rowStart; offset < rowEnd; offset += 1) {
340
+ output[offset] = Math.min(255, Math.round(output[offset] + data[offset] * sourceScale));
341
+ }
342
+ }
343
+ return output;
344
+ }
345
+ function activeTargetRenderRect(options, width, height) {
346
+ const bounds = { x: 0, y: 0, width, height };
347
+ const viewport = (0, index_part_014_1.effectiveViewport)(options);
348
+ const viewportRect = viewport
349
+ ? intersectPixelRects(bounds, (0, index_part_014_1.rendererStatePixelRect)(viewport, undefined, undefined, undefined, (0, index_part_014_1.effectiveViewportLabel)(options)))
350
+ : bounds;
351
+ const scissor = (0, index_part_014_1.effectiveScissor)(options);
352
+ if (!scissor)
353
+ return viewportRect ?? bounds;
354
+ return intersectPixelRects(viewportRect ?? bounds, (0, index_part_014_1.rendererStatePixelRect)(scissor, undefined, undefined, undefined, (0, index_part_014_1.effectiveScissorLabel)(options))) ?? { x: 0, y: 0, width: 0, height: 0 };
355
+ }
356
+ function intersectPixelRects(a, b) {
357
+ const x = Math.max(a.x, b.x);
358
+ const y = Math.max(a.y, b.y);
359
+ const right = Math.min(a.x + a.width, b.x + b.width);
360
+ const bottom = Math.min(a.y + a.height, b.y + b.height);
361
+ if (right <= x || bottom <= y)
362
+ return null;
363
+ return { x, y, width: right - x, height: bottom - y };
364
+ }
365
+ //# sourceMappingURL=index.part-018.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-018.js","sourceRoot":"","sources":["../api/index.part-018.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { RenderTargetLike, RenderTargetTextureLike, RenderTargetImageLike, Color4, RenderObjectIdEntry } from './types';
2
+ import { PixelRect, PixelSize } from './index.part-012';
3
+ export declare function clearRenderTargetColor(target: RenderTargetLike, color: Color4, fallbackSize: PixelSize | null, rendererScissor: PixelRect | null, rendererScissorTest: boolean, activeCubeFace: number, activeMipmapLevel: number): void;
4
+ export declare function clearRenderTargetDepth(target: RenderTargetLike, depth: number, fallbackSize: PixelSize | null, rendererScissor: PixelRect | null, rendererScissorTest: boolean, activeCubeFace: number, activeMipmapLevel: number): void;
5
+ export declare function clearRenderTargetStencil(target: RenderTargetLike, stencil: number, fallbackDepth: number, fallbackSize: PixelSize | null, rendererScissor: PixelRect | null, rendererScissorTest: boolean, activeCubeFace: number, activeMipmapLevel: number): void;
6
+ export declare function renderTargetClearScissor(target: RenderTargetLike, rendererScissor: PixelRect | null, rendererScissorTest: boolean, width: number, height: number, activeMipmapLevel?: number): PixelRect | undefined;
7
+ export declare function renderTargetClearSize(target: RenderTargetLike, fallbackSize: PixelSize | null): {
8
+ width: number;
9
+ height: number;
10
+ } | null;
11
+ export declare function renderTargetClearImage(target: RenderTargetLike): RenderTargetImageLike | undefined;
12
+ export declare function renderTargetDepthImage(texture: RenderTargetTextureLike): RenderTargetImageLike | undefined;
13
+ export declare function renderTargetClearDimension(value: unknown): number | null;
14
+ export declare function renderTargetExistingColorBuffer(data: RenderTargetImageLike['data'] | undefined, width: number, height: number): Buffer | undefined;
15
+ export declare function clearColorBuffer(color: Color4, width: number, height: number, rect?: PixelRect, existing?: Buffer): Buffer;
16
+ export type ScalarDepthArray = Uint8Array | Uint16Array | Uint32Array | Float32Array;
17
+ export type ScalarDepthArrayConstructor<T extends ScalarDepthArray> = {
18
+ new (length: number): T;
19
+ new (array: ArrayLike<number>): T;
20
+ };
21
+ export declare function clearDepthTextureData(texture: RenderTargetTextureLike, depth: number, width: number, height: number, rect?: PixelRect, existing?: NonNullable<RenderTargetImageLike['data']>): NonNullable<RenderTargetImageLike['data']>;
22
+ export declare function clearPackedDepthData(depth: number, width: number, height: number, rect: PixelRect | undefined, existing: NonNullable<RenderTargetImageLike['data']> | undefined): Uint32Array;
23
+ export declare function clearPackedDepthStencilData(fallbackDepth: number, stencil: number, width: number, height: number, rect: PixelRect | undefined, existing: NonNullable<RenderTargetImageLike['data']> | undefined): Uint32Array;
24
+ export declare function clearScalarDepthData<T extends ScalarDepthArray>(ctor: ScalarDepthArrayConstructor<T>, existing: NonNullable<RenderTargetImageLike['data']> | undefined, width: number, height: number, rect: PixelRect | undefined, value: number): T;
25
+ export declare function clearDepthRgbaBuffer(depth: number, width: number, height: number, rect?: PixelRect, existing?: NonNullable<RenderTargetImageLike['data']>): Buffer;
26
+ export declare function writeObjectIdMetadata(target: RenderTargetLike, objectIdEntries?: RenderObjectIdEntry[]): void;
27
+ export declare function renderTargetColorTexture(target: RenderTargetLike): RenderTargetTextureLike | undefined;
28
+ export declare function renderTargetColorTextures(target: RenderTargetLike): RenderTargetTextureLike[];
29
+ //# sourceMappingURL=index.part-019.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-019.d.ts","sourceRoot":"","sources":["../api/index.part-019.ts"],"names":[],"mappings":"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"}