@woosh/meep-engine 3.14.1 → 3.14.3

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 (1282) hide show
  1. package/README.md +31 -24
  2. package/editor/prototypeEditorShell.js +6 -0
  3. package/package.json +1 -1
  4. package/src/CODEC_LAYOUT_VERIFICATION.md +420 -0
  5. package/src/core/binary/ByteCursor.d.ts +138 -0
  6. package/src/core/binary/ByteCursor.d.ts.map +1 -0
  7. package/src/core/binary/ByteCursor.js +325 -0
  8. package/src/core/binary/zstd/ZstdReverseBitReader.d.ts +76 -0
  9. package/src/core/binary/zstd/ZstdReverseBitReader.d.ts.map +1 -0
  10. package/src/core/binary/zstd/ZstdReverseBitReader.js +223 -0
  11. package/src/core/binary/zstd/zstd_decompress.d.ts +31 -0
  12. package/src/core/binary/zstd/zstd_decompress.d.ts.map +1 -0
  13. package/src/core/binary/zstd/zstd_decompress.js +628 -0
  14. package/src/core/binary/zstd/zstd_fse.d.ts +83 -0
  15. package/src/core/binary/zstd/zstd_fse.d.ts.map +1 -0
  16. package/src/core/binary/zstd/zstd_fse.js +265 -0
  17. package/src/core/binary/zstd/zstd_huffman.d.ts +56 -0
  18. package/src/core/binary/zstd/zstd_huffman.d.ts.map +1 -0
  19. package/src/core/binary/zstd/zstd_huffman.js +244 -0
  20. package/src/core/binary/zstd/zstd_sequence_tables.d.ts +62 -0
  21. package/src/core/binary/zstd/zstd_sequence_tables.d.ts.map +1 -0
  22. package/src/core/binary/zstd/zstd_sequence_tables.js +98 -0
  23. package/src/core/color/COLOR_REVIEW_2026_08_28.md +1 -1
  24. package/src/core/color/PQ/PQ_constants.d.ts +1 -1
  25. package/src/core/color/PQ/PQ_constants.js +1 -1
  26. package/src/engine/EngineHarness.js +1 -1
  27. package/src/engine/asset/GameAssetType.d.ts +1 -0
  28. package/src/engine/asset/GameAssetType.js +8 -0
  29. package/src/engine/asset/codec/Codec.d.ts.map +1 -0
  30. package/src/engine/asset/codec/CodecWithFallback.d.ts.map +1 -0
  31. package/src/engine/asset/codec/CodecWithFallback.js +105 -0
  32. package/src/engine/asset/codec/DecodedImage.d.ts +39 -0
  33. package/src/engine/asset/codec/DecodedImage.d.ts.map +1 -0
  34. package/src/engine/asset/codec/DecodedImage.js +26 -0
  35. package/src/engine/asset/guessAssetType.d.ts.map +1 -1
  36. package/src/engine/asset/guessAssetType.js +10 -0
  37. package/src/engine/asset/load_model_scene_bundle.d.ts +1 -1
  38. package/src/engine/asset/load_model_scene_bundle.d.ts.map +1 -1
  39. package/src/engine/asset/load_model_scene_bundle.js +6 -2
  40. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts +37 -0
  41. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts.map +1 -0
  42. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.js +104 -0
  43. package/src/engine/asset/loaders/image/IMAGE_CODEC_REVIEW_2026_08_28.md +87 -75
  44. package/src/engine/asset/loaders/image/ImageDecoderWorker.js +2 -2
  45. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts +9 -10
  46. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts.map +1 -1
  47. package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +13 -4
  48. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts +70 -0
  49. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -0
  50. package/src/engine/asset/loaders/image/avif/encode_image_source.js +117 -0
  51. package/src/engine/asset/loaders/image/avif/encoder_worker.d.ts.map +1 -0
  52. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -0
  53. package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts +34 -0
  54. package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts.map +1 -0
  55. package/src/engine/asset/loaders/image/codec/AvifCodec.js +85 -0
  56. package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts +26 -0
  57. package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts.map +1 -0
  58. package/src/engine/asset/loaders/image/codec/JpegCodec.js +66 -0
  59. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts +5 -17
  60. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts.map +1 -1
  61. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +3 -3
  62. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts +22 -2
  63. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts.map +1 -1
  64. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.js +22 -2
  65. package/src/engine/asset/loaders/image/prototypePNG.d.ts.map +1 -0
  66. package/src/engine/asset/loaders/image/prototypePNG.js +37 -0
  67. package/src/engine/asset/preloader/extractAssetListFromManager.d.ts.map +1 -1
  68. package/src/engine/asset/preloader/extractAssetListFromManager.js +2 -1
  69. package/src/engine/graphics/ecs/mesh/assetTypeByPath.d.ts.map +1 -1
  70. package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +6 -0
  71. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts.map +1 -1
  72. package/src/engine/graphics/texture/atlas/TextureAtlas.js +13 -0
  73. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts +25 -0
  74. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts.map +1 -0
  75. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.js +42 -0
  76. package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.d.ts.map +1 -0
  77. package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.js +94 -0
  78. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts +19 -0
  79. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts.map +1 -0
  80. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.js +62 -0
  81. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts +30 -0
  82. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts.map +1 -0
  83. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.js +115 -0
  84. package/src/engine/graphics/texture/sampler/sampler2d_to_avif.d.ts.map +1 -0
  85. package/src/engine/graphics/texture/sampler/sampler2d_to_avif.js +108 -0
  86. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts +7 -1
  87. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts.map +1 -1
  88. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.js +28 -21
  89. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.d.ts.map +1 -1
  90. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.js +3 -0
  91. package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
  92. package/src/engine/physics/broadphase/generate_pairs.js +7 -1
  93. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  94. package/src/format/image/avif/DECISIONS.md +545 -0
  95. package/src/format/image/avif/api/AvifDecoder.d.ts.map +1 -0
  96. package/src/format/image/avif/api/apply_transformations.d.ts.map +1 -0
  97. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -0
  98. package/src/format/image/avif/api/convert_to_rgba.js +204 -0
  99. package/src/format/image/avif/api/decode_avif.d.ts.map +1 -0
  100. package/src/format/image/avif/api/decode_image_item.d.ts.map +1 -0
  101. package/src/format/image/avif/api/encode_avif.d.ts.map +1 -0
  102. package/src/format/image/avif/av1/decode/Av1FrameContext.d.ts.map +1 -0
  103. package/src/format/image/avif/av1/decode/block_decoded.d.ts.map +1 -0
  104. package/src/format/image/avif/av1/decode/decode_av1_still.d.ts.map +1 -0
  105. package/src/format/image/avif/av1/decode/decode_coefficients.d.ts.map +1 -0
  106. package/src/format/image/avif/av1/decode/decode_palette.d.ts.map +1 -0
  107. package/src/format/image/avif/av1/decode/decode_palette.js +442 -0
  108. package/src/format/image/avif/av1/decode/decode_tile.d.ts.map +1 -0
  109. package/src/format/image/avif/av1/decode/decode_tile.js +1213 -0
  110. package/src/format/image/avif/av1/decode/get_scan.d.ts.map +1 -0
  111. package/src/format/image/avif/av1/decode/read_lr.d.ts.map +1 -0
  112. package/src/format/image/avif/av1/decode/read_lr.js +277 -0
  113. package/src/format/image/avif/av1/decode/read_transform_type.d.ts.map +1 -0
  114. package/src/format/image/avif/av1/decode/read_transform_type.js +92 -0
  115. package/src/format/image/avif/av1/decode/reconstruct.d.ts.map +1 -0
  116. package/src/format/image/avif/av1/decode/reconstruct.js +241 -0
  117. package/src/format/image/avif/av1/decode/transform_type.d.ts.map +1 -0
  118. package/src/format/image/avif/av1/encode/Av1BlockSnapshot.d.ts.map +1 -0
  119. package/src/format/image/avif/av1/encode/Av1EncodeContext.d.ts.map +1 -0
  120. package/src/format/image/avif/av1/encode/build_headers.d.ts.map +1 -0
  121. package/src/format/image/avif/av1/encode/choose_chroma_alpha.d.ts.map +1 -0
  122. package/src/format/image/avif/av1/encode/choose_filters.d.ts.map +1 -0
  123. package/src/format/image/avif/av1/encode/choose_restoration.d.ts.map +1 -0
  124. package/src/format/image/avif/av1/encode/choose_restoration.js +616 -0
  125. package/src/format/image/avif/av1/encode/decode_effort.d.ts.map +1 -0
  126. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -0
  127. package/src/format/image/avif/av1/encode/encode_effort.d.ts.map +1 -0
  128. package/src/format/image/avif/av1/encode/encode_tile.d.ts.map +1 -0
  129. package/src/format/image/avif/av1/encode/encode_tile.js +2331 -0
  130. package/src/format/image/avif/av1/encode/quantise.d.ts.map +1 -0
  131. package/src/format/image/avif/av1/encode/write_coefficients.d.ts.map +1 -0
  132. package/src/format/image/avif/av1/encode/write_lr.d.ts.map +1 -0
  133. package/src/format/image/avif/av1/encode/write_transform_type.d.ts.map +1 -0
  134. package/src/format/image/avif/av1/entropy/CdfContext.d.ts.map +1 -0
  135. package/src/format/image/avif/av1/entropy/SymbolReader.d.ts.map +1 -0
  136. package/src/format/image/avif/av1/entropy/SymbolWriter.d.ts.map +1 -0
  137. package/src/format/image/avif/av1/entropy/coefficient_context.d.ts.map +1 -0
  138. package/src/format/image/avif/av1/entropy/partition_cdf.d.ts.map +1 -0
  139. package/src/format/image/avif/av1/entropy/symbol_cost.d.ts.map +1 -0
  140. package/src/format/image/avif/av1/filter/cdef.d.ts.map +1 -0
  141. package/src/format/image/avif/av1/filter/cdef.js +313 -0
  142. package/src/format/image/avif/av1/filter/loop_filter.d.ts.map +1 -0
  143. package/src/format/image/avif/av1/filter/loop_filter.js +377 -0
  144. package/src/format/image/avif/av1/filter/loop_restoration.d.ts.map +1 -0
  145. package/src/format/image/avif/av1/filter/loop_restoration.js +451 -0
  146. package/src/format/image/avif/av1/filter/superres.d.ts.map +1 -0
  147. package/src/format/image/avif/av1/filter/superres.js +86 -0
  148. package/src/format/image/avif/av1/grain/FilmGrainState.d.ts.map +1 -0
  149. package/src/format/image/avif/av1/grain/film_grain.d.ts.map +1 -0
  150. package/src/format/image/avif/av1/grain/film_grain.js +623 -0
  151. package/src/format/image/avif/av1/obu/FrameHeader.d.ts.map +1 -0
  152. package/src/format/image/avif/av1/obu/ObuHeader.d.ts.map +1 -0
  153. package/src/format/image/avif/av1/obu/SequenceHeader.d.ts.map +1 -0
  154. package/src/format/image/avif/av1/obu/for_each_obu.d.ts.map +1 -0
  155. package/src/format/image/avif/av1/obu/parse_frame_header.d.ts.map +1 -0
  156. package/src/format/image/avif/av1/obu/parse_frame_header.js +841 -0
  157. package/src/format/image/avif/av1/obu/parse_obu_header.d.ts.map +1 -0
  158. package/src/format/image/avif/av1/obu/parse_sequence_header.d.ts.map +1 -0
  159. package/src/format/image/avif/av1/obu/write_frame_header.d.ts.map +1 -0
  160. package/src/format/image/avif/av1/obu/write_sequence_header.d.ts.map +1 -0
  161. package/src/format/image/avif/av1/predict/IntraPredictionState.d.ts.map +1 -0
  162. package/src/format/image/avif/av1/predict/intra_filter_type.d.ts.map +1 -0
  163. package/src/format/image/avif/av1/predict/predict_chroma_from_luma.d.ts.map +1 -0
  164. package/src/format/image/avif/av1/predict/predict_chroma_from_luma.js +153 -0
  165. package/src/format/image/avif/av1/predict/predict_intra.d.ts.map +1 -0
  166. package/src/format/image/avif/av1/predict/predict_intra.js +803 -0
  167. package/src/format/image/avif/av1/predict/predict_palette.d.ts.map +1 -0
  168. package/src/format/image/avif/av1/tables/av1_symbols.d.ts.map +1 -0
  169. package/src/format/image/avif/av1/tables/av1_symbols.js +419 -0
  170. package/src/format/image/avif/av1/tables/block_tables.d.ts.map +1 -0
  171. package/src/format/image/avif/av1/tables/block_tables.js +270 -0
  172. package/src/format/image/avif/av1/tables/cdf_tables.d.ts.map +1 -0
  173. package/src/format/image/avif/av1/tables/cdf_tables.js +1893 -0
  174. package/src/format/image/avif/av1/tables/coefficient_tables.d.ts.map +1 -0
  175. package/src/format/image/avif/av1/tables/coefficient_tables.js +82 -0
  176. package/src/format/image/avif/av1/tables/derived_block_tables.d.ts.map +1 -0
  177. package/src/format/image/avif/av1/tables/filter_tables.d.ts.map +1 -0
  178. package/src/format/image/avif/av1/tables/filter_tables.js +313 -0
  179. package/src/format/image/avif/av1/tables/grain_tables.d.ts.map +1 -0
  180. package/src/format/image/avif/av1/tables/grain_tables.js +190 -0
  181. package/src/format/image/avif/av1/tables/prediction_tables.d.ts.map +1 -0
  182. package/src/format/image/avif/av1/tables/prediction_tables.js +223 -0
  183. package/src/format/image/avif/av1/tables/quantizer_matrix_tables.d.ts.map +1 -0
  184. package/src/format/image/avif/av1/tables/quantizer_matrix_tables.js +38 -0
  185. package/src/format/image/avif/av1/tables/quantizer_tables.d.ts.map +1 -0
  186. package/src/format/image/avif/av1/tables/quantizer_tables.js +160 -0
  187. package/src/format/image/avif/av1/tables/scan_tables.d.ts.map +1 -0
  188. package/src/format/image/avif/av1/tables/scan_tables.js +727 -0
  189. package/src/format/image/avif/av1/tables/segmentation_tables.d.ts.map +1 -0
  190. package/src/format/image/avif/av1/tables/segmentation_tables.js +48 -0
  191. package/src/format/image/avif/av1/tables/transform_tables.d.ts.map +1 -0
  192. package/src/format/image/avif/av1/tables/transform_tables.js +140 -0
  193. package/src/format/image/avif/av1/tables/unpack_table.d.ts.map +1 -0
  194. package/src/format/image/avif/av1/tables/unpack_table.js +73 -0
  195. package/src/format/image/avif/av1/transform/forward_transform_2d.d.ts.map +1 -0
  196. package/src/format/image/avif/av1/transform/inverse_transform_1d.d.ts.map +1 -0
  197. package/src/format/image/avif/av1/transform/inverse_transform_1d.js +590 -0
  198. package/src/format/image/avif/av1/transform/inverse_transform_2d.d.ts.map +1 -0
  199. package/src/format/image/avif/av1/transform/inverse_transform_2d.js +180 -0
  200. package/src/format/image/avif/av1/util/ceil_log2.d.ts.map +1 -0
  201. package/src/format/image/avif/av1/util/floor_log2.d.ts +20 -0
  202. package/src/format/image/avif/av1/util/floor_log2.d.ts.map +1 -0
  203. package/src/format/image/avif/av1/util/floor_log2.js +20 -0
  204. package/src/format/image/avif/av1/util/round2.d.ts.map +1 -0
  205. package/src/format/image/avif/av1/util/round2_signed.d.ts.map +1 -0
  206. package/src/format/image/avif/av1/util/tile_log2.d.ts.map +1 -0
  207. package/src/format/image/avif/bitstream/BitReader.d.ts.map +1 -0
  208. package/src/format/image/avif/bitstream/BitWriter.d.ts.map +1 -0
  209. package/src/format/image/avif/color/ColourTransform.d.ts.map +1 -0
  210. package/src/format/image/avif/color/YuvImage.d.ts.map +1 -0
  211. package/src/format/image/avif/color/clamp_sample.d.ts.map +1 -0
  212. package/src/format/image/avif/color/linear_to_transfer.d.ts.map +1 -0
  213. package/src/format/image/avif/color/linear_to_transfer.js +126 -0
  214. package/src/format/image/avif/color/primaries.d.ts.map +1 -0
  215. package/src/format/image/avif/color/rgb_row_to_ycbcr.d.ts.map +1 -0
  216. package/src/format/image/avif/color/transfer_to_linear.d.ts.map +1 -0
  217. package/src/format/image/avif/color/transfer_to_linear.js +171 -0
  218. package/src/format/image/avif/color/upsample_chroma_row.d.ts.map +1 -0
  219. package/src/format/image/avif/color/upsample_chroma_row.js +89 -0
  220. package/src/format/image/avif/color/ycbcr_row_to_rgb.d.ts.map +1 -0
  221. package/src/format/image/avif/color/ycbcr_row_to_rgb.js +78 -0
  222. package/src/format/image/avif/heif/AvifFile.d.ts.map +1 -0
  223. package/src/format/image/avif/heif/ItemProperty.d.ts.map +1 -0
  224. package/src/format/image/avif/heif/find_item_property.d.ts.map +1 -0
  225. package/src/format/image/avif/heif/find_item_references.d.ts.map +1 -0
  226. package/src/format/image/avif/heif/find_items_referencing.d.ts.map +1 -0
  227. package/src/format/image/avif/heif/parse_avif_file.d.ts.map +1 -0
  228. package/src/format/image/avif/heif/parse_avif_file.js +384 -0
  229. package/src/format/image/avif/heif/parse_image_grid.d.ts.map +1 -0
  230. package/src/format/image/avif/heif/parse_image_grid.js +49 -0
  231. package/src/format/image/avif/heif/parse_item_property.d.ts.map +1 -0
  232. package/src/format/image/avif/heif/read_item_data.d.ts.map +1 -0
  233. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -0
  234. package/src/format/image/avif/heif/write_item_property.d.ts.map +1 -0
  235. package/src/format/image/avif/index.d.ts +12 -0
  236. package/src/format/image/avif/index.d.ts.map +1 -0
  237. package/src/format/image/avif/index.js +58 -0
  238. package/src/format/image/avif/isobmff/BoxHeader.d.ts.map +1 -0
  239. package/src/format/image/avif/isobmff/BoxWriter.d.ts +118 -0
  240. package/src/format/image/avif/isobmff/BoxWriter.d.ts.map +1 -0
  241. package/src/format/image/avif/isobmff/BoxWriter.js +264 -0
  242. package/src/format/image/avif/isobmff/for_each_box.d.ts.map +1 -0
  243. package/src/format/image/avif/isobmff/read_box_header.d.ts.map +1 -0
  244. package/src/format/image/avif/isobmff/read_full_box_header.d.ts.map +1 -0
  245. package/src/format/image/jpeg/JpegFrame.d.ts.map +1 -0
  246. package/src/format/image/jpeg/JpegFrameComponent.d.ts.map +1 -0
  247. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -0
  248. package/src/format/image/jpeg/JpegImage.js +664 -0
  249. package/src/format/image/jpeg/buildComponentData.d.ts.map +1 -0
  250. package/src/format/image/jpeg/buildHuffmanTable.d.ts.map +1 -0
  251. package/src/format/image/jpeg/decodeScan.d.ts.map +1 -0
  252. package/src/format/image/jpeg/idct8x8_float.d.ts.map +1 -0
  253. package/src/format/image/jpeg/idct8x8_float.js +31 -0
  254. package/src/format/image/jpeg/jpeg_component_row.d.ts.map +1 -0
  255. package/src/format/image/jpeg/jpeg_decode.d.ts.map +1 -0
  256. package/src/format/image/png/PNG.d.ts.map +1 -0
  257. package/src/format/image/png/PNGReader.d.ts +158 -0
  258. package/src/format/image/png/PNGReader.d.ts.map +1 -0
  259. package/src/format/image/png/PNGReader.js +656 -0
  260. package/src/format/image/png/PNG_HEADER_BYTES.d.ts.map +1 -0
  261. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -0
  262. package/src/format/image/png/chunk/png_chunk_decode_iTXt.js +53 -0
  263. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -0
  264. package/src/format/image/png/chunk/png_chunk_decode_zTXt.js +42 -0
  265. package/src/format/image/png/crc32.d.ts +2 -0
  266. package/src/format/image/png/crc32.d.ts.map +1 -0
  267. package/src/format/image/png/crc32.js +8 -0
  268. package/src/format/image/png/filter/png_filter_unFilterAverage.d.ts.map +1 -0
  269. package/src/format/image/png/filter/png_filter_unFilterNone.d.ts.map +1 -0
  270. package/src/format/image/png/filter/png_filter_unFilterPaeth.d.ts.map +1 -0
  271. package/src/format/image/png/filter/png_filter_unFilterSub.d.ts.map +1 -0
  272. package/src/format/image/png/filter/png_filter_unFilterUp.d.ts.map +1 -0
  273. package/src/format/image/png/filter/png_unfilter.d.ts.map +1 -0
  274. package/src/format/image/png/filter/png_unfilter.js +68 -0
  275. package/src/format/image/png/png_inflate.d.ts.map +1 -0
  276. package/src/format/image/png/png_unpack_samples.d.ts.map +1 -0
  277. package/src/format/scene/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +1 -0
  278. package/src/format/scene/gltf/MESHOPT_COMPRESSION_PLAN.md +793 -0
  279. package/src/format/scene/gltf/coalesce_array_duplicates.d.ts.map +1 -0
  280. package/src/format/scene/gltf/ext/GltfBufferViewExtension.d.ts.map +1 -0
  281. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -0
  282. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.js +109 -0
  283. package/src/format/scene/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +1 -0
  284. package/src/format/scene/gltf/ext/gltf_buffer_view_extensions.d.ts.map +1 -0
  285. package/src/format/scene/gltf/ext/gltf_geometry_extensions.d.ts.map +1 -0
  286. package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +1 -0
  287. package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.js +301 -0
  288. package/src/format/scene/gltf/gltf_component_type.d.ts.map +1 -0
  289. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -0
  290. package/src/format/scene/gltf/gltf_node_world_matrices.js +137 -0
  291. package/src/format/scene/gltf/gltf_parse_container.d.ts.map +1 -0
  292. package/src/format/scene/gltf/gltf_read_accessor.d.ts.map +1 -0
  293. package/src/format/scene/gltf/gltf_read_accessor.js +294 -0
  294. package/src/format/scene/gltf/gltf_used_image_indices.d.ts +51 -0
  295. package/src/format/scene/gltf/gltf_used_image_indices.d.ts.map +1 -0
  296. package/src/format/scene/gltf/gltf_used_image_indices.js +122 -0
  297. package/src/format/scene/usd/UsdError.d.ts.map +1 -0
  298. package/src/format/scene/usd/parse_usda.d.ts.map +1 -0
  299. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -0
  300. package/src/format/scene/usd/unpack_usdz.js +106 -0
  301. package/src/format/scene/usd/usd_compose_transform.d.ts.map +1 -0
  302. package/src/format/scene/usd/usd_compose_transform.js +258 -0
  303. package/src/format/scene/usd/usd_lz4.d.ts.map +1 -0
  304. package/src/format/scene/usd/usd_lz4.js +182 -0
  305. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -0
  306. package/src/format/texture/TexelPayload.d.ts +55 -0
  307. package/src/format/texture/TexelPayload.d.ts.map +1 -0
  308. package/src/format/texture/TexelPayload.js +39 -0
  309. package/src/format/texture/basis/BasisBitReader.d.ts +77 -0
  310. package/src/format/texture/basis/BasisBitReader.d.ts.map +1 -0
  311. package/src/format/texture/basis/BasisBitReader.js +231 -0
  312. package/src/format/texture/basis/BasisHuffmanTable.d.ts +53 -0
  313. package/src/format/texture/basis/BasisHuffmanTable.d.ts.map +1 -0
  314. package/src/format/texture/basis/BasisHuffmanTable.js +263 -0
  315. package/src/format/texture/basis/astc_block.d.ts +92 -0
  316. package/src/format/texture/basis/astc_block.d.ts.map +1 -0
  317. package/src/format/texture/basis/astc_block.js +164 -0
  318. package/src/format/texture/basis/astc_integer_sequence.d.ts +59 -0
  319. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -0
  320. package/src/format/texture/basis/astc_integer_sequence.js +251 -0
  321. package/src/format/texture/basis/astc_partition.d.ts +56 -0
  322. package/src/format/texture/basis/astc_partition.d.ts.map +1 -0
  323. package/src/format/texture/basis/astc_partition.js +199 -0
  324. package/src/format/texture/basis/basis_read_huffman_table.d.ts +20 -0
  325. package/src/format/texture/basis/basis_read_huffman_table.d.ts.map +1 -0
  326. package/src/format/texture/basis/basis_read_huffman_table.js +187 -0
  327. package/src/format/texture/basis/etc1s/Etc1sSelectorHistory.d.ts +50 -0
  328. package/src/format/texture/basis/etc1s/Etc1sSelectorHistory.d.ts.map +1 -0
  329. package/src/format/texture/basis/etc1s/Etc1sSelectorHistory.js +89 -0
  330. package/src/format/texture/basis/etc1s/etc1s_block_colors.d.ts +14 -0
  331. package/src/format/texture/basis/etc1s/etc1s_block_colors.d.ts.map +1 -0
  332. package/src/format/texture/basis/etc1s/etc1s_block_colors.js +75 -0
  333. package/src/format/texture/basis/etc1s/etc1s_decode_slice.d.ts +57 -0
  334. package/src/format/texture/basis/etc1s/etc1s_decode_slice.d.ts.map +1 -0
  335. package/src/format/texture/basis/etc1s/etc1s_decode_slice.js +290 -0
  336. package/src/format/texture/basis/etc1s/etc1s_read_endpoint_codebook.d.ts +48 -0
  337. package/src/format/texture/basis/etc1s/etc1s_read_endpoint_codebook.d.ts.map +1 -0
  338. package/src/format/texture/basis/etc1s/etc1s_read_endpoint_codebook.js +111 -0
  339. package/src/format/texture/basis/etc1s/etc1s_read_selector_codebook.d.ts +42 -0
  340. package/src/format/texture/basis/etc1s/etc1s_read_selector_codebook.d.ts.map +1 -0
  341. package/src/format/texture/basis/etc1s/etc1s_read_selector_codebook.js +127 -0
  342. package/src/format/texture/basis/etc1s/etc1s_read_slice_tables.d.ts +54 -0
  343. package/src/format/texture/basis/etc1s/etc1s_read_slice_tables.d.ts.map +1 -0
  344. package/src/format/texture/basis/etc1s/etc1s_read_slice_tables.js +47 -0
  345. package/src/format/texture/basis/transcode/build_range_plan.d.ts +46 -0
  346. package/src/format/texture/basis/transcode/build_range_plan.d.ts.map +1 -0
  347. package/src/format/texture/basis/transcode/build_range_plan.js +54 -0
  348. package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts +30 -0
  349. package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts.map +1 -0
  350. package/src/format/texture/basis/transcode/etc1s_to_astc.js +328 -0
  351. package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts +34 -0
  352. package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts.map +1 -0
  353. package/src/format/texture/basis/transcode/etc1s_to_bc1.js +486 -0
  354. package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts +27 -0
  355. package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts.map +1 -0
  356. package/src/format/texture/basis/transcode/etc1s_to_bc7.js +496 -0
  357. package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts +31 -0
  358. package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts.map +1 -0
  359. package/src/format/texture/basis/transcode/etc1s_to_etc2.js +332 -0
  360. package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts +39 -0
  361. package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts.map +1 -0
  362. package/src/format/texture/basis/transcode/etc1s_to_rgba8.js +115 -0
  363. package/src/format/texture/basis/transcode/fit_endpoints.d.ts +79 -0
  364. package/src/format/texture/basis/transcode/fit_endpoints.d.ts.map +1 -0
  365. package/src/format/texture/basis/transcode/fit_endpoints.js +297 -0
  366. package/src/format/texture/basis/transcode_basis.d.ts +109 -0
  367. package/src/format/texture/basis/transcode_basis.d.ts.map +1 -0
  368. package/src/format/texture/basis/transcode_basis.js +250 -0
  369. package/src/format/texture/basis/transcode_uastc.d.ts +55 -0
  370. package/src/format/texture/basis/transcode_uastc.d.ts.map +1 -0
  371. package/src/format/texture/basis/transcode_uastc.js +117 -0
  372. package/src/format/texture/basis/uastc/bc7_tables.d.ts +111 -0
  373. package/src/format/texture/basis/uastc/bc7_tables.d.ts.map +1 -0
  374. package/src/format/texture/basis/uastc/bc7_tables.js +276 -0
  375. package/src/format/texture/basis/uastc/bc7_write_block.d.ts +124 -0
  376. package/src/format/texture/basis/uastc/bc7_write_block.d.ts.map +1 -0
  377. package/src/format/texture/basis/uastc/bc7_write_block.js +227 -0
  378. package/src/format/texture/basis/uastc/uastc_decode_block.d.ts +105 -0
  379. package/src/format/texture/basis/uastc/uastc_decode_block.d.ts.map +1 -0
  380. package/src/format/texture/basis/uastc/uastc_decode_block.js +480 -0
  381. package/src/format/texture/basis/uastc/uastc_tables.d.ts +240 -0
  382. package/src/format/texture/basis/uastc/uastc_tables.d.ts.map +1 -0
  383. package/src/format/texture/basis/uastc/uastc_tables.js +383 -0
  384. package/src/format/texture/basis/uastc/uastc_to_astc.d.ts +30 -0
  385. package/src/format/texture/basis/uastc/uastc_to_astc.d.ts.map +1 -0
  386. package/src/format/texture/basis/uastc/uastc_to_astc.js +421 -0
  387. package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts +26 -0
  388. package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts.map +1 -0
  389. package/src/format/texture/basis/uastc/uastc_to_bc5.js +115 -0
  390. package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts +36 -0
  391. package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts.map +1 -0
  392. package/src/format/texture/basis/uastc/uastc_to_bc7.js +602 -0
  393. package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts +37 -0
  394. package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts.map +1 -0
  395. package/src/format/texture/basis/uastc/uastc_to_rgba8.js +87 -0
  396. package/src/format/texture/bc/bc1_write_block.d.ts +28 -0
  397. package/src/format/texture/bc/bc1_write_block.d.ts.map +1 -0
  398. package/src/format/texture/bc/bc1_write_block.js +41 -0
  399. package/src/format/texture/bc/bc4_write_block.d.ts +32 -0
  400. package/src/format/texture/bc/bc4_write_block.d.ts.map +1 -0
  401. package/src/format/texture/bc/bc4_write_block.js +50 -0
  402. package/src/format/texture/bc/bc6h_write_block_mode11.d.ts +30 -0
  403. package/src/format/texture/bc/bc6h_write_block_mode11.d.ts.map +1 -0
  404. package/src/format/texture/bc/bc6h_write_block_mode11.js +62 -0
  405. package/src/format/texture/ktx2/KTX2_IDENTIFIER.d.ts +14 -0
  406. package/src/format/texture/ktx2/KTX2_IDENTIFIER.d.ts.map +1 -0
  407. package/src/format/texture/ktx2/KTX2_IDENTIFIER.js +15 -0
  408. package/src/format/texture/ktx2/KhrDfModel.d.ts +35 -0
  409. package/src/format/texture/ktx2/KhrDfModel.d.ts.map +1 -0
  410. package/src/format/texture/ktx2/KhrDfModel.js +49 -0
  411. package/src/format/texture/ktx2/SupercompressionScheme.d.ts +16 -0
  412. package/src/format/texture/ktx2/SupercompressionScheme.d.ts.map +1 -0
  413. package/src/format/texture/ktx2/SupercompressionScheme.js +23 -0
  414. package/src/format/texture/ktx2/ktx2_read.d.ts +105 -0
  415. package/src/format/texture/ktx2/ktx2_read.d.ts.map +1 -0
  416. package/src/format/texture/ktx2/ktx2_read.js +909 -0
  417. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts +27 -0
  418. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts.map +1 -0
  419. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.js +189 -0
  420. package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts +55 -0
  421. package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts.map +1 -0
  422. package/src/format/texture/ktx2/vk_format_to_texture_format.js +290 -0
  423. package/src/shade/descriptor/GPUTextureUsage.d.ts +23 -0
  424. package/src/shade/descriptor/GPUTextureUsage.d.ts.map +1 -0
  425. package/src/shade/descriptor/GPUTextureUsage.js +24 -0
  426. package/src/shade/descriptor/WebGPUExtensionType.d.ts +3 -0
  427. package/src/shade/descriptor/WebGPUExtensionType.js +26 -0
  428. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +2 -6
  429. package/src/shade/descriptor/texture/TextureDescriptor.d.ts.map +1 -1
  430. package/src/shade/descriptor/texture/TextureDescriptor.js +24 -40
  431. package/src/shade/descriptor/texture/format/TextureFormat.d.ts +125 -0
  432. package/src/shade/descriptor/texture/format/TextureFormat.d.ts.map +1 -0
  433. package/src/shade/descriptor/texture/format/TextureFormat.js +146 -0
  434. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts +16 -0
  435. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts.map +1 -0
  436. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.js +44 -0
  437. package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts +76 -0
  438. package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts.map +1 -1
  439. package/src/shade/descriptor/texture/format/gpu_texture_format_info.js +126 -0
  440. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts +19 -0
  441. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts.map +1 -0
  442. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.js +50 -0
  443. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts +14 -0
  444. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts.map +1 -0
  445. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.js +13 -0
  446. package/src/shade/device/graph/TextureResourceDescriptor.d.ts.map +1 -1
  447. package/src/shade/device/graph/TextureResourceDescriptor.js +160 -155
  448. package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
  449. package/src/shade/device/mock/SoftwareGPUDevice.js +37 -3
  450. package/src/shade/device/mock/SoftwareGPUQueue.d.ts +11 -4
  451. package/src/shade/device/mock/SoftwareGPUQueue.d.ts.map +1 -1
  452. package/src/shade/device/mock/SoftwareGPUQueue.js +31 -37
  453. package/src/shade/device/mock/SoftwareGPUTexture.d.ts +4 -2
  454. package/src/shade/device/mock/SoftwareGPUTexture.d.ts.map +1 -1
  455. package/src/shade/device/mock/SoftwareGPUTexture.js +47 -7
  456. package/src/shade/device/mock/SoftwareGPUTextureView.d.ts +7 -0
  457. package/src/shade/device/mock/SoftwareGPUTextureView.d.ts.map +1 -1
  458. package/src/shade/device/mock/SoftwareGPUTextureView.js +8 -0
  459. package/src/shade/device/mock/texture_copy.d.ts.map +1 -1
  460. package/src/shade/device/mock/texture_copy.js +74 -12
  461. package/src/shade/device/timing/profile/frame_graph_extract_topology.d.ts.map +1 -1
  462. package/src/shade/device/timing/profile/frame_graph_extract_topology.js +164 -174
  463. package/src/shade/playground/basis_textures/README.md +105 -0
  464. package/src/shade/playground/basis_textures/index.html +141 -0
  465. package/src/shade/playground/basis_textures/main.d.ts +8 -0
  466. package/src/shade/playground/basis_textures/main.d.ts.map +1 -0
  467. package/src/shade/playground/basis_textures/main.js +351 -0
  468. package/src/shade/playground/basis_textures/make_basis_gltf.d.mts +2 -0
  469. package/src/shade/playground/basis_textures/make_basis_gltf.d.mts.map +1 -0
  470. package/src/shade/playground/basis_textures/make_basis_gltf.mjs +197 -0
  471. package/src/shade/playground/basis_textures/node_modules/basis_universal/bin/basisu.exe +0 -0
  472. package/src/shade/playground/basis_textures/texture_inventory.d.ts +28 -0
  473. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -0
  474. package/src/shade/playground/basis_textures/texture_inventory.js +98 -0
  475. package/src/shade/playground/ground_seam/README.md +235 -0
  476. package/src/shade/playground/ground_seam/capture_scene_color.d.ts +45 -0
  477. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -0
  478. package/src/shade/playground/ground_seam/capture_scene_color.js +242 -0
  479. package/src/shade/playground/ground_seam/depth_step_across_seam.d.ts +11 -0
  480. package/src/shade/playground/ground_seam/depth_step_across_seam.d.ts.map +1 -0
  481. package/src/shade/playground/ground_seam/depth_step_across_seam.js +185 -0
  482. package/src/shade/playground/ground_seam/index.html +195 -0
  483. package/src/shade/playground/ground_seam/main.d.ts +2 -0
  484. package/src/shade/playground/ground_seam/main.d.ts.map +1 -0
  485. package/src/shade/playground/ground_seam/main.js +879 -0
  486. package/src/shade/playground/ground_seam/make_grid_texture.d.ts +29 -0
  487. package/src/shade/playground/ground_seam/make_grid_texture.d.ts.map +1 -0
  488. package/src/shade/playground/ground_seam/make_grid_texture.js +105 -0
  489. package/src/shade/playground/ground_seam/make_ground.d.ts +70 -0
  490. package/src/shade/playground/ground_seam/make_ground.d.ts.map +1 -0
  491. package/src/shade/playground/ground_seam/make_ground.js +161 -0
  492. package/src/shade/playground/ground_seam/measure_flicker.d.ts +71 -0
  493. package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -0
  494. package/src/shade/playground/ground_seam/measure_flicker.js +531 -0
  495. package/src/shade/playground/image_decode_bench/README.md +42 -0
  496. package/src/shade/playground/image_decode_bench/decode_worker.d.ts +2 -0
  497. package/src/shade/playground/image_decode_bench/decode_worker.d.ts.map +1 -0
  498. package/src/shade/playground/image_decode_bench/decode_worker.js +19 -0
  499. package/src/shade/playground/image_decode_bench/index.html +34 -0
  500. package/src/shade/playground/image_decode_bench/main.d.ts +2 -0
  501. package/src/shade/playground/image_decode_bench/main.d.ts.map +1 -0
  502. package/src/shade/playground/image_decode_bench/main.js +211 -0
  503. package/src/shade/playground/skinned_blas_refit/README.md +1 -1
  504. package/src/shade/playground/skinned_blas_refit/index.html +15 -1
  505. package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
  506. package/src/shade/playground/skinned_blas_refit/main.js +339 -3
  507. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +8 -1
  508. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -1
  509. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +27 -5
  510. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts +27 -0
  511. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts.map +1 -0
  512. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.js +127 -0
  513. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -1
  514. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +3 -3
  515. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -1
  516. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +10 -8
  517. package/src/shade/playground/texture_encode/README.md +109 -0
  518. package/src/shade/playground/texture_encode/index.html +133 -0
  519. package/src/shade/playground/texture_encode/main.d.ts +24 -0
  520. package/src/shade/playground/texture_encode/main.d.ts.map +1 -0
  521. package/src/shade/playground/texture_encode/main.js +1430 -0
  522. package/src/shade/playground/texture_encode/panel_view.d.ts +118 -0
  523. package/src/shade/playground/texture_encode/panel_view.d.ts.map +1 -0
  524. package/src/shade/playground/texture_encode/panel_view.js +363 -0
  525. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  526. package/src/shade/renderer/Renderer.js +2519 -2511
  527. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  528. package/src/shade/renderer/animation/GPUAnimationManager.js +49 -5
  529. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  530. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +32 -14
  531. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  532. package/src/shade/renderer/geometry/GPUGeometryManager.js +591 -497
  533. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts +9 -0
  534. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts.map +1 -1
  535. package/src/shade/renderer/geometry/GPUGeometryMetadata.js +10 -0
  536. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_BATCH_PLAN.md +606 -0
  537. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts +17 -0
  538. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts.map +1 -0
  539. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.js +44 -0
  540. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +58 -0
  541. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -0
  542. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +362 -0
  543. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +38 -0
  544. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  545. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +730 -617
  546. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +15 -2
  547. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
  548. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +15 -1
  549. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts +39 -0
  550. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts.map +1 -0
  551. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.js +134 -0
  552. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.js +3 -3
  553. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_open_document.js +3 -3
  554. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_read_geometry.js +1 -1
  555. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts +17 -0
  556. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts.map +1 -0
  557. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.js +30 -0
  558. package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +8 -1
  559. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts +34 -0
  560. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts.map +1 -0
  561. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.js +102 -0
  562. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +11 -9
  563. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -1
  564. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +24 -86
  565. package/src/shade/renderer/hiz/HierarchicalZBuffer.d.ts.map +1 -1
  566. package/src/shade/renderer/hiz/HierarchicalZBuffer.js +275 -274
  567. package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
  568. package/src/shade/renderer/light/GPULightCollection.js +323 -314
  569. package/src/shade/renderer/lightmap/GPULightMap.js +336 -336
  570. package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts +18 -0
  571. package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts.map +1 -0
  572. package/src/shade/renderer/loader/gltf/gltf_create_texture.js +103 -0
  573. package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts +26 -0
  574. package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts.map +1 -0
  575. package/src/shade/renderer/loader/gltf/gltf_image_roles.js +108 -0
  576. package/src/shade/renderer/loader/gltf/load_gltf.d.ts +10 -3
  577. package/src/shade/renderer/loader/gltf/load_gltf.d.ts.map +1 -1
  578. package/src/shade/renderer/loader/gltf/load_gltf.js +1179 -1253
  579. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +18 -1
  580. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  581. package/src/shade/renderer/loader/gltf/tiny-gltf.js +837 -646
  582. package/src/shade/renderer/loader/usd/load_usd.js +3 -3
  583. package/src/shade/renderer/loader/usd/usd_build_scene.js +2 -2
  584. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +6 -5
  585. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  586. package/src/shade/renderer/loader/usd/usd_decode_image.js +197 -384
  587. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.d.ts.map +1 -1
  588. package/src/shade/renderer/material/resident/GPUResidentMaterialContext.js +12 -2
  589. package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts.map +1 -1
  590. package/src/shade/renderer/material/standard/fragment_gbuffer.js +3 -1
  591. package/src/shade/renderer/material/standard/fragment_gbuffer_vt.js +169 -169
  592. package/src/shade/renderer/path_tracer/shader/chunk_sample_material_data.d.ts.map +1 -1
  593. package/src/shade/renderer/path_tracer/shader/chunk_sample_material_data.js +3 -1
  594. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  595. package/src/shade/renderer/postprocess/taa/TAA.d.ts +3 -3
  596. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  597. package/src/shade/renderer/postprocess/taa/TAA.js +2 -6
  598. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts +18 -0
  599. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts.map +1 -0
  600. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.js +36 -0
  601. package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.d.ts.map +1 -1
  602. package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.js +4 -1
  603. package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.d.ts.map +1 -1
  604. package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.js +13 -8
  605. package/src/shade/renderer/postprocess/taa/shader_taa.d.ts +1 -1
  606. package/src/shade/renderer/postprocess/taa/shader_taa.d.ts.map +1 -1
  607. package/src/shade/renderer/postprocess/taa/shader_taa.js +52 -38
  608. package/src/shade/renderer/rasterize/native/oit/chunk_forward_shade_standard_fragment_brick4.d.ts.map +1 -1
  609. package/src/shade/renderer/rasterize/native/oit/chunk_forward_shade_standard_fragment_brick4.js +3 -1
  610. package/src/shade/renderer/rasterize/native/oit/chunk_forward_shade_standard_fragment_ibl.d.ts.map +1 -1
  611. package/src/shade/renderer/rasterize/native/oit/chunk_forward_shade_standard_fragment_ibl.js +3 -1
  612. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts +4 -2
  613. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts.map +1 -1
  614. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.js +9 -6
  615. package/src/shade/renderer/scene/optimization/deduplicate_images.js +93 -93
  616. package/src/shade/renderer/scene/optimization/downscale_images.js +216 -216
  617. package/src/shade/renderer/scene/serialization/decode_image_source_hdr.js +1 -1
  618. package/src/shade/renderer/scene/serialization/deserialize_scene.js +1 -1
  619. package/src/shade/renderer/scene/serialization/write_image_source.js +1 -1
  620. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +1 -1
  621. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +1 -1
  622. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_tangent_normal.d.ts +28 -0
  623. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_tangent_normal.d.ts.map +1 -0
  624. package/src/shade/renderer/shader/chunk/geometry/normal/chunk_decode_tangent_normal.js +39 -0
  625. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_full.d.ts +45 -0
  626. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_full.d.ts.map +1 -1
  627. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_full.js +94 -61
  628. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_solve.d.ts +24 -0
  629. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_solve.d.ts.map +1 -0
  630. package/src/shade/renderer/shader/chunk/geometry/triangle/chunk_barycentric_solve.js +43 -0
  631. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts +2 -1
  632. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts.map +1 -1
  633. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.js +2 -1
  634. package/src/shade/renderer/texture/COMPRESSED_TEXTURE_PLAN_2026_09_01.md +2345 -0
  635. package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
  636. package/src/shade/renderer/texture/TextureManager.js +20 -8
  637. package/src/shade/renderer/texture/TextureRole.d.ts +19 -0
  638. package/src/shade/renderer/texture/TextureRole.d.ts.map +1 -0
  639. package/src/shade/renderer/texture/TextureRole.js +26 -0
  640. package/src/shade/renderer/texture/TextureVariantSet.d.ts +71 -0
  641. package/src/shade/renderer/texture/TextureVariantSet.d.ts.map +1 -0
  642. package/src/shade/renderer/texture/TextureVariantSet.js +105 -0
  643. package/src/shade/renderer/texture/download_texture_data.d.ts.map +1 -1
  644. package/src/shade/renderer/texture/download_texture_data.js +22 -0
  645. package/src/shade/renderer/texture/encode/ENCODE_NOTES_2026_09_02.md +462 -0
  646. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts +33 -0
  647. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts.map +1 -0
  648. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.js +310 -0
  649. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts +17 -0
  650. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts.map +1 -0
  651. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.js +51 -0
  652. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts +42 -0
  653. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts.map +1 -0
  654. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.js +375 -0
  655. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts +12 -0
  656. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts.map +1 -0
  657. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.js +24 -0
  658. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts +45 -0
  659. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts.map +1 -0
  660. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.js +348 -0
  661. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts +16 -0
  662. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts.map +1 -0
  663. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.js +33 -0
  664. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts +32 -0
  665. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts.map +1 -0
  666. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.js +346 -0
  667. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts +10 -0
  668. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts.map +1 -0
  669. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.js +54 -0
  670. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts +36 -0
  671. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts.map +1 -0
  672. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.js +327 -0
  673. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts +22 -0
  674. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts.map +1 -0
  675. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.js +71 -0
  676. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts +20 -0
  677. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts.map +1 -0
  678. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.js +73 -0
  679. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts +16 -0
  680. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts.map +1 -0
  681. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.js +36 -0
  682. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts +13 -0
  683. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts.map +1 -0
  684. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.js +63 -0
  685. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts +12 -0
  686. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts.map +1 -0
  687. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.js +60 -0
  688. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts +28 -0
  689. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts.map +1 -0
  690. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.js +76 -0
  691. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts +16 -0
  692. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts.map +1 -0
  693. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.js +64 -0
  694. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts +14 -0
  695. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts.map +1 -0
  696. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.js +67 -0
  697. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts +10 -0
  698. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts.map +1 -0
  699. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.js +63 -0
  700. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts +12 -0
  701. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts.map +1 -0
  702. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.js +62 -0
  703. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts +14 -0
  704. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts.map +1 -0
  705. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.js +58 -0
  706. package/src/shade/renderer/texture/encode/texture_encode.d.ts +84 -0
  707. package/src/shade/renderer/texture/encode/texture_encode.d.ts.map +1 -0
  708. package/src/shade/renderer/texture/encode/texture_encode.js +168 -0
  709. package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts +196 -0
  710. package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts.map +1 -0
  711. package/src/shade/renderer/texture/encode/texture_encode_layout.js +248 -0
  712. package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts +15 -0
  713. package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts.map +1 -0
  714. package/src/shade/renderer/texture/encode/texture_encode_resources.js +25 -0
  715. package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts +30 -0
  716. package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts.map +1 -0
  717. package/src/shade/renderer/texture/encode/texture_encode_shader.js +108 -0
  718. package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts +17 -0
  719. package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts.map +1 -0
  720. package/src/shade/renderer/texture/format/gpu_texture_compression_support.js +33 -0
  721. package/src/shade/renderer/texture/format/gpu_texture_format_can_generate_mipmaps.d.ts +27 -0
  722. package/src/shade/renderer/texture/format/gpu_texture_format_can_generate_mipmaps.d.ts.map +1 -0
  723. package/src/shade/renderer/texture/format/gpu_texture_format_can_generate_mipmaps.js +65 -0
  724. package/src/shade/renderer/texture/format/infer_format_from_parameters.d.ts +11 -0
  725. package/src/shade/renderer/texture/format/infer_format_from_parameters.d.ts.map +1 -0
  726. package/src/shade/renderer/texture/format/infer_format_from_parameters.js +88 -0
  727. package/src/shade/renderer/texture/format/texture_format_from_shade_image.d.ts +24 -0
  728. package/src/shade/renderer/texture/format/texture_format_from_shade_image.d.ts.map +1 -0
  729. package/src/shade/renderer/texture/format/texture_format_from_shade_image.js +95 -0
  730. package/src/shade/renderer/texture/format/texture_format_preference.d.ts +22 -0
  731. package/src/shade/renderer/texture/format/texture_format_preference.d.ts.map +1 -0
  732. package/src/shade/renderer/texture/format/texture_format_preference.js +89 -0
  733. package/src/shade/renderer/texture/format/texture_variant_select.d.ts +24 -0
  734. package/src/shade/renderer/texture/format/texture_variant_select.d.ts.map +1 -0
  735. package/src/shade/renderer/texture/format/texture_variant_select.js +38 -0
  736. package/src/shade/renderer/texture/shade_texture_might_have_alpha.d.ts +9 -1
  737. package/src/shade/renderer/texture/shade_texture_might_have_alpha.d.ts.map +1 -1
  738. package/src/shade/renderer/texture/shade_texture_might_have_alpha.js +73 -8
  739. package/src/shade/renderer/texture/source/AlphaMode.d.ts +27 -0
  740. package/src/shade/renderer/texture/source/AlphaMode.d.ts.map +1 -0
  741. package/src/shade/renderer/texture/source/AlphaMode.js +52 -0
  742. package/src/shade/renderer/texture/source/ShadeImage.d.ts +33 -0
  743. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  744. package/src/shade/renderer/texture/source/ShadeImage.js +74 -0
  745. package/src/shade/renderer/texture/source/ShadeTexelData.d.ts +78 -0
  746. package/src/shade/renderer/texture/source/ShadeTexelData.d.ts.map +1 -0
  747. package/src/shade/renderer/texture/source/ShadeTexelData.js +158 -0
  748. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts +32 -0
  749. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts.map +1 -0
  750. package/src/shade/renderer/texture/source/texel_data_from_ktx2.js +48 -0
  751. package/src/shade/renderer/texture/texture_descriptor_from_texture_shade.d.ts +0 -10
  752. package/src/shade/renderer/texture/texture_descriptor_from_texture_shade.d.ts.map +1 -1
  753. package/src/shade/renderer/texture/texture_descriptor_from_texture_shade.js +73 -175
  754. package/src/shade/renderer/texture/texture_write_level.d.ts +32 -0
  755. package/src/shade/renderer/texture/texture_write_level.d.ts.map +1 -0
  756. package/src/shade/renderer/texture/texture_write_level.js +87 -0
  757. package/src/shade/renderer/texture/texture_write_to_gpu.d.ts +8 -1
  758. package/src/shade/renderer/texture/texture_write_to_gpu.d.ts.map +1 -1
  759. package/src/shade/renderer/texture/texture_write_to_gpu.js +62 -37
  760. package/src/shade/renderer/texture/virtual/source/VTSourceImage.d.ts +8 -0
  761. package/src/shade/renderer/texture/virtual/source/VTSourceImage.d.ts.map +1 -1
  762. package/src/shade/renderer/texture/virtual/source/VTSourceImage.js +8 -0
  763. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  764. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +20 -0
  765. package/src/shade/renderer/volumetrics/NOTES.md +28 -0
  766. package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.d.ts.map +1 -1
  767. package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.js +7 -2
  768. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts +17 -0
  769. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts.map +1 -0
  770. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.js +168 -0
  771. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts +13 -0
  772. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts.map +1 -0
  773. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.js +56 -0
  774. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.d.ts.map +1 -1
  775. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js +134 -334
  776. package/src/shade/util/texture_mip_extent.d.ts +49 -0
  777. package/src/shade/util/texture_mip_extent.d.ts.map +1 -0
  778. package/src/shade/util/texture_mip_extent.js +87 -0
  779. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
  780. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +49 -21
  781. package/src/avif/encode_image_source.d.ts +0 -70
  782. package/src/avif/encode_image_source.d.ts.map +0 -1
  783. package/src/avif/encode_image_source.js +0 -117
  784. package/src/avif/encoder_worker.d.ts.map +0 -1
  785. package/src/avif/index.d.ts +0 -5
  786. package/src/avif/index.d.ts.map +0 -1
  787. package/src/avif/index.js +0 -21
  788. package/src/avif/native/DECISIONS.md +0 -537
  789. package/src/avif/native/api/AvifDecoder.d.ts.map +0 -1
  790. package/src/avif/native/api/apply_transformations.d.ts.map +0 -1
  791. package/src/avif/native/api/avif_to_sampler2d.d.ts +0 -25
  792. package/src/avif/native/api/avif_to_sampler2d.d.ts.map +0 -1
  793. package/src/avif/native/api/avif_to_sampler2d.js +0 -42
  794. package/src/avif/native/api/convert_to_rgba.d.ts.map +0 -1
  795. package/src/avif/native/api/convert_to_rgba.js +0 -204
  796. package/src/avif/native/api/decode_avif.d.ts.map +0 -1
  797. package/src/avif/native/api/decode_image_item.d.ts.map +0 -1
  798. package/src/avif/native/api/encode_avif.d.ts.map +0 -1
  799. package/src/avif/native/api/sampler2d_to_avif.d.ts.map +0 -1
  800. package/src/avif/native/api/sampler2d_to_avif.js +0 -108
  801. package/src/avif/native/av1/decode/Av1FrameContext.d.ts.map +0 -1
  802. package/src/avif/native/av1/decode/block_decoded.d.ts.map +0 -1
  803. package/src/avif/native/av1/decode/decode_av1_still.d.ts.map +0 -1
  804. package/src/avif/native/av1/decode/decode_coefficients.d.ts.map +0 -1
  805. package/src/avif/native/av1/decode/decode_palette.d.ts.map +0 -1
  806. package/src/avif/native/av1/decode/decode_palette.js +0 -442
  807. package/src/avif/native/av1/decode/decode_tile.d.ts.map +0 -1
  808. package/src/avif/native/av1/decode/decode_tile.js +0 -1213
  809. package/src/avif/native/av1/decode/get_scan.d.ts.map +0 -1
  810. package/src/avif/native/av1/decode/read_lr.d.ts.map +0 -1
  811. package/src/avif/native/av1/decode/read_lr.js +0 -277
  812. package/src/avif/native/av1/decode/read_transform_type.d.ts.map +0 -1
  813. package/src/avif/native/av1/decode/read_transform_type.js +0 -92
  814. package/src/avif/native/av1/decode/reconstruct.d.ts.map +0 -1
  815. package/src/avif/native/av1/decode/reconstruct.js +0 -241
  816. package/src/avif/native/av1/decode/transform_type.d.ts.map +0 -1
  817. package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts.map +0 -1
  818. package/src/avif/native/av1/encode/Av1EncodeContext.d.ts.map +0 -1
  819. package/src/avif/native/av1/encode/build_headers.d.ts.map +0 -1
  820. package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts.map +0 -1
  821. package/src/avif/native/av1/encode/choose_filters.d.ts.map +0 -1
  822. package/src/avif/native/av1/encode/choose_restoration.d.ts.map +0 -1
  823. package/src/avif/native/av1/encode/choose_restoration.js +0 -616
  824. package/src/avif/native/av1/encode/decode_effort.d.ts.map +0 -1
  825. package/src/avif/native/av1/encode/encode_av1_still.d.ts.map +0 -1
  826. package/src/avif/native/av1/encode/encode_effort.d.ts.map +0 -1
  827. package/src/avif/native/av1/encode/encode_tile.d.ts.map +0 -1
  828. package/src/avif/native/av1/encode/encode_tile.js +0 -2331
  829. package/src/avif/native/av1/encode/quantise.d.ts.map +0 -1
  830. package/src/avif/native/av1/encode/write_coefficients.d.ts.map +0 -1
  831. package/src/avif/native/av1/encode/write_lr.d.ts.map +0 -1
  832. package/src/avif/native/av1/encode/write_transform_type.d.ts.map +0 -1
  833. package/src/avif/native/av1/entropy/CdfContext.d.ts.map +0 -1
  834. package/src/avif/native/av1/entropy/SymbolReader.d.ts.map +0 -1
  835. package/src/avif/native/av1/entropy/SymbolWriter.d.ts.map +0 -1
  836. package/src/avif/native/av1/entropy/coefficient_context.d.ts.map +0 -1
  837. package/src/avif/native/av1/entropy/partition_cdf.d.ts.map +0 -1
  838. package/src/avif/native/av1/entropy/symbol_cost.d.ts.map +0 -1
  839. package/src/avif/native/av1/filter/cdef.d.ts.map +0 -1
  840. package/src/avif/native/av1/filter/cdef.js +0 -313
  841. package/src/avif/native/av1/filter/loop_filter.d.ts.map +0 -1
  842. package/src/avif/native/av1/filter/loop_filter.js +0 -377
  843. package/src/avif/native/av1/filter/loop_restoration.d.ts.map +0 -1
  844. package/src/avif/native/av1/filter/loop_restoration.js +0 -451
  845. package/src/avif/native/av1/filter/superres.d.ts.map +0 -1
  846. package/src/avif/native/av1/filter/superres.js +0 -86
  847. package/src/avif/native/av1/grain/FilmGrainState.d.ts.map +0 -1
  848. package/src/avif/native/av1/grain/film_grain.d.ts.map +0 -1
  849. package/src/avif/native/av1/grain/film_grain.js +0 -623
  850. package/src/avif/native/av1/obu/FrameHeader.d.ts.map +0 -1
  851. package/src/avif/native/av1/obu/ObuHeader.d.ts.map +0 -1
  852. package/src/avif/native/av1/obu/SequenceHeader.d.ts.map +0 -1
  853. package/src/avif/native/av1/obu/for_each_obu.d.ts.map +0 -1
  854. package/src/avif/native/av1/obu/parse_frame_header.d.ts.map +0 -1
  855. package/src/avif/native/av1/obu/parse_frame_header.js +0 -841
  856. package/src/avif/native/av1/obu/parse_obu_header.d.ts.map +0 -1
  857. package/src/avif/native/av1/obu/parse_sequence_header.d.ts.map +0 -1
  858. package/src/avif/native/av1/obu/write_frame_header.d.ts.map +0 -1
  859. package/src/avif/native/av1/obu/write_sequence_header.d.ts.map +0 -1
  860. package/src/avif/native/av1/predict/IntraPredictionState.d.ts.map +0 -1
  861. package/src/avif/native/av1/predict/intra_filter_type.d.ts.map +0 -1
  862. package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts.map +0 -1
  863. package/src/avif/native/av1/predict/predict_chroma_from_luma.js +0 -153
  864. package/src/avif/native/av1/predict/predict_intra.d.ts.map +0 -1
  865. package/src/avif/native/av1/predict/predict_intra.js +0 -803
  866. package/src/avif/native/av1/predict/predict_palette.d.ts.map +0 -1
  867. package/src/avif/native/av1/tables/av1_symbols.d.ts.map +0 -1
  868. package/src/avif/native/av1/tables/av1_symbols.js +0 -419
  869. package/src/avif/native/av1/tables/block_tables.d.ts.map +0 -1
  870. package/src/avif/native/av1/tables/block_tables.js +0 -270
  871. package/src/avif/native/av1/tables/cdf_tables.d.ts.map +0 -1
  872. package/src/avif/native/av1/tables/cdf_tables.js +0 -1893
  873. package/src/avif/native/av1/tables/coefficient_tables.d.ts.map +0 -1
  874. package/src/avif/native/av1/tables/coefficient_tables.js +0 -82
  875. package/src/avif/native/av1/tables/derived_block_tables.d.ts.map +0 -1
  876. package/src/avif/native/av1/tables/filter_tables.d.ts.map +0 -1
  877. package/src/avif/native/av1/tables/filter_tables.js +0 -313
  878. package/src/avif/native/av1/tables/grain_tables.d.ts.map +0 -1
  879. package/src/avif/native/av1/tables/grain_tables.js +0 -190
  880. package/src/avif/native/av1/tables/prediction_tables.d.ts.map +0 -1
  881. package/src/avif/native/av1/tables/prediction_tables.js +0 -223
  882. package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts.map +0 -1
  883. package/src/avif/native/av1/tables/quantizer_matrix_tables.js +0 -38
  884. package/src/avif/native/av1/tables/quantizer_tables.d.ts.map +0 -1
  885. package/src/avif/native/av1/tables/quantizer_tables.js +0 -160
  886. package/src/avif/native/av1/tables/scan_tables.d.ts.map +0 -1
  887. package/src/avif/native/av1/tables/scan_tables.js +0 -727
  888. package/src/avif/native/av1/tables/segmentation_tables.d.ts.map +0 -1
  889. package/src/avif/native/av1/tables/segmentation_tables.js +0 -48
  890. package/src/avif/native/av1/tables/transform_tables.d.ts.map +0 -1
  891. package/src/avif/native/av1/tables/transform_tables.js +0 -140
  892. package/src/avif/native/av1/tables/unpack_table.d.ts.map +0 -1
  893. package/src/avif/native/av1/tables/unpack_table.js +0 -73
  894. package/src/avif/native/av1/transform/forward_transform_2d.d.ts.map +0 -1
  895. package/src/avif/native/av1/transform/inverse_transform_1d.d.ts.map +0 -1
  896. package/src/avif/native/av1/transform/inverse_transform_1d.js +0 -590
  897. package/src/avif/native/av1/transform/inverse_transform_2d.d.ts.map +0 -1
  898. package/src/avif/native/av1/transform/inverse_transform_2d.js +0 -180
  899. package/src/avif/native/av1/util/ceil_log2.d.ts.map +0 -1
  900. package/src/avif/native/av1/util/floor_log2.d.ts +0 -20
  901. package/src/avif/native/av1/util/floor_log2.d.ts.map +0 -1
  902. package/src/avif/native/av1/util/floor_log2.js +0 -20
  903. package/src/avif/native/av1/util/round2.d.ts.map +0 -1
  904. package/src/avif/native/av1/util/round2_signed.d.ts.map +0 -1
  905. package/src/avif/native/av1/util/tile_log2.d.ts.map +0 -1
  906. package/src/avif/native/bitstream/BitReader.d.ts.map +0 -1
  907. package/src/avif/native/bitstream/BitWriter.d.ts.map +0 -1
  908. package/src/avif/native/color/ColourTransform.d.ts.map +0 -1
  909. package/src/avif/native/color/YuvImage.d.ts.map +0 -1
  910. package/src/avif/native/color/clamp_sample.d.ts.map +0 -1
  911. package/src/avif/native/color/linear_to_transfer.d.ts.map +0 -1
  912. package/src/avif/native/color/linear_to_transfer.js +0 -126
  913. package/src/avif/native/color/primaries.d.ts.map +0 -1
  914. package/src/avif/native/color/rgb_row_to_ycbcr.d.ts.map +0 -1
  915. package/src/avif/native/color/transfer_to_linear.d.ts.map +0 -1
  916. package/src/avif/native/color/transfer_to_linear.js +0 -171
  917. package/src/avif/native/color/upsample_chroma_row.d.ts.map +0 -1
  918. package/src/avif/native/color/upsample_chroma_row.js +0 -89
  919. package/src/avif/native/color/ycbcr_row_to_rgb.d.ts.map +0 -1
  920. package/src/avif/native/color/ycbcr_row_to_rgb.js +0 -78
  921. package/src/avif/native/heif/AvifFile.d.ts.map +0 -1
  922. package/src/avif/native/heif/ItemProperty.d.ts.map +0 -1
  923. package/src/avif/native/heif/find_item_property.d.ts.map +0 -1
  924. package/src/avif/native/heif/find_item_references.d.ts.map +0 -1
  925. package/src/avif/native/heif/find_items_referencing.d.ts.map +0 -1
  926. package/src/avif/native/heif/parse_avif_file.d.ts.map +0 -1
  927. package/src/avif/native/heif/parse_avif_file.js +0 -383
  928. package/src/avif/native/heif/parse_image_grid.d.ts.map +0 -1
  929. package/src/avif/native/heif/parse_image_grid.js +0 -48
  930. package/src/avif/native/heif/parse_item_property.d.ts.map +0 -1
  931. package/src/avif/native/heif/read_item_data.d.ts.map +0 -1
  932. package/src/avif/native/heif/write_avif_file.d.ts.map +0 -1
  933. package/src/avif/native/heif/write_item_property.d.ts.map +0 -1
  934. package/src/avif/native/index.d.ts +0 -14
  935. package/src/avif/native/index.d.ts.map +0 -1
  936. package/src/avif/native/index.js +0 -56
  937. package/src/avif/native/isobmff/BoxHeader.d.ts.map +0 -1
  938. package/src/avif/native/isobmff/BoxWriter.d.ts +0 -118
  939. package/src/avif/native/isobmff/BoxWriter.d.ts.map +0 -1
  940. package/src/avif/native/isobmff/BoxWriter.js +0 -264
  941. package/src/avif/native/isobmff/ByteCursor.d.ts +0 -125
  942. package/src/avif/native/isobmff/ByteCursor.d.ts.map +0 -1
  943. package/src/avif/native/isobmff/ByteCursor.js +0 -298
  944. package/src/avif/native/isobmff/for_each_box.d.ts.map +0 -1
  945. package/src/avif/native/isobmff/read_box_header.d.ts.map +0 -1
  946. package/src/avif/native/isobmff/read_full_box_header.d.ts.map +0 -1
  947. package/src/avif/threaded_image_encoder.d.ts.map +0 -1
  948. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts +0 -8
  949. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts.map +0 -1
  950. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.js +0 -70
  951. package/src/engine/asset/loaders/gltf/isMesh.d.ts +0 -7
  952. package/src/engine/asset/loaders/gltf/isMesh.d.ts.map +0 -1
  953. package/src/engine/asset/loaders/gltf/isMesh.js +0 -8
  954. package/src/engine/asset/loaders/image/codec/Codec.d.ts.map +0 -1
  955. package/src/engine/asset/loaders/image/codec/CodecWithFallback.d.ts.map +0 -1
  956. package/src/engine/asset/loaders/image/codec/CodecWithFallback.js +0 -105
  957. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +0 -1
  958. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +0 -1
  959. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +0 -1
  960. package/src/engine/asset/loaders/image/jpeg/JpegImage.js +0 -664
  961. package/src/engine/asset/loaders/image/jpeg/buildComponentData.d.ts.map +0 -1
  962. package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.d.ts.map +0 -1
  963. package/src/engine/asset/loaders/image/jpeg/decodeScan.d.ts.map +0 -1
  964. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +0 -1
  965. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +0 -31
  966. package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts.map +0 -1
  967. package/src/engine/asset/loaders/image/jpeg/jpeg_decode.d.ts.map +0 -1
  968. package/src/engine/asset/loaders/image/png/PNG.d.ts.map +0 -1
  969. package/src/engine/asset/loaders/image/png/PNGReader.d.ts +0 -158
  970. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +0 -1
  971. package/src/engine/asset/loaders/image/png/PNGReader.js +0 -656
  972. package/src/engine/asset/loaders/image/png/PNG_HEADER_BYTES.d.ts.map +0 -1
  973. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +0 -1
  974. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.js +0 -53
  975. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +0 -1
  976. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.js +0 -42
  977. package/src/engine/asset/loaders/image/png/crc32.d.ts +0 -2
  978. package/src/engine/asset/loaders/image/png/crc32.d.ts.map +0 -1
  979. package/src/engine/asset/loaders/image/png/crc32.js +0 -8
  980. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterAverage.d.ts.map +0 -1
  981. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts.map +0 -1
  982. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterPaeth.d.ts.map +0 -1
  983. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts.map +0 -1
  984. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts.map +0 -1
  985. package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts.map +0 -1
  986. package/src/engine/asset/loaders/image/png/filter/png_unfilter.js +0 -68
  987. package/src/engine/asset/loaders/image/png/png_inflate.d.ts.map +0 -1
  988. package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts.map +0 -1
  989. package/src/engine/asset/loaders/image/png/prototypePNG.d.ts.map +0 -1
  990. package/src/engine/asset/loaders/image/png/prototypePNG.js +0 -37
  991. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +0 -25
  992. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +0 -1
  993. package/src/shade/renderer/geometry/bvh/record_blas_refit.js +0 -102
  994. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +0 -30
  995. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +0 -1
  996. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +0 -125
  997. package/src/shade/renderer/loader/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +0 -1
  998. package/src/shade/renderer/loader/gltf/MESHOPT_COMPRESSION_PLAN.md +0 -793
  999. package/src/shade/renderer/loader/gltf/coalesce_array_duplicates.d.ts.map +0 -1
  1000. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtension.d.ts.map +0 -1
  1001. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +0 -1
  1002. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.js +0 -109
  1003. package/src/shade/renderer/loader/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +0 -1
  1004. package/src/shade/renderer/loader/gltf/ext/gltf_buffer_view_extensions.d.ts.map +0 -1
  1005. package/src/shade/renderer/loader/gltf/ext/gltf_geometry_extensions.d.ts.map +0 -1
  1006. package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +0 -1
  1007. package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.js +0 -301
  1008. package/src/shade/renderer/loader/gltf/gltf_component_type.d.ts.map +0 -1
  1009. package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.d.ts.map +0 -1
  1010. package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.js +0 -137
  1011. package/src/shade/renderer/loader/gltf/gltf_parse_container.d.ts.map +0 -1
  1012. package/src/shade/renderer/loader/gltf/gltf_read_accessor.d.ts.map +0 -1
  1013. package/src/shade/renderer/loader/gltf/gltf_read_accessor.js +0 -294
  1014. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts +0 -25
  1015. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts.map +0 -1
  1016. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.js +0 -49
  1017. package/src/shade/renderer/loader/usd/UsdError.d.ts.map +0 -1
  1018. package/src/shade/renderer/loader/usd/parse_usda.d.ts.map +0 -1
  1019. package/src/shade/renderer/loader/usd/unpack_usdz.d.ts.map +0 -1
  1020. package/src/shade/renderer/loader/usd/unpack_usdz.js +0 -106
  1021. package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +0 -1
  1022. package/src/shade/renderer/loader/usd/usd_compose_transform.js +0 -258
  1023. package/src/shade/renderer/loader/usd/usd_lz4.d.ts.map +0 -1
  1024. package/src/shade/renderer/loader/usd/usd_lz4.js +0 -182
  1025. package/src/shade/renderer/loader/usd/usd_triangulate.d.ts.map +0 -1
  1026. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts +0 -2
  1027. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts.map +0 -1
  1028. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.js +0 -43
  1029. package/src/shade/renderer/scene/optimization/sampler2d_compare.d.ts.map +0 -1
  1030. package/src/shade/renderer/scene/optimization/sampler2d_compare.js +0 -94
  1031. package/src/shade/util/compute_max_mip_count.d.ts +0 -8
  1032. package/src/shade/util/compute_max_mip_count.d.ts.map +0 -1
  1033. package/src/shade/util/compute_max_mip_count.js +0 -27
  1034. /package/src/engine/asset/{loaders/image/codec → codec}/Codec.d.ts +0 -0
  1035. /package/src/engine/asset/{loaders/image/codec → codec}/Codec.js +0 -0
  1036. /package/src/engine/asset/{loaders/image/codec → codec}/CodecWithFallback.d.ts +0 -0
  1037. /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.d.ts +0 -0
  1038. /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.js +0 -0
  1039. /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.d.ts +0 -0
  1040. /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.js +0 -0
  1041. /package/src/engine/asset/loaders/image/{png/prototypePNG.d.ts → prototypePNG.d.ts} +0 -0
  1042. /package/src/{shade/renderer/scene/optimization → engine/graphics/texture/sampler/compare}/sampler2d_compare.d.ts +0 -0
  1043. /package/src/{avif/native/api → engine/graphics/texture/sampler}/sampler2d_to_avif.d.ts +0 -0
  1044. /package/src/{avif/native → format/image/avif}/NOTICE.md +0 -0
  1045. /package/src/{avif/native → format/image/avif}/api/AvifDecoder.d.ts +0 -0
  1046. /package/src/{avif/native → format/image/avif}/api/AvifDecoder.js +0 -0
  1047. /package/src/{avif/native → format/image/avif}/api/apply_transformations.d.ts +0 -0
  1048. /package/src/{avif/native → format/image/avif}/api/apply_transformations.js +0 -0
  1049. /package/src/{avif/native → format/image/avif}/api/convert_to_rgba.d.ts +0 -0
  1050. /package/src/{avif/native → format/image/avif}/api/decode_avif.d.ts +0 -0
  1051. /package/src/{avif/native → format/image/avif}/api/decode_avif.js +0 -0
  1052. /package/src/{avif/native → format/image/avif}/api/decode_image_item.d.ts +0 -0
  1053. /package/src/{avif/native → format/image/avif}/api/decode_image_item.js +0 -0
  1054. /package/src/{avif/native → format/image/avif}/api/encode_avif.d.ts +0 -0
  1055. /package/src/{avif/native → format/image/avif}/api/encode_avif.js +0 -0
  1056. /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.d.ts +0 -0
  1057. /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.js +0 -0
  1058. /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.d.ts +0 -0
  1059. /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.js +0 -0
  1060. /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.d.ts +0 -0
  1061. /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.js +0 -0
  1062. /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.d.ts +0 -0
  1063. /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.js +0 -0
  1064. /package/src/{avif/native → format/image/avif}/av1/decode/decode_palette.d.ts +0 -0
  1065. /package/src/{avif/native → format/image/avif}/av1/decode/decode_tile.d.ts +0 -0
  1066. /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.d.ts +0 -0
  1067. /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.js +0 -0
  1068. /package/src/{avif/native → format/image/avif}/av1/decode/read_lr.d.ts +0 -0
  1069. /package/src/{avif/native → format/image/avif}/av1/decode/read_transform_type.d.ts +0 -0
  1070. /package/src/{avif/native → format/image/avif}/av1/decode/reconstruct.d.ts +0 -0
  1071. /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.d.ts +0 -0
  1072. /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.js +0 -0
  1073. /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.d.ts +0 -0
  1074. /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.js +0 -0
  1075. /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.d.ts +0 -0
  1076. /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.js +0 -0
  1077. /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.d.ts +0 -0
  1078. /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.js +0 -0
  1079. /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.d.ts +0 -0
  1080. /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.js +0 -0
  1081. /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.d.ts +0 -0
  1082. /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.js +0 -0
  1083. /package/src/{avif/native → format/image/avif}/av1/encode/choose_restoration.d.ts +0 -0
  1084. /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.d.ts +0 -0
  1085. /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.js +0 -0
  1086. /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.d.ts +0 -0
  1087. /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.js +0 -0
  1088. /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.d.ts +0 -0
  1089. /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.js +0 -0
  1090. /package/src/{avif/native → format/image/avif}/av1/encode/encode_tile.d.ts +0 -0
  1091. /package/src/{avif/native → format/image/avif}/av1/encode/quantise.d.ts +0 -0
  1092. /package/src/{avif/native → format/image/avif}/av1/encode/quantise.js +0 -0
  1093. /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.d.ts +0 -0
  1094. /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.js +0 -0
  1095. /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.d.ts +0 -0
  1096. /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.js +0 -0
  1097. /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.d.ts +0 -0
  1098. /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.js +0 -0
  1099. /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.d.ts +0 -0
  1100. /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.js +0 -0
  1101. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.d.ts +0 -0
  1102. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.js +0 -0
  1103. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.d.ts +0 -0
  1104. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.js +0 -0
  1105. /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.d.ts +0 -0
  1106. /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.js +0 -0
  1107. /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.d.ts +0 -0
  1108. /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.js +0 -0
  1109. /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.d.ts +0 -0
  1110. /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.js +0 -0
  1111. /package/src/{avif/native → format/image/avif}/av1/filter/cdef.d.ts +0 -0
  1112. /package/src/{avif/native → format/image/avif}/av1/filter/loop_filter.d.ts +0 -0
  1113. /package/src/{avif/native → format/image/avif}/av1/filter/loop_restoration.d.ts +0 -0
  1114. /package/src/{avif/native → format/image/avif}/av1/filter/superres.d.ts +0 -0
  1115. /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.d.ts +0 -0
  1116. /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.js +0 -0
  1117. /package/src/{avif/native → format/image/avif}/av1/grain/film_grain.d.ts +0 -0
  1118. /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.d.ts +0 -0
  1119. /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.js +0 -0
  1120. /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.d.ts +0 -0
  1121. /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.js +0 -0
  1122. /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.d.ts +0 -0
  1123. /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.js +0 -0
  1124. /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.d.ts +0 -0
  1125. /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.js +0 -0
  1126. /package/src/{avif/native → format/image/avif}/av1/obu/parse_frame_header.d.ts +0 -0
  1127. /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.d.ts +0 -0
  1128. /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.js +0 -0
  1129. /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.d.ts +0 -0
  1130. /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.js +0 -0
  1131. /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.d.ts +0 -0
  1132. /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.js +0 -0
  1133. /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.d.ts +0 -0
  1134. /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.js +0 -0
  1135. /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.d.ts +0 -0
  1136. /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.js +0 -0
  1137. /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.d.ts +0 -0
  1138. /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.js +0 -0
  1139. /package/src/{avif/native → format/image/avif}/av1/predict/predict_chroma_from_luma.d.ts +0 -0
  1140. /package/src/{avif/native → format/image/avif}/av1/predict/predict_intra.d.ts +0 -0
  1141. /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.d.ts +0 -0
  1142. /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.js +0 -0
  1143. /package/src/{avif/native → format/image/avif}/av1/tables/av1_symbols.d.ts +0 -0
  1144. /package/src/{avif/native → format/image/avif}/av1/tables/block_tables.d.ts +0 -0
  1145. /package/src/{avif/native → format/image/avif}/av1/tables/cdf_tables.d.ts +0 -0
  1146. /package/src/{avif/native → format/image/avif}/av1/tables/coefficient_tables.d.ts +0 -0
  1147. /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.d.ts +0 -0
  1148. /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.js +0 -0
  1149. /package/src/{avif/native → format/image/avif}/av1/tables/filter_tables.d.ts +0 -0
  1150. /package/src/{avif/native → format/image/avif}/av1/tables/grain_tables.d.ts +0 -0
  1151. /package/src/{avif/native → format/image/avif}/av1/tables/prediction_tables.d.ts +0 -0
  1152. /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_matrix_tables.d.ts +0 -0
  1153. /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_tables.d.ts +0 -0
  1154. /package/src/{avif/native → format/image/avif}/av1/tables/scan_tables.d.ts +0 -0
  1155. /package/src/{avif/native → format/image/avif}/av1/tables/segmentation_tables.d.ts +0 -0
  1156. /package/src/{avif/native → format/image/avif}/av1/tables/transform_tables.d.ts +0 -0
  1157. /package/src/{avif/native → format/image/avif}/av1/tables/unpack_table.d.ts +0 -0
  1158. /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.d.ts +0 -0
  1159. /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.js +0 -0
  1160. /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_1d.d.ts +0 -0
  1161. /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_2d.d.ts +0 -0
  1162. /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.d.ts +0 -0
  1163. /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.js +0 -0
  1164. /package/src/{avif/native → format/image/avif}/av1/util/round2.d.ts +0 -0
  1165. /package/src/{avif/native → format/image/avif}/av1/util/round2.js +0 -0
  1166. /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.d.ts +0 -0
  1167. /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.js +0 -0
  1168. /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.d.ts +0 -0
  1169. /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.js +0 -0
  1170. /package/src/{avif/native → format/image/avif}/bitstream/BitReader.d.ts +0 -0
  1171. /package/src/{avif/native → format/image/avif}/bitstream/BitReader.js +0 -0
  1172. /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.d.ts +0 -0
  1173. /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.js +0 -0
  1174. /package/src/{avif/native → format/image/avif}/color/ColourTransform.d.ts +0 -0
  1175. /package/src/{avif/native → format/image/avif}/color/ColourTransform.js +0 -0
  1176. /package/src/{avif/native → format/image/avif}/color/YuvImage.d.ts +0 -0
  1177. /package/src/{avif/native → format/image/avif}/color/YuvImage.js +0 -0
  1178. /package/src/{avif/native → format/image/avif}/color/clamp_sample.d.ts +0 -0
  1179. /package/src/{avif/native → format/image/avif}/color/clamp_sample.js +0 -0
  1180. /package/src/{avif/native → format/image/avif}/color/linear_to_transfer.d.ts +0 -0
  1181. /package/src/{avif/native → format/image/avif}/color/primaries.d.ts +0 -0
  1182. /package/src/{avif/native → format/image/avif}/color/primaries.js +0 -0
  1183. /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.d.ts +0 -0
  1184. /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.js +0 -0
  1185. /package/src/{avif/native → format/image/avif}/color/transfer_to_linear.d.ts +0 -0
  1186. /package/src/{avif/native → format/image/avif}/color/upsample_chroma_row.d.ts +0 -0
  1187. /package/src/{avif/native → format/image/avif}/color/ycbcr_row_to_rgb.d.ts +0 -0
  1188. /package/src/{avif/native → format/image/avif}/heif/AvifFile.d.ts +0 -0
  1189. /package/src/{avif/native → format/image/avif}/heif/AvifFile.js +0 -0
  1190. /package/src/{avif/native → format/image/avif}/heif/ItemProperty.d.ts +0 -0
  1191. /package/src/{avif/native → format/image/avif}/heif/ItemProperty.js +0 -0
  1192. /package/src/{avif/native → format/image/avif}/heif/find_item_property.d.ts +0 -0
  1193. /package/src/{avif/native → format/image/avif}/heif/find_item_property.js +0 -0
  1194. /package/src/{avif/native → format/image/avif}/heif/find_item_references.d.ts +0 -0
  1195. /package/src/{avif/native → format/image/avif}/heif/find_item_references.js +0 -0
  1196. /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.d.ts +0 -0
  1197. /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.js +0 -0
  1198. /package/src/{avif/native → format/image/avif}/heif/parse_avif_file.d.ts +0 -0
  1199. /package/src/{avif/native → format/image/avif}/heif/parse_image_grid.d.ts +0 -0
  1200. /package/src/{avif/native → format/image/avif}/heif/parse_item_property.d.ts +0 -0
  1201. /package/src/{avif/native → format/image/avif}/heif/parse_item_property.js +0 -0
  1202. /package/src/{avif/native → format/image/avif}/heif/read_item_data.d.ts +0 -0
  1203. /package/src/{avif/native → format/image/avif}/heif/read_item_data.js +0 -0
  1204. /package/src/{avif/native → format/image/avif}/heif/write_avif_file.d.ts +0 -0
  1205. /package/src/{avif/native → format/image/avif}/heif/write_avif_file.js +0 -0
  1206. /package/src/{avif/native → format/image/avif}/heif/write_item_property.d.ts +0 -0
  1207. /package/src/{avif/native → format/image/avif}/heif/write_item_property.js +0 -0
  1208. /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.d.ts +0 -0
  1209. /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.js +0 -0
  1210. /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.d.ts +0 -0
  1211. /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.js +0 -0
  1212. /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.d.ts +0 -0
  1213. /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.js +0 -0
  1214. /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.d.ts +0 -0
  1215. /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.js +0 -0
  1216. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.d.ts +0 -0
  1217. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.js +0 -0
  1218. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.d.ts +0 -0
  1219. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.js +0 -0
  1220. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegImage.d.ts +0 -0
  1221. /package/src/{engine/asset/loaders → format}/image/jpeg/NOTES.md +0 -0
  1222. /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.d.ts +0 -0
  1223. /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.js +0 -0
  1224. /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.d.ts +0 -0
  1225. /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.js +0 -0
  1226. /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.d.ts +0 -0
  1227. /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.js +0 -0
  1228. /package/src/{engine/asset/loaders → format}/image/jpeg/idct8x8_float.d.ts +0 -0
  1229. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.d.ts +0 -0
  1230. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.js +0 -0
  1231. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.d.ts +0 -0
  1232. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.js +0 -0
  1233. /package/src/{engine/asset/loaders → format}/image/png/PNG.d.ts +0 -0
  1234. /package/src/{engine/asset/loaders → format}/image/png/PNG.js +0 -0
  1235. /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.d.ts +0 -0
  1236. /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.js +0 -0
  1237. /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_iTXt.d.ts +0 -0
  1238. /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_zTXt.d.ts +0 -0
  1239. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.d.ts +0 -0
  1240. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.js +0 -0
  1241. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.d.ts +0 -0
  1242. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.js +0 -0
  1243. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.d.ts +0 -0
  1244. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.js +0 -0
  1245. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.d.ts +0 -0
  1246. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.js +0 -0
  1247. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.d.ts +0 -0
  1248. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.js +0 -0
  1249. /package/src/{engine/asset/loaders → format}/image/png/filter/png_unfilter.d.ts +0 -0
  1250. /package/src/{engine/asset/loaders → format}/image/png/png_inflate.d.ts +0 -0
  1251. /package/src/{engine/asset/loaders → format}/image/png/png_inflate.js +0 -0
  1252. /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.d.ts +0 -0
  1253. /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.js +0 -0
  1254. /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.d.ts +0 -0
  1255. /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.js +0 -0
  1256. /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.d.ts +0 -0
  1257. /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.js +0 -0
  1258. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.d.ts +0 -0
  1259. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.js +0 -0
  1260. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtensionSet.d.ts +0 -0
  1261. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.d.ts +0 -0
  1262. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.js +0 -0
  1263. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.d.ts +0 -0
  1264. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.js +0 -0
  1265. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.d.ts +0 -0
  1266. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.js +0 -0
  1267. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts +0 -0
  1268. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.d.ts +0 -0
  1269. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.js +0 -0
  1270. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_node_world_matrices.d.ts +0 -0
  1271. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.d.ts +0 -0
  1272. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.js +0 -0
  1273. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_read_accessor.d.ts +0 -0
  1274. /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.d.ts +0 -0
  1275. /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.js +0 -0
  1276. /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.d.ts +0 -0
  1277. /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.js +0 -0
  1278. /package/src/{shade/renderer/loader → format/scene}/usd/unpack_usdz.d.ts +0 -0
  1279. /package/src/{shade/renderer/loader → format/scene}/usd/usd_compose_transform.d.ts +0 -0
  1280. /package/src/{shade/renderer/loader → format/scene}/usd/usd_lz4.d.ts +0 -0
  1281. /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.d.ts +0 -0
  1282. /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.js +0 -0
@@ -4,7 +4,8 @@ import { to_half_float_uint16 } from "../../../core/binary/to_half_float_uint16.
4
4
  import { BinaryDataType } from "../../../core/binary/type/BinaryDataType.js";
5
5
  import { dataTypeByteSize } from "../../../core/binary/type/DataTypeByteSizes.js";
6
6
  import { array_copy } from "../../../core/collection/array/array_copy.js";
7
- import { ColorSpace } from "./ColorSpace.js";
7
+ import { AlphaMode } from "./source/AlphaMode.js";
8
+ import { texture_write_level } from "./texture_write_level.js";
8
9
  import { gpu_texture_format_channel_count } from "./format/gpu_texture_format_channel_count.js";
9
10
 
10
11
  /**
@@ -82,13 +83,22 @@ function premultiply_rgba_in_place(data, data_type) {
82
83
  }
83
84
 
84
85
  /**
86
+ * Bring loose pixels into the shape the texture's format expects, then hand them to
87
+ * {@link texture_write_level}.
88
+ *
89
+ * Padding and premultiplication happen *before* the write rather than inside it, which is what keeps
90
+ * the primitive a primitive: it takes texels that are already correct, and a payload that arrived
91
+ * correct (a {@link ShadeTexelData}) skips this function entirely rather than threading a "nothing
92
+ * to do" flag through it.
93
+ *
94
+ * A single-level path by construction — a `Sampler2D` or an `ArrayBuffer` is one level of pixels, and
95
+ * any others are generated.
85
96
  *
86
97
  * @param {ShadeImage} image
87
98
  * @param {ArrayBuffer} source_data
88
99
  * @param {GPUQueue} queue
89
100
  * @param {GPUTexture} texture
90
101
  * @param {boolean} premultiplyAlpha
91
- * @param copySize
92
102
  */
93
103
  function texture_write_raw(
94
104
  image,
@@ -101,10 +111,6 @@ function texture_write_raw(
101
111
  const source_channel_count = image.channel_count;
102
112
  const source_bytes_per_element = dataTypeByteSize(image.data_type);
103
113
 
104
- const bytes_per_pixel = source_channel_count * source_bytes_per_element;
105
-
106
- let bytesPerRow = bytes_per_pixel * image.width;
107
-
108
114
  let upload_data = source_data;
109
115
 
110
116
  if (source_channel_count === 3) {
@@ -143,9 +149,6 @@ function texture_write_raw(
143
149
  );
144
150
  }
145
151
 
146
- //
147
- bytesPerRow = source_bytes_per_element * image.width * 4;
148
-
149
152
  // alpha is 1 everywhere, premultiplication is the identity
150
153
 
151
154
  } else if (premultiplyAlpha && source_channel_count === 4) {
@@ -156,46 +159,41 @@ function texture_write_raw(
156
159
  premultiply_rgba_in_place(upload_data, image.data_type);
157
160
  }
158
161
 
159
- const dataLayout = {
160
- offset: 0,
161
- bytesPerRow: bytesPerRow
162
- };
163
-
164
- if(image.depth > 1){
165
- dataLayout.rowsPerImage = image.height;
166
- }
167
-
168
- queue.writeTexture(
169
- {
170
- texture: texture,
171
- mipLevel: 0,
172
- origin: {
173
- x: 0, y: 0, z: 0
174
- },
175
- },
176
- upload_data,
177
- dataLayout,
178
- [image.width, image.height, image.depth]
179
- )
180
-
162
+ /*
163
+ Row stride is no longer computed here. It comes from the texture's format, which is the only
164
+ thing that knows how wide a row of blocks is — and which, for the padded case above, correctly
165
+ reports the four channels the texture has rather than the three the image had.
166
+ */
167
+ texture_write_level(queue, texture, 0, upload_data);
181
168
  }
182
169
 
183
170
  /**
171
+ * Upload an image's texels into a texture.
172
+ *
173
+ * `level_count` says how many of the image's levels to write, from the base up, and is required
174
+ * rather than defaulted: the one caller that wants fewer than all of them — {@link TextureManager},
175
+ * about to run the mip generator — is the caller least able to have that decision made for it.
176
+ * Uploading levels the generator is about to overwrite is bytes across the bus for nothing.
184
177
  *
185
178
  * @param {ShadeImage} image
186
179
  * @param {GPUTexture} texture
187
180
  * @param {GPUQueue} queue
181
+ * @param {number} level_count how many levels to write; `image.level_count` for all of them
188
182
  */
189
183
  export function texture_write_to_gpu(
190
184
  image,
191
185
  texture,
192
- queue
186
+ queue,
187
+ level_count
193
188
  ) {
194
189
 
195
190
  assert.defined(image, 'image');
196
191
  assert.defined(texture, 'texture');
197
192
  assert.defined(queue, 'queue');
198
193
 
194
+ assert.isNonNegativeInteger(level_count, 'level_count');
195
+ assert.greaterThan(level_count, 0, 'level_count');
196
+
199
197
  assert.equal(image.isShadeImage, true, "image.isShadeImage !== true");
200
198
 
201
199
  const source = image.source;
@@ -210,11 +208,38 @@ export function texture_write_to_gpu(
210
208
  depthOrArrayLayers: texture.depthOrArrayLayers,
211
209
  };
212
210
 
213
- /**
214
- * see https://www.realtimerendering.com/blog/gpus-prefer-premultiplication/
215
- * @type {boolean}
216
- */
217
- const premultiplyAlpha = image.color_space !== ColorSpace.None;
211
+ /*
212
+ Asked of the image rather than re-derived here. `AlphaMode.Straight` is what `color_space !==
213
+ None` used to mean inline, so this is the same decision — but it is now one the image can be
214
+ told, which is how a payload that arrived already premultiplied (an encoder's output) says so.
215
+ */
216
+ const premultiplyAlpha = image.alpha_mode === AlphaMode.Straight;
217
+
218
+ if (source.isShadeTexelData === true) {
219
+ /*
220
+ Already in the texture's format, already laid out in rows of blocks. Nothing to pad, nothing
221
+ to premultiply — an encoder did both, or there was nothing to do — so the levels go straight
222
+ down.
223
+
224
+ A level may be absent: a streaming payload declares its whole chain up front and fills it in
225
+ coarsest-first, so "not here yet" is an ordinary state rather than a gap to complain about.
226
+ */
227
+ const levels = source.levels;
228
+
229
+ const upload_count = Math.min(level_count, levels.length);
230
+
231
+ for (let level = 0; level < upload_count; level++) {
232
+ const bytes = levels[level];
233
+
234
+ if (bytes === undefined) {
235
+ continue;
236
+ }
237
+
238
+ texture_write_level(queue, texture, level, bytes);
239
+ }
240
+
241
+ return;
242
+ }
218
243
 
219
244
  if (source.isSampler2D) {
220
245
 
@@ -13,6 +13,14 @@
13
13
  *
14
14
  * Layers are the standard group order: [albedo, normal, orm]. Pass
15
15
  * `undefined` for layers the material doesn't have — they're masked out.
16
+ *
17
+ * **Uncompressed sources only, structurally.** Page borders are resolved here at
18
+ * runtime by blitting from neighbouring content, and for block-compressed data
19
+ * that is impossible: the border and the page interior share blocks at the seam,
20
+ * and re-encoding a block at runtime is machinery the engine does not have. A
21
+ * compressed stack has to come from a source whose tiles were produced with their
22
+ * borders already inside them — {@link VTSourceTiled} — which is also what
23
+ * {@link VTPhysicalCache#upload} means by "border already baked in".
16
24
  */
17
25
  export class VTSourceImage {
18
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VTSourceImage.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/texture/virtual/source/VTSourceImage.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH;IAyBI;;;;;;OAMG;IACH;QAJ+E,MAAM,EAA1E,CAAC,WAAW,GAAC,gBAAgB,GAAC,eAAe,GAAC,SAAS,CAAC,EAAE;QAExC,IAAI,GAAtB,OAAO;OAajB;IAzCD;;OAEG;IACH,YAFU,MAAM,CAED;IAwCf,6BA2CC;IAED;;;;;;;OAOG;IACH,eANW,MAAM,KACN,MAAM,KACN,MAAM,UACN,WAAW,GACT,QAAQ,CAAC,WAAW,GAAC,SAAS,CAAC,EAAE,CAAC,CAuF9C;IAED,gBAEC;;CACJ"}
1
+ {"version":3,"file":"VTSourceImage.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/texture/virtual/source/VTSourceImage.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IAyBI;;;;;;OAMG;IACH;QAJ+E,MAAM,EAA1E,CAAC,WAAW,GAAC,gBAAgB,GAAC,eAAe,GAAC,SAAS,CAAC,EAAE;QAExC,IAAI,GAAtB,OAAO;OAajB;IAzCD;;OAEG;IACH,YAFU,MAAM,CAED;IAwCf,6BA2CC;IAED;;;;;;;OAOG;IACH,eANW,MAAM,KACN,MAAM,KACN,MAAM,UACN,WAAW,GACT,QAAQ,CAAC,WAAW,GAAC,SAAS,CAAC,EAAE,CAAC,CAuF9C;IAED,gBAEC;;CACJ"}
@@ -15,6 +15,14 @@ import { assert } from "../../../../../core/assert.js";
15
15
  *
16
16
  * Layers are the standard group order: [albedo, normal, orm]. Pass
17
17
  * `undefined` for layers the material doesn't have — they're masked out.
18
+ *
19
+ * **Uncompressed sources only, structurally.** Page borders are resolved here at
20
+ * runtime by blitting from neighbouring content, and for block-compressed data
21
+ * that is impossible: the border and the page interior share blocks at the seam,
22
+ * and re-encoding a block at runtime is machinery the engine does not have. A
23
+ * compressed stack has to come from a source whose tiles were produced with their
24
+ * borders already inside them — {@link VTSourceTiled} — which is also what
25
+ * {@link VTPhysicalCache#upload} means by "border already baked in".
18
26
  */
19
27
  export class VTSourceImage {
20
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"GPUViewVolumetrics.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/volumetrics/GPUViewVolumetrics.js"],"names":[],"mappings":"AA4BA;IAyHI;;;;OAIG;IACH,qDAqBC;IA/GD;;OAEG;IACH,8BAOC;IAjBD;;OAEG;IACH,2BAEC;IA6BD;;OAEG;IACH,4BAEC;IAZD;;OAEG;IACH,yBAEC;IAwFD,gBAWC;IAiND;;;;;;;OAOG;IACH;;;MAyEC;;CAEJ"}
1
+ {"version":3,"file":"GPUViewVolumetrics.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/volumetrics/GPUViewVolumetrics.js"],"names":[],"mappings":"AA4BA;IAkII;;;;OAIG;IACH,qDAqBC;IAxHD;;OAEG;IACH,8BAOC;IAjBD;;OAEG;IACH,2BAEC;IAsCD;;OAEG;IACH,4BAEC;IAZD;;OAEG;IACH,yBAEC;IAwFD,gBAWC;IA4ND;;;;;;;OAOG;IACH;;;MAyEC;;CAEJ"}
@@ -82,6 +82,15 @@ export class GPUViewVolumetrics {
82
82
  */
83
83
  #froxel_far = Infinity;
84
84
 
85
+ /**
86
+ * The froxel depth curve uploaded last frame. The TAA history is addressed on the curve it was
87
+ * accumulated with, so when the curve changes the history is wrong at every slice and must be
88
+ * dropped. Comparing the built parameters catches every input to the curve at once -- camera
89
+ * near, camera far, the froxel-far override -- rather than watching each separately.
90
+ * @type {Float32Array}
91
+ */
92
+ #froxel_curve_previous = new Float32Array(3);
93
+
85
94
  /**
86
95
  * @returns {number}
87
96
  */
@@ -368,6 +377,17 @@ export class GPUViewVolumetrics {
368
377
  froxel_depth_scale
369
378
  );
370
379
 
380
+ // Recomputed deterministically, so a steady camera compares bitwise equal and never resets.
381
+ {
382
+ const curve = volumetrics_froxel_cluster_parameters;
383
+ const previous = this.#froxel_curve_previous;
384
+
385
+ if (curve[0] !== previous[0] || curve[1] !== previous[1] || curve[2] !== previous[2]) {
386
+ previous.set(curve);
387
+ this.#reset_history = true;
388
+ }
389
+ }
390
+
371
391
  // The projection is infinite-far reverse-Z, so the camera frustum's far plane is zeroed and
372
392
  // can't be sliced into froxel slabs. Rebuild a finite far plane at the logical far for the
373
393
  // participating-media coverage test — exactly as the light-cluster assignment does.
@@ -927,3 +927,31 @@ which is what supplies each transformed plane's distance term, and
927
927
  `transpose` was missing from the WGSL emulator's language core, which is why `frustum_transform_m4`
928
928
  had never been exercised there; it is implemented now for the square matrix sizes, on the same
929
929
  footing as `determinant`.
930
+
931
+ ## Volumetric TAA review — 2026-09-02
932
+
933
+ `taa/shader_volumetrics_taa.js`, reviewed for correctness. Each finding is its own commit, pinned
934
+ by a spec that was red against the old code except where noted. The reprojection and the resolve
935
+ were lifted into pure chunks first so the emulator could execute them.
936
+
937
+ | item | finding | pin |
938
+ |---|---|---|
939
+ | history fetch | the 3x3x3 Blackman-Harris resample weighted the ±1 neighbours 8.4% each even at a zero offset, so every frame blurred the accumulation and the 0.95 feedback compounded it to ~1.8 froxels of sigma per axis, Z included. Now trilinear through the same sampler the lighting pass uses. | none, by request; validity gate |
940
+ | reprojection | went through the previous camera's jittered VP while the reconstruction used the un-jittered CPU frustum, so a static camera missed its own texel by last frame's jitter. Now the projection diagonal on view-space xy. | a jittered previous camera must round-trip a static froxel exactly |
941
+ | validity | a froxel behind the previous camera has negative w, the divide mirrors NDC back into frame, and the uv check passed. Now depth > 0 as well. | camera backing up past a near froxel |
942
+ | box | the variance band excluded the centre sample whenever gamma < 1, breaking the clip's precondition; both failure paths output the raw sample. Now unioned with the centre. | 26 dark neighbours, a bright centre, the motion-end gamma |
943
+ | resolve | damped the HISTORY to zero on clip, Karis's rule backwards: every clipped voxel output the raw 1-spp sample. Now a fixed 0.95 feedback with the incoming weight damped toward a quarter as the clamp distance reaches one. | impulse moves the resolve by ≤ W_CURRENT·Δ; clipped history kept; wall pull ≤ wide pull |
944
+ | host | camera near/far changes rebuilt the froxel curve without a history reset. Now any change to the built curve resets. | software device, host-written `history_reset` across frames |
945
+
946
+ Observed, not fixed:
947
+
948
+ * The last slice (63) does not round-trip to its own texel centre. Its centre depth on the curve
949
+ exceeds the logical far, the reconstruction clamps it to far, and far maps back to slice 63.0
950
+ rather than 63.5, so trilinear reads a 50/50 of slices 62 and 63 even when static. The lighting
951
+ pass truncates that slab at far as well, so its stored content is not centred at 63.5 either.
952
+ The reprojection spec excludes the last slice from the exact round trip.
953
+ * Box collapse. When all 27 neighbourhood samples miss a thin feature the spatial variance is
954
+ exactly zero, the box has zero width, and the clip erases everything the history accumulated;
955
+ it then climbs at 5% a frame and never reaches the mean — about a third of it at 10% coverage.
956
+ The damping does not touch this either way. It needs a box that knows temporal variance or a
957
+ width floor, and there is no drop-in for that with high confidence.
@@ -1 +1 @@
1
- {"version":3,"file":"chunk_volumetric_history_bounding_box.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,oDAFY,SAAS,CAwEnB;0BA7EwB,oCAAoC"}
1
+ {"version":3,"file":"chunk_volumetric_history_bounding_box.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,oDAFY,SAAS,CA6EnB;0BAlFwB,oCAAoC"}
@@ -69,8 +69,13 @@ fn volumetric_history_bounding_box(
69
69
 
70
70
  let std_dev = get_std_dev4(mean, avg_sq) * variance_gamma;
71
71
 
72
- *out_min = mean - std_dev;
73
- *out_max = mean + std_dev;
72
+ // The box must contain the centre sample: color_clip_to_aabb4 walks from the history toward
73
+ // it and stops at the box, which is only a clip if the target is inside. The variance band
74
+ // alone does not guarantee that -- with gamma below 1, one bright 1-spp sample among 26 dark
75
+ // neighbours sits several sigma above the mean -- and a box that excludes its own target
76
+ // hands the clip either the raw sample or a wall the damping reads as a full clamp.
77
+ *out_min = min(mean - std_dev, center_sample);
78
+ *out_max = max(mean + std_dev, center_sample);
74
79
  }
75
80
  `,
76
81
  [
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Where this frame's froxel was in last frame's froxel grid, for the volumetric TAA.
3
+ *
4
+ * Reconstructs the froxel centre in world space through the current camera's metadata frustum,
5
+ * then projects it through the previous camera. Returns `(prev_uvw, prev_depth)`: the first three
6
+ * are the history texture coordinate, the last is planar view depth in the previous camera, which
7
+ * `volumetrics_taa_history_valid` needs because a point behind that camera still projects to a uv
8
+ * in range -- the divide by a negative `w` mirrors it into the frame.
9
+ *
10
+ * A pure function of its arguments so `chunk_volumetrics_taa_reproject.spec.js` can drive it in
11
+ * the WGSL emulator against geometry-derived expectations; it was inline in the TAA body before.
12
+ *
13
+ * @type {CodeChunk}
14
+ */
15
+ export const chunk_volumetrics_taa_reproject: CodeChunk;
16
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
17
+ //# sourceMappingURL=chunk_volumetrics_taa_reproject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk_volumetrics_taa_reproject.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.js"],"names":[],"mappings":"AAuFA;;;;;;;;;;;;;GAaG;AACH,8CAFU,SAAS,CAoEjB;0BAjKwB,oCAAoC"}
@@ -0,0 +1,168 @@
1
+ import { CAMERA_UNIFORM_STRUCT } from "../../camera/CAMERA_UNIFORM_STRUCT.js";
2
+ import { chunk_cluster_depth_from_z_slice } from "../../light/cluster/chunk_cluster_depth_from_z_slice.js";
3
+ import { chunk_cluster_depth_to_z_slice } from "../../light/cluster/chunk_cluster_depth_to_z_slice.js";
4
+ import { chunk_frustum_sample_point } from "../../shader/chunk/geometry/frustum/chunk_frustum_sample_point.js";
5
+ import { chunk_ndc_to_uv } from "../../shader/chunk/texture/chunk_ndc_to_uv.js";
6
+ import { chunk_texel_coordinate_to_uv } from "../../shader/chunk/texture/chunk_texel_coordinate_to_uv.js";
7
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
8
+
9
+ /**
10
+ * Froxel coordinate -> a sample point for `frustum_sample_point`, NOT a froxel texture coordinate.
11
+ *
12
+ * That distinction is the whole reason this is not `volumetrics_position_world_to_froxel_uvw`
13
+ * turned around. There `w` is slice space -- `log2(fma(depth, x, y)) * z`, corrected by the
14
+ * cell-averaged content offset -- because it addresses the 3D texture. Here `w` is a LINEAR
15
+ * fraction of the near..far range, because its only consumer is `frustum_sample_point`, which
16
+ * mixes the near and far planes linearly. The two agree at the endpoints and nowhere between, so
17
+ * feeding this `w` to a froxel textureSample reads the wrong slab.
18
+ *
19
+ * @see volumetrics_position_world_to_froxel_uvw
20
+ * @type {CodeChunk}
21
+ */
22
+ const chunk_volumetrics_froxel_coord_to_frustum_uvw = CodeChunk.from(
23
+ //language=WGSL
24
+ `
25
+ fn volumetrics_froxel_coord_to_frustum_uvw(
26
+ coord: vec3<u32>,
27
+ res: vec3<u32>,
28
+ camera: ${CAMERA_UNIFORM_STRUCT.wgsl_ref},
29
+ cluster_params: vec3f
30
+ ) -> vec3f {
31
+ let uv = texel_coordinate_to_uv(vec2f(coord.xy), res.xy);
32
+
33
+ // Logical near/far (clip_near_far), NOT the projection-derived range: the projection is
34
+ // infinite-far reverse-Z so its far resolves to ~3.4e38, which collapses z0_norm below to ~0
35
+ // (every slice maps to the near plane). This was the core reason TAA reprojection produced
36
+ // garbage. Matches the participating-media build shader.
37
+ let near_far = camera.clip_near_far;
38
+
39
+ // centre of the froxel along the depth curve
40
+ let depth_raw = cluster_depth_from_z_slice(
41
+ f32(coord.z) + 0.5,
42
+ cluster_params,
43
+ f32(res.z)
44
+ );
45
+
46
+ let view_depth = clamp(
47
+ depth_raw,
48
+ near_far.x,
49
+ near_far.y
50
+ );
51
+
52
+ let z0_norm = (view_depth - near_far.x) / (near_far.y - near_far.x);
53
+
54
+ return vec3f(uv, z0_norm);
55
+ }
56
+ `, [
57
+ chunk_texel_coordinate_to_uv,
58
+ chunk_cluster_depth_from_z_slice,
59
+ ]
60
+ );
61
+
62
+ const chunk_world_pos_from_froxel = CodeChunk.from(
63
+ //language=WGSL
64
+ `
65
+ // Helper to get world position from voxel index
66
+ fn world_pos_from_froxel(
67
+ coord: vec3<u32>,
68
+ res: vec3<u32>,
69
+ camera: ${CAMERA_UNIFORM_STRUCT.wgsl_ref},
70
+ cluster_params: vec3f,
71
+ frustum: array<vec4<f32>, 6>
72
+ ) -> vec3f {
73
+ let uvw = volumetrics_froxel_coord_to_frustum_uvw(coord, res, camera, cluster_params);
74
+
75
+ // Reconstruct the froxel-centre world position. frustum_sample_point intersects the
76
+ // interpolated L/R, B/T, N/F planes; X maps left->left and Z maps near->far directly, so only
77
+ // screen-Y is flipped vs world-Y (1.0 - uvw.y). The caller passes the metadata frustum, which
78
+ // carries a FINITE far plane — the camera's own projection is infinite-far reverse-Z (far plane
79
+ // zeroed), which frustum_sample_point cannot intersect. Mirrors the participating-media build
80
+ // shader's Y-only flip; replaces the old vec3(1.0) - uvw inside-out hack that mirrored X and Z.
81
+ return frustum_sample_point(frustum, vec3f(uvw.x, 1.0 - uvw.y, uvw.z));
82
+ }
83
+ `, [
84
+ chunk_volumetrics_froxel_coord_to_frustum_uvw,
85
+ chunk_frustum_sample_point,
86
+ ]);
87
+
88
+ /**
89
+ * Where this frame's froxel was in last frame's froxel grid, for the volumetric TAA.
90
+ *
91
+ * Reconstructs the froxel centre in world space through the current camera's metadata frustum,
92
+ * then projects it through the previous camera. Returns `(prev_uvw, prev_depth)`: the first three
93
+ * are the history texture coordinate, the last is planar view depth in the previous camera, which
94
+ * `volumetrics_taa_history_valid` needs because a point behind that camera still projects to a uv
95
+ * in range -- the divide by a negative `w` mirrors it into the frame.
96
+ *
97
+ * A pure function of its arguments so `chunk_volumetrics_taa_reproject.spec.js` can drive it in
98
+ * the WGSL emulator against geometry-derived expectations; it was inline in the TAA body before.
99
+ *
100
+ * @type {CodeChunk}
101
+ */
102
+ export const chunk_volumetrics_taa_reproject = CodeChunk.from(
103
+ //language=WGSL
104
+ `
105
+ fn volumetrics_taa_reproject(
106
+ coord: vec3<u32>,
107
+ res: vec3<u32>,
108
+ camera_current: ${CAMERA_UNIFORM_STRUCT.wgsl_ref},
109
+ camera_previous: ${CAMERA_UNIFORM_STRUCT.wgsl_ref},
110
+ cluster_params: vec3f,
111
+ frustum: array<vec4<f32>, 6>
112
+ ) -> vec4f {
113
+ let position_ws = world_pos_from_froxel(coord, res, camera_current, cluster_params, frustum);
114
+
115
+ // Planar view depth in the previous camera: the metric the cluster curve is built in.
116
+ let prev_view = camera_previous.view_matrix * vec4f(position_ws, 1.0);
117
+ let prev_depth = -prev_view.z;
118
+
119
+ // NDC through the UN-jittered projection. GPUCameraContext bakes the TAA sub-pixel jitter into
120
+ // the projection it uploads as a shear in m[8]/m[9] and nowhere else, while the metadata
121
+ // frustum the reconstruction above went through comes from the CPU camera and carries none.
122
+ // Reprojecting through view_projection_matrix therefore moved a static camera by last frame's
123
+ // jitter, up to 0.03 froxel, every frame. projection_infinite_reverse_z has no other
124
+ // off-diagonal terms, so the un-jittered clip.xy is the diagonal times view xy, and clip.w is
125
+ // -view.z, which is prev_depth. WGSL indexes a matrix by column: P[0][0] is m[0], P[1][1] m[5].
126
+ let P = camera_previous.projection_matrix;
127
+ let prev_ndc = vec2f(P[0][0] * prev_view.x, P[1][1] * prev_view.y) / prev_depth;
128
+
129
+ let prev_uv = ndc_to_uv(prev_ndc);
130
+
131
+ let prev_slice = cluster_depth_to_z_slice(
132
+ prev_depth,
133
+ cluster_params,
134
+ f32(res.z)
135
+ );
136
+
137
+ // prev_slice already lands at the reconstructed froxel's CENTRE — the reconstruction sampled
138
+ // cluster_depth_from_z_slice(voxel.z + 0.5), so for a static camera prev_slice == voxel.z + 0.5,
139
+ // whose texel-centre normalized coord is exactly prev_slice / res.z. Adding a further +0.5 here
140
+ // double-counted the texel-centre offset and sampled half a froxel too far in Z every frame: the
141
+ // history blurred slice z into z+1 and the 0.95 blend fed that error back (the visible noise).
142
+ let prev_w = prev_slice / f32(res.z);
143
+
144
+ return vec4f(prev_uv, prev_w, prev_depth);
145
+ }
146
+
147
+ // Reprojection must land inside the volume, and history must not be flagged for reset (first
148
+ // frame / resize / teleport); otherwise the TAA falls back to the fresh sample.
149
+ fn volumetrics_taa_history_valid(reprojection: vec4f, history_reset: u32) -> bool {
150
+ let prev_uvw = reprojection.xyz;
151
+ let prev_depth = reprojection.w;
152
+
153
+ // A froxel behind the previous camera has a negative depth there, and the divide by that
154
+ // negative w mirrored its NDC, so the uv alone can land inside the frame and lie. The Z half
155
+ // of the range test cannot fail, cluster_depth_to_z_slice clamps to [0, limit]; it is the xy
156
+ // that the range test is for.
157
+ return prev_depth > 0.0
158
+ && all(prev_uvw >= vec3f(0.0))
159
+ && all(prev_uvw <= vec3f(1.0))
160
+ && history_reset == 0u;
161
+ }
162
+ `, [
163
+ CAMERA_UNIFORM_STRUCT.declaration_chunk,
164
+ chunk_world_pos_from_froxel,
165
+ chunk_cluster_depth_to_z_slice,
166
+ chunk_ndc_to_uv,
167
+ ]
168
+ );
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The volumetric TAA's resolve: clip the reprojected history to the neighbourhood box, then blend
3
+ * it with the current sample. Everything is in the encoded space the body works in, YCoCg for the
4
+ * scattering and the extinction as is.
5
+ *
6
+ * A pure function of the four vectors so `chunk_volumetrics_taa_resolve.spec.js` can drive it in
7
+ * the WGSL emulator; it was inline in the TAA body before.
8
+ *
9
+ * @type {CodeChunk}
10
+ */
11
+ export const chunk_volumetrics_taa_resolve: CodeChunk;
12
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
13
+ //# sourceMappingURL=chunk_volumetrics_taa_resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk_volumetrics_taa_resolve.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,4CAFU,SAAS,CA2CjB;0BArDwB,oCAAoC"}
@@ -0,0 +1,56 @@
1
+ import { chunk_color_clip_to_aabb4 } from "../../postprocess/taa/chunk_color_clip_to_aabb3.js";
2
+ import { chunk_aabb4_normalized_dist } from "../../shader/chunk/geometry/aabb3/chunk_aabb4_normalized_dist.js";
3
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
4
+
5
+ /**
6
+ * The volumetric TAA's resolve: clip the reprojected history to the neighbourhood box, then blend
7
+ * it with the current sample. Everything is in the encoded space the body works in, YCoCg for the
8
+ * scattering and the extinction as is.
9
+ *
10
+ * A pure function of the four vectors so `chunk_volumetrics_taa_resolve.spec.js` can drive it in
11
+ * the WGSL emulator; it was inline in the TAA body before.
12
+ *
13
+ * @type {CodeChunk}
14
+ */
15
+ export const chunk_volumetrics_taa_resolve = CodeChunk.from(
16
+ //language=WGSL
17
+ `
18
+ fn volumetrics_taa_resolve(
19
+ center: vec4f,
20
+ history: vec4f,
21
+ aabb_min: vec4f,
22
+ aabb_max: vec4f
23
+ ) -> vec4f {
24
+ // The box contains the centre by construction (volumetric_history_bounding_box), which is what
25
+ // makes this a clip: the history moves toward the centre until it enters the box.
26
+ let history_clamped = color_clip_to_aabb4(history, center, aabb_min, aabb_max);
27
+
28
+ // Karis, "High Quality Temporal Supersampling", SIGGRAPH 2014: detect when a clamp would occur
29
+ // and dampen the INCOMING sample's contribution to counteract it. The current sample is a 1-spp
30
+ // point sample of the froxel, so a jitter landing on a thin lit feature is an ordinary frame;
31
+ // without the damping that impulse moves the resolve by its full weight and the next frame's
32
+ // clip takes it back, which reads as flicker. t_clamp is 1 whenever the clip moved the
33
+ // history, and falls toward 0 as the history sits nearer the centre.
34
+ let t_clamp = saturate(aabb4_normalized_dist_from_center(
35
+ center,
36
+ history_clamped,
37
+ aabb_min,
38
+ aabb_max,
39
+ ));
40
+
41
+ // The 0.95 feedback the rest of the subsystem is tuned around (~39 effective samples). This
42
+ // used to damp the HISTORY by (1 - t^3), which is the rule backwards: any clipped voxel then
43
+ // output the raw sample, and under motion that was most of them. The quarter is a tuning
44
+ // value; what is fixed is the direction -- the damping can only lower the sample's pull.
45
+ const W_CURRENT = 0.05;
46
+ const W_CURRENT_CLAMPED = W_CURRENT * 0.25;
47
+
48
+ let w_current = mix(W_CURRENT, W_CURRENT_CLAMPED, t_clamp * t_clamp);
49
+
50
+ return mix(history_clamped, center, w_current);
51
+ }
52
+ `, [
53
+ chunk_color_clip_to_aabb4,
54
+ chunk_aabb4_normalized_dist,
55
+ ]
56
+ );
@@ -1 +1 @@
1
- {"version":3,"file":"shader_volumetrics_taa.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js"],"names":[],"mappings":"AA0UA,mDAIG;8BApU2B,+BAA+B"}
1
+ {"version":3,"file":"shader_volumetrics_taa.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js"],"names":[],"mappings":"AAkIA,mDAIG;8BAlI2B,+BAA+B"}