@woosh/meep-engine 3.14.2 → 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 (1178) hide show
  1. package/editor/prototypeEditorShell.js +6 -0
  2. package/package.json +1 -1
  3. package/src/CODEC_LAYOUT_VERIFICATION.md +420 -0
  4. package/src/core/binary/zstd/ZstdReverseBitReader.d.ts +76 -0
  5. package/src/core/binary/zstd/ZstdReverseBitReader.d.ts.map +1 -0
  6. package/src/core/binary/zstd/ZstdReverseBitReader.js +223 -0
  7. package/src/core/binary/zstd/zstd_decompress.d.ts +31 -0
  8. package/src/core/binary/zstd/zstd_decompress.d.ts.map +1 -0
  9. package/src/core/binary/zstd/zstd_decompress.js +628 -0
  10. package/src/core/binary/zstd/zstd_fse.d.ts +83 -0
  11. package/src/core/binary/zstd/zstd_fse.d.ts.map +1 -0
  12. package/src/core/binary/zstd/zstd_fse.js +265 -0
  13. package/src/core/binary/zstd/zstd_huffman.d.ts +56 -0
  14. package/src/core/binary/zstd/zstd_huffman.d.ts.map +1 -0
  15. package/src/core/binary/zstd/zstd_huffman.js +244 -0
  16. package/src/core/binary/zstd/zstd_sequence_tables.d.ts +62 -0
  17. package/src/core/binary/zstd/zstd_sequence_tables.d.ts.map +1 -0
  18. package/src/core/binary/zstd/zstd_sequence_tables.js +98 -0
  19. package/src/core/color/COLOR_REVIEW_2026_08_28.md +1 -1
  20. package/src/core/color/PQ/PQ_constants.d.ts +1 -1
  21. package/src/core/color/PQ/PQ_constants.js +1 -1
  22. package/src/engine/asset/GameAssetType.d.ts +1 -0
  23. package/src/engine/asset/GameAssetType.js +8 -0
  24. package/src/engine/asset/codec/DecodedImage.d.ts +39 -0
  25. package/src/engine/asset/codec/DecodedImage.d.ts.map +1 -0
  26. package/src/engine/asset/codec/DecodedImage.js +26 -0
  27. package/src/engine/asset/guessAssetType.d.ts.map +1 -1
  28. package/src/engine/asset/guessAssetType.js +10 -0
  29. package/src/engine/asset/load_model_scene_bundle.d.ts +1 -1
  30. package/src/engine/asset/load_model_scene_bundle.d.ts.map +1 -1
  31. package/src/engine/asset/load_model_scene_bundle.js +6 -2
  32. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts +37 -0
  33. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts.map +1 -0
  34. package/src/engine/asset/loaders/USDSceneBundleAssetLoader.js +104 -0
  35. package/src/engine/asset/loaders/image/IMAGE_CODEC_REVIEW_2026_08_28.md +83 -71
  36. package/src/engine/asset/loaders/image/ImageDecoderWorker.js +2 -2
  37. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts +8 -9
  38. package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts.map +1 -1
  39. package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +12 -3
  40. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts +70 -0
  41. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -0
  42. package/src/engine/asset/loaders/image/avif/encode_image_source.js +117 -0
  43. package/src/engine/asset/loaders/image/avif/encoder_worker.d.ts.map +1 -0
  44. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -0
  45. package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts +34 -0
  46. package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts.map +1 -0
  47. package/src/engine/asset/loaders/image/codec/AvifCodec.js +85 -0
  48. package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts +26 -0
  49. package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts.map +1 -0
  50. package/src/engine/asset/loaders/image/codec/JpegCodec.js +66 -0
  51. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts +4 -16
  52. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts.map +1 -1
  53. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +2 -2
  54. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts +21 -1
  55. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts.map +1 -1
  56. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.js +21 -1
  57. package/src/engine/asset/loaders/image/prototypePNG.d.ts.map +1 -0
  58. package/src/engine/asset/loaders/image/prototypePNG.js +37 -0
  59. package/src/engine/asset/preloader/extractAssetListFromManager.d.ts.map +1 -1
  60. package/src/engine/asset/preloader/extractAssetListFromManager.js +2 -1
  61. package/src/engine/graphics/ecs/mesh/assetTypeByPath.d.ts.map +1 -1
  62. package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +6 -0
  63. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts +25 -0
  64. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts.map +1 -0
  65. package/src/engine/graphics/texture/sampler/avif_to_sampler2d.js +42 -0
  66. package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.d.ts.map +1 -0
  67. package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.js +94 -0
  68. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts +19 -0
  69. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts.map +1 -0
  70. package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.js +62 -0
  71. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts +30 -0
  72. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts.map +1 -0
  73. package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.js +115 -0
  74. package/src/engine/graphics/texture/sampler/sampler2d_to_avif.d.ts.map +1 -0
  75. package/src/engine/graphics/texture/sampler/sampler2d_to_avif.js +108 -0
  76. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts +7 -1
  77. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts.map +1 -1
  78. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.js +28 -21
  79. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.d.ts.map +1 -1
  80. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.js +3 -0
  81. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  82. package/src/format/image/avif/DECISIONS.md +545 -0
  83. package/src/format/image/avif/api/AvifDecoder.d.ts.map +1 -0
  84. package/src/format/image/avif/api/apply_transformations.d.ts.map +1 -0
  85. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -0
  86. package/src/format/image/avif/api/convert_to_rgba.js +204 -0
  87. package/src/format/image/avif/api/decode_avif.d.ts.map +1 -0
  88. package/src/format/image/avif/api/decode_image_item.d.ts.map +1 -0
  89. package/src/format/image/avif/api/encode_avif.d.ts.map +1 -0
  90. package/src/format/image/avif/av1/decode/Av1FrameContext.d.ts.map +1 -0
  91. package/src/format/image/avif/av1/decode/block_decoded.d.ts.map +1 -0
  92. package/src/format/image/avif/av1/decode/decode_av1_still.d.ts.map +1 -0
  93. package/src/format/image/avif/av1/decode/decode_coefficients.d.ts.map +1 -0
  94. package/src/format/image/avif/av1/decode/decode_palette.d.ts.map +1 -0
  95. package/src/format/image/avif/av1/decode/decode_palette.js +442 -0
  96. package/src/format/image/avif/av1/decode/decode_tile.d.ts.map +1 -0
  97. package/src/format/image/avif/av1/decode/decode_tile.js +1213 -0
  98. package/src/format/image/avif/av1/decode/get_scan.d.ts.map +1 -0
  99. package/src/format/image/avif/av1/decode/read_lr.d.ts.map +1 -0
  100. package/src/format/image/avif/av1/decode/read_lr.js +277 -0
  101. package/src/format/image/avif/av1/decode/read_transform_type.d.ts.map +1 -0
  102. package/src/format/image/avif/av1/decode/read_transform_type.js +92 -0
  103. package/src/format/image/avif/av1/decode/reconstruct.d.ts.map +1 -0
  104. package/src/format/image/avif/av1/decode/reconstruct.js +241 -0
  105. package/src/format/image/avif/av1/decode/transform_type.d.ts.map +1 -0
  106. package/src/format/image/avif/av1/encode/Av1BlockSnapshot.d.ts.map +1 -0
  107. package/src/format/image/avif/av1/encode/Av1EncodeContext.d.ts.map +1 -0
  108. package/src/format/image/avif/av1/encode/build_headers.d.ts.map +1 -0
  109. package/src/format/image/avif/av1/encode/choose_chroma_alpha.d.ts.map +1 -0
  110. package/src/format/image/avif/av1/encode/choose_filters.d.ts.map +1 -0
  111. package/src/format/image/avif/av1/encode/choose_restoration.d.ts.map +1 -0
  112. package/src/format/image/avif/av1/encode/choose_restoration.js +616 -0
  113. package/src/format/image/avif/av1/encode/decode_effort.d.ts.map +1 -0
  114. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -0
  115. package/src/format/image/avif/av1/encode/encode_effort.d.ts.map +1 -0
  116. package/src/format/image/avif/av1/encode/encode_tile.d.ts.map +1 -0
  117. package/src/format/image/avif/av1/encode/encode_tile.js +2331 -0
  118. package/src/format/image/avif/av1/encode/quantise.d.ts.map +1 -0
  119. package/src/format/image/avif/av1/encode/write_coefficients.d.ts.map +1 -0
  120. package/src/format/image/avif/av1/encode/write_lr.d.ts.map +1 -0
  121. package/src/format/image/avif/av1/encode/write_transform_type.d.ts.map +1 -0
  122. package/src/format/image/avif/av1/entropy/CdfContext.d.ts.map +1 -0
  123. package/src/format/image/avif/av1/entropy/SymbolReader.d.ts.map +1 -0
  124. package/src/format/image/avif/av1/entropy/SymbolWriter.d.ts.map +1 -0
  125. package/src/format/image/avif/av1/entropy/coefficient_context.d.ts.map +1 -0
  126. package/src/format/image/avif/av1/entropy/partition_cdf.d.ts.map +1 -0
  127. package/src/format/image/avif/av1/entropy/symbol_cost.d.ts.map +1 -0
  128. package/src/format/image/avif/av1/filter/cdef.d.ts.map +1 -0
  129. package/src/format/image/avif/av1/filter/cdef.js +313 -0
  130. package/src/format/image/avif/av1/filter/loop_filter.d.ts.map +1 -0
  131. package/src/format/image/avif/av1/filter/loop_filter.js +377 -0
  132. package/src/format/image/avif/av1/filter/loop_restoration.d.ts.map +1 -0
  133. package/src/format/image/avif/av1/filter/loop_restoration.js +451 -0
  134. package/src/format/image/avif/av1/filter/superres.d.ts.map +1 -0
  135. package/src/format/image/avif/av1/filter/superres.js +86 -0
  136. package/src/format/image/avif/av1/grain/FilmGrainState.d.ts.map +1 -0
  137. package/src/format/image/avif/av1/grain/film_grain.d.ts.map +1 -0
  138. package/src/format/image/avif/av1/grain/film_grain.js +623 -0
  139. package/src/format/image/avif/av1/obu/FrameHeader.d.ts.map +1 -0
  140. package/src/format/image/avif/av1/obu/ObuHeader.d.ts.map +1 -0
  141. package/src/format/image/avif/av1/obu/SequenceHeader.d.ts.map +1 -0
  142. package/src/format/image/avif/av1/obu/for_each_obu.d.ts.map +1 -0
  143. package/src/format/image/avif/av1/obu/parse_frame_header.d.ts.map +1 -0
  144. package/src/format/image/avif/av1/obu/parse_frame_header.js +841 -0
  145. package/src/format/image/avif/av1/obu/parse_obu_header.d.ts.map +1 -0
  146. package/src/format/image/avif/av1/obu/parse_sequence_header.d.ts.map +1 -0
  147. package/src/format/image/avif/av1/obu/write_frame_header.d.ts.map +1 -0
  148. package/src/format/image/avif/av1/obu/write_sequence_header.d.ts.map +1 -0
  149. package/src/format/image/avif/av1/predict/IntraPredictionState.d.ts.map +1 -0
  150. package/src/format/image/avif/av1/predict/intra_filter_type.d.ts.map +1 -0
  151. package/src/format/image/avif/av1/predict/predict_chroma_from_luma.d.ts.map +1 -0
  152. package/src/format/image/avif/av1/predict/predict_chroma_from_luma.js +153 -0
  153. package/src/format/image/avif/av1/predict/predict_intra.d.ts.map +1 -0
  154. package/src/format/image/avif/av1/predict/predict_intra.js +803 -0
  155. package/src/format/image/avif/av1/predict/predict_palette.d.ts.map +1 -0
  156. package/src/format/image/avif/av1/tables/av1_symbols.d.ts.map +1 -0
  157. package/src/format/image/avif/av1/tables/av1_symbols.js +419 -0
  158. package/src/format/image/avif/av1/tables/block_tables.d.ts.map +1 -0
  159. package/src/format/image/avif/av1/tables/block_tables.js +270 -0
  160. package/src/format/image/avif/av1/tables/cdf_tables.d.ts.map +1 -0
  161. package/src/format/image/avif/av1/tables/cdf_tables.js +1893 -0
  162. package/src/format/image/avif/av1/tables/coefficient_tables.d.ts.map +1 -0
  163. package/src/format/image/avif/av1/tables/coefficient_tables.js +82 -0
  164. package/src/format/image/avif/av1/tables/derived_block_tables.d.ts.map +1 -0
  165. package/src/format/image/avif/av1/tables/filter_tables.d.ts.map +1 -0
  166. package/src/format/image/avif/av1/tables/filter_tables.js +313 -0
  167. package/src/format/image/avif/av1/tables/grain_tables.d.ts.map +1 -0
  168. package/src/format/image/avif/av1/tables/grain_tables.js +190 -0
  169. package/src/format/image/avif/av1/tables/prediction_tables.d.ts.map +1 -0
  170. package/src/format/image/avif/av1/tables/prediction_tables.js +223 -0
  171. package/src/format/image/avif/av1/tables/quantizer_matrix_tables.d.ts.map +1 -0
  172. package/src/format/image/avif/av1/tables/quantizer_matrix_tables.js +38 -0
  173. package/src/format/image/avif/av1/tables/quantizer_tables.d.ts.map +1 -0
  174. package/src/format/image/avif/av1/tables/quantizer_tables.js +160 -0
  175. package/src/format/image/avif/av1/tables/scan_tables.d.ts.map +1 -0
  176. package/src/format/image/avif/av1/tables/scan_tables.js +727 -0
  177. package/src/format/image/avif/av1/tables/segmentation_tables.d.ts.map +1 -0
  178. package/src/format/image/avif/av1/tables/segmentation_tables.js +48 -0
  179. package/src/format/image/avif/av1/tables/transform_tables.d.ts.map +1 -0
  180. package/src/format/image/avif/av1/tables/transform_tables.js +140 -0
  181. package/src/format/image/avif/av1/tables/unpack_table.d.ts.map +1 -0
  182. package/src/format/image/avif/av1/tables/unpack_table.js +73 -0
  183. package/src/format/image/avif/av1/transform/forward_transform_2d.d.ts.map +1 -0
  184. package/src/format/image/avif/av1/transform/inverse_transform_1d.d.ts.map +1 -0
  185. package/src/format/image/avif/av1/transform/inverse_transform_1d.js +590 -0
  186. package/src/format/image/avif/av1/transform/inverse_transform_2d.d.ts.map +1 -0
  187. package/src/format/image/avif/av1/transform/inverse_transform_2d.js +180 -0
  188. package/src/format/image/avif/av1/util/ceil_log2.d.ts.map +1 -0
  189. package/src/format/image/avif/av1/util/floor_log2.d.ts +20 -0
  190. package/src/format/image/avif/av1/util/floor_log2.d.ts.map +1 -0
  191. package/src/format/image/avif/av1/util/floor_log2.js +20 -0
  192. package/src/format/image/avif/av1/util/round2.d.ts.map +1 -0
  193. package/src/format/image/avif/av1/util/round2_signed.d.ts.map +1 -0
  194. package/src/format/image/avif/av1/util/tile_log2.d.ts.map +1 -0
  195. package/src/format/image/avif/bitstream/BitReader.d.ts.map +1 -0
  196. package/src/format/image/avif/bitstream/BitWriter.d.ts.map +1 -0
  197. package/src/format/image/avif/color/ColourTransform.d.ts.map +1 -0
  198. package/src/format/image/avif/color/YuvImage.d.ts.map +1 -0
  199. package/src/format/image/avif/color/clamp_sample.d.ts.map +1 -0
  200. package/src/format/image/avif/color/linear_to_transfer.d.ts.map +1 -0
  201. package/src/format/image/avif/color/linear_to_transfer.js +126 -0
  202. package/src/format/image/avif/color/primaries.d.ts.map +1 -0
  203. package/src/format/image/avif/color/rgb_row_to_ycbcr.d.ts.map +1 -0
  204. package/src/format/image/avif/color/transfer_to_linear.d.ts.map +1 -0
  205. package/src/format/image/avif/color/transfer_to_linear.js +171 -0
  206. package/src/format/image/avif/color/upsample_chroma_row.d.ts.map +1 -0
  207. package/src/format/image/avif/color/upsample_chroma_row.js +89 -0
  208. package/src/format/image/avif/color/ycbcr_row_to_rgb.d.ts.map +1 -0
  209. package/src/format/image/avif/color/ycbcr_row_to_rgb.js +78 -0
  210. package/src/format/image/avif/heif/AvifFile.d.ts.map +1 -0
  211. package/src/format/image/avif/heif/ItemProperty.d.ts.map +1 -0
  212. package/src/format/image/avif/heif/find_item_property.d.ts.map +1 -0
  213. package/src/format/image/avif/heif/find_item_references.d.ts.map +1 -0
  214. package/src/format/image/avif/heif/find_items_referencing.d.ts.map +1 -0
  215. package/src/format/image/avif/heif/parse_avif_file.d.ts.map +1 -0
  216. package/src/format/image/avif/heif/parse_avif_file.js +384 -0
  217. package/src/format/image/avif/heif/parse_image_grid.d.ts.map +1 -0
  218. package/src/format/image/avif/heif/parse_image_grid.js +49 -0
  219. package/src/format/image/avif/heif/parse_item_property.d.ts.map +1 -0
  220. package/src/format/image/avif/heif/read_item_data.d.ts.map +1 -0
  221. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -0
  222. package/src/format/image/avif/heif/write_item_property.d.ts.map +1 -0
  223. package/src/format/image/avif/index.d.ts +12 -0
  224. package/src/format/image/avif/index.d.ts.map +1 -0
  225. package/src/format/image/avif/index.js +58 -0
  226. package/src/format/image/avif/isobmff/BoxHeader.d.ts.map +1 -0
  227. package/src/format/image/avif/isobmff/BoxWriter.d.ts +118 -0
  228. package/src/format/image/avif/isobmff/BoxWriter.d.ts.map +1 -0
  229. package/src/format/image/avif/isobmff/BoxWriter.js +264 -0
  230. package/src/format/image/avif/isobmff/for_each_box.d.ts.map +1 -0
  231. package/src/format/image/avif/isobmff/read_box_header.d.ts.map +1 -0
  232. package/src/format/image/avif/isobmff/read_full_box_header.d.ts.map +1 -0
  233. package/src/format/image/jpeg/JpegFrame.d.ts.map +1 -0
  234. package/src/format/image/jpeg/JpegFrameComponent.d.ts.map +1 -0
  235. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -0
  236. package/src/format/image/jpeg/JpegImage.js +664 -0
  237. package/src/format/image/jpeg/buildComponentData.d.ts.map +1 -0
  238. package/src/format/image/jpeg/buildHuffmanTable.d.ts.map +1 -0
  239. package/src/format/image/jpeg/decodeScan.d.ts.map +1 -0
  240. package/src/format/image/jpeg/idct8x8_float.d.ts.map +1 -0
  241. package/src/format/image/jpeg/idct8x8_float.js +31 -0
  242. package/src/format/image/jpeg/jpeg_component_row.d.ts.map +1 -0
  243. package/src/format/image/jpeg/jpeg_decode.d.ts.map +1 -0
  244. package/src/format/image/png/PNG.d.ts.map +1 -0
  245. package/src/format/image/png/PNGReader.d.ts +158 -0
  246. package/src/format/image/png/PNGReader.d.ts.map +1 -0
  247. package/src/format/image/png/PNGReader.js +656 -0
  248. package/src/format/image/png/PNG_HEADER_BYTES.d.ts.map +1 -0
  249. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -0
  250. package/src/format/image/png/chunk/png_chunk_decode_iTXt.js +53 -0
  251. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -0
  252. package/src/format/image/png/chunk/png_chunk_decode_zTXt.js +42 -0
  253. package/src/format/image/png/crc32.d.ts +2 -0
  254. package/src/format/image/png/crc32.d.ts.map +1 -0
  255. package/src/format/image/png/crc32.js +8 -0
  256. package/src/format/image/png/filter/png_filter_unFilterAverage.d.ts.map +1 -0
  257. package/src/format/image/png/filter/png_filter_unFilterNone.d.ts.map +1 -0
  258. package/src/format/image/png/filter/png_filter_unFilterPaeth.d.ts.map +1 -0
  259. package/src/format/image/png/filter/png_filter_unFilterSub.d.ts.map +1 -0
  260. package/src/format/image/png/filter/png_filter_unFilterUp.d.ts.map +1 -0
  261. package/src/format/image/png/filter/png_unfilter.d.ts.map +1 -0
  262. package/src/format/image/png/filter/png_unfilter.js +68 -0
  263. package/src/format/image/png/png_inflate.d.ts.map +1 -0
  264. package/src/format/image/png/png_unpack_samples.d.ts.map +1 -0
  265. package/src/format/scene/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +1 -0
  266. package/src/format/scene/gltf/MESHOPT_COMPRESSION_PLAN.md +793 -0
  267. package/src/format/scene/gltf/coalesce_array_duplicates.d.ts.map +1 -0
  268. package/src/format/scene/gltf/ext/GltfBufferViewExtension.d.ts.map +1 -0
  269. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -0
  270. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.js +109 -0
  271. package/src/format/scene/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +1 -0
  272. package/src/format/scene/gltf/ext/gltf_buffer_view_extensions.d.ts.map +1 -0
  273. package/src/format/scene/gltf/ext/gltf_geometry_extensions.d.ts.map +1 -0
  274. package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +1 -0
  275. package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.js +301 -0
  276. package/src/format/scene/gltf/gltf_component_type.d.ts.map +1 -0
  277. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -0
  278. package/src/format/scene/gltf/gltf_node_world_matrices.js +137 -0
  279. package/src/format/scene/gltf/gltf_parse_container.d.ts.map +1 -0
  280. package/src/format/scene/gltf/gltf_read_accessor.d.ts.map +1 -0
  281. package/src/format/scene/gltf/gltf_read_accessor.js +294 -0
  282. package/src/format/scene/gltf/gltf_used_image_indices.d.ts +51 -0
  283. package/src/format/scene/gltf/gltf_used_image_indices.d.ts.map +1 -0
  284. package/src/format/scene/gltf/gltf_used_image_indices.js +122 -0
  285. package/src/format/scene/usd/UsdError.d.ts.map +1 -0
  286. package/src/format/scene/usd/parse_usda.d.ts.map +1 -0
  287. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -0
  288. package/src/format/scene/usd/unpack_usdz.js +106 -0
  289. package/src/format/scene/usd/usd_compose_transform.d.ts.map +1 -0
  290. package/src/format/scene/usd/usd_compose_transform.js +258 -0
  291. package/src/format/scene/usd/usd_lz4.d.ts.map +1 -0
  292. package/src/format/scene/usd/usd_lz4.js +182 -0
  293. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -0
  294. package/src/format/texture/TexelPayload.d.ts +55 -0
  295. package/src/format/texture/TexelPayload.d.ts.map +1 -0
  296. package/src/format/texture/TexelPayload.js +39 -0
  297. package/src/format/texture/basis/BasisBitReader.d.ts +77 -0
  298. package/src/format/texture/basis/BasisBitReader.d.ts.map +1 -0
  299. package/src/format/texture/basis/BasisBitReader.js +231 -0
  300. package/src/format/texture/basis/BasisHuffmanTable.d.ts.map +1 -0
  301. package/src/format/texture/basis/astc_block.d.ts +92 -0
  302. package/src/format/texture/basis/astc_block.d.ts.map +1 -0
  303. package/src/format/texture/basis/astc_block.js +164 -0
  304. package/src/format/texture/basis/astc_integer_sequence.d.ts +59 -0
  305. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -0
  306. package/src/format/texture/basis/astc_integer_sequence.js +251 -0
  307. package/src/format/texture/basis/astc_partition.d.ts +56 -0
  308. package/src/format/texture/basis/astc_partition.d.ts.map +1 -0
  309. package/src/format/texture/basis/astc_partition.js +199 -0
  310. package/src/format/texture/basis/basis_read_huffman_table.d.ts.map +1 -0
  311. package/src/format/texture/basis/etc1s/Etc1sSelectorHistory.d.ts.map +1 -0
  312. package/src/format/texture/basis/etc1s/etc1s_block_colors.d.ts.map +1 -0
  313. package/src/format/texture/basis/etc1s/etc1s_decode_slice.d.ts.map +1 -0
  314. package/src/format/texture/basis/etc1s/etc1s_decode_slice.js +290 -0
  315. package/src/format/texture/basis/etc1s/etc1s_read_endpoint_codebook.d.ts.map +1 -0
  316. package/src/format/texture/basis/etc1s/etc1s_read_selector_codebook.d.ts.map +1 -0
  317. package/src/format/texture/basis/etc1s/etc1s_read_slice_tables.d.ts.map +1 -0
  318. package/src/format/texture/basis/transcode/build_range_plan.d.ts +46 -0
  319. package/src/format/texture/basis/transcode/build_range_plan.d.ts.map +1 -0
  320. package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts +30 -0
  321. package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts.map +1 -0
  322. package/src/format/texture/basis/transcode/etc1s_to_astc.js +328 -0
  323. package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts +34 -0
  324. package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts.map +1 -0
  325. package/src/format/texture/basis/transcode/etc1s_to_bc1.js +486 -0
  326. package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts +27 -0
  327. package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts.map +1 -0
  328. package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts +31 -0
  329. package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts.map +1 -0
  330. package/src/format/texture/basis/transcode/etc1s_to_etc2.js +332 -0
  331. package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts +39 -0
  332. package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts.map +1 -0
  333. package/src/format/texture/basis/transcode/etc1s_to_rgba8.js +115 -0
  334. package/src/format/texture/basis/transcode/fit_endpoints.d.ts +79 -0
  335. package/src/format/texture/basis/transcode/fit_endpoints.d.ts.map +1 -0
  336. package/src/format/texture/basis/transcode/fit_endpoints.js +297 -0
  337. package/src/format/texture/basis/transcode_basis.d.ts +109 -0
  338. package/src/format/texture/basis/transcode_basis.d.ts.map +1 -0
  339. package/src/format/texture/basis/transcode_basis.js +250 -0
  340. package/src/format/texture/basis/transcode_uastc.d.ts +55 -0
  341. package/src/format/texture/basis/transcode_uastc.d.ts.map +1 -0
  342. package/src/format/texture/basis/transcode_uastc.js +117 -0
  343. package/src/format/texture/basis/uastc/bc7_tables.d.ts +111 -0
  344. package/src/format/texture/basis/uastc/bc7_tables.d.ts.map +1 -0
  345. package/src/format/texture/basis/uastc/bc7_tables.js +276 -0
  346. package/src/format/texture/basis/uastc/bc7_write_block.d.ts +124 -0
  347. package/src/format/texture/basis/uastc/bc7_write_block.d.ts.map +1 -0
  348. package/src/format/texture/basis/uastc/bc7_write_block.js +227 -0
  349. package/src/format/texture/basis/uastc/uastc_decode_block.d.ts +105 -0
  350. package/src/format/texture/basis/uastc/uastc_decode_block.d.ts.map +1 -0
  351. package/src/format/texture/basis/uastc/uastc_decode_block.js +480 -0
  352. package/src/format/texture/basis/uastc/uastc_tables.d.ts +240 -0
  353. package/src/format/texture/basis/uastc/uastc_tables.d.ts.map +1 -0
  354. package/src/format/texture/basis/uastc/uastc_tables.js +383 -0
  355. package/src/format/texture/basis/uastc/uastc_to_astc.d.ts +30 -0
  356. package/src/format/texture/basis/uastc/uastc_to_astc.d.ts.map +1 -0
  357. package/src/format/texture/basis/uastc/uastc_to_astc.js +421 -0
  358. package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts +26 -0
  359. package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts.map +1 -0
  360. package/src/format/texture/basis/uastc/uastc_to_bc5.js +115 -0
  361. package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts +36 -0
  362. package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts.map +1 -0
  363. package/src/format/texture/basis/uastc/uastc_to_bc7.js +602 -0
  364. package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts +37 -0
  365. package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts.map +1 -0
  366. package/src/format/texture/basis/uastc/uastc_to_rgba8.js +87 -0
  367. package/src/format/texture/bc/bc1_write_block.d.ts +28 -0
  368. package/src/format/texture/bc/bc1_write_block.d.ts.map +1 -0
  369. package/src/format/texture/bc/bc1_write_block.js +41 -0
  370. package/src/format/texture/bc/bc4_write_block.d.ts +32 -0
  371. package/src/format/texture/bc/bc4_write_block.d.ts.map +1 -0
  372. package/src/format/texture/bc/bc4_write_block.js +50 -0
  373. package/src/format/texture/bc/bc6h_write_block_mode11.d.ts +30 -0
  374. package/src/format/texture/bc/bc6h_write_block_mode11.d.ts.map +1 -0
  375. package/src/format/texture/bc/bc6h_write_block_mode11.js +62 -0
  376. package/src/format/texture/ktx2/KTX2_IDENTIFIER.d.ts.map +1 -0
  377. package/src/format/texture/ktx2/KhrDfModel.d.ts.map +1 -0
  378. package/src/format/texture/ktx2/SupercompressionScheme.d.ts.map +1 -0
  379. package/src/format/texture/ktx2/ktx2_read.d.ts +105 -0
  380. package/src/format/texture/ktx2/ktx2_read.d.ts.map +1 -0
  381. package/src/format/texture/ktx2/ktx2_read.js +909 -0
  382. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts +27 -0
  383. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts.map +1 -0
  384. package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.js +189 -0
  385. package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts +55 -0
  386. package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts.map +1 -0
  387. package/src/format/texture/ktx2/vk_format_to_texture_format.js +290 -0
  388. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts +16 -0
  389. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts.map +1 -0
  390. package/src/shade/descriptor/texture/format/gpu_texture_format_feature.js +44 -0
  391. package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts +16 -0
  392. package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts.map +1 -1
  393. package/src/shade/descriptor/texture/format/gpu_texture_format_info.js +24 -0
  394. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts +19 -0
  395. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts.map +1 -0
  396. package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.js +50 -0
  397. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts +14 -0
  398. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts.map +1 -0
  399. package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.js +13 -0
  400. package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
  401. package/src/shade/device/mock/SoftwareGPUDevice.js +37 -3
  402. package/src/shade/device/mock/SoftwareGPUTexture.d.ts +4 -2
  403. package/src/shade/device/mock/SoftwareGPUTexture.d.ts.map +1 -1
  404. package/src/shade/device/mock/SoftwareGPUTexture.js +39 -3
  405. package/src/shade/device/mock/SoftwareGPUTextureView.d.ts +7 -0
  406. package/src/shade/device/mock/SoftwareGPUTextureView.d.ts.map +1 -1
  407. package/src/shade/device/mock/SoftwareGPUTextureView.js +8 -0
  408. package/src/shade/device/mock/texture_copy.d.ts.map +1 -1
  409. package/src/shade/device/mock/texture_copy.js +74 -12
  410. package/src/shade/playground/basis_textures/README.md +105 -0
  411. package/src/shade/playground/basis_textures/index.html +141 -0
  412. package/src/shade/playground/basis_textures/main.d.ts +8 -0
  413. package/src/shade/playground/basis_textures/main.d.ts.map +1 -0
  414. package/src/shade/playground/basis_textures/main.js +351 -0
  415. package/src/shade/playground/basis_textures/make_basis_gltf.d.mts +2 -0
  416. package/src/shade/playground/basis_textures/make_basis_gltf.d.mts.map +1 -0
  417. package/src/shade/playground/basis_textures/make_basis_gltf.mjs +197 -0
  418. package/src/shade/playground/basis_textures/node_modules/basis_universal/bin/basisu.exe +0 -0
  419. package/src/shade/playground/basis_textures/texture_inventory.d.ts +28 -0
  420. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -0
  421. package/src/shade/playground/basis_textures/texture_inventory.js +98 -0
  422. package/src/shade/playground/image_decode_bench/README.md +42 -0
  423. package/src/shade/playground/image_decode_bench/decode_worker.d.ts +2 -0
  424. package/src/shade/playground/image_decode_bench/decode_worker.d.ts.map +1 -0
  425. package/src/shade/playground/image_decode_bench/decode_worker.js +19 -0
  426. package/src/shade/playground/image_decode_bench/index.html +34 -0
  427. package/src/shade/playground/image_decode_bench/main.d.ts +2 -0
  428. package/src/shade/playground/image_decode_bench/main.d.ts.map +1 -0
  429. package/src/shade/playground/image_decode_bench/main.js +211 -0
  430. package/src/shade/playground/skinned_blas_refit/README.md +1 -1
  431. package/src/shade/playground/skinned_blas_refit/index.html +15 -1
  432. package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
  433. package/src/shade/playground/skinned_blas_refit/main.js +339 -3
  434. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +8 -1
  435. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -1
  436. package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +27 -5
  437. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts +27 -0
  438. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts.map +1 -0
  439. package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.js +127 -0
  440. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -1
  441. package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +3 -3
  442. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -1
  443. package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +10 -8
  444. package/src/shade/playground/texture_encode/README.md +109 -0
  445. package/src/shade/playground/texture_encode/index.html +133 -0
  446. package/src/shade/playground/texture_encode/main.d.ts +24 -0
  447. package/src/shade/playground/texture_encode/main.d.ts.map +1 -0
  448. package/src/shade/playground/texture_encode/main.js +1430 -0
  449. package/src/shade/playground/texture_encode/panel_view.d.ts +118 -0
  450. package/src/shade/playground/texture_encode/panel_view.d.ts.map +1 -0
  451. package/src/shade/playground/texture_encode/panel_view.js +363 -0
  452. package/src/shade/renderer/Renderer.js +2 -2
  453. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  454. package/src/shade/renderer/animation/GPUAnimationManager.js +49 -5
  455. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
  456. package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +32 -14
  457. package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
  458. package/src/shade/renderer/geometry/GPUGeometryManager.js +591 -497
  459. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts +9 -0
  460. package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts.map +1 -1
  461. package/src/shade/renderer/geometry/GPUGeometryMetadata.js +10 -0
  462. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_BATCH_PLAN.md +606 -0
  463. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts +17 -0
  464. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts.map +1 -0
  465. package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.js +44 -0
  466. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +58 -0
  467. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -0
  468. package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +362 -0
  469. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +38 -0
  470. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
  471. package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +730 -617
  472. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +15 -2
  473. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
  474. package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +15 -1
  475. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts +39 -0
  476. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts.map +1 -0
  477. package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.js +134 -0
  478. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.js +3 -3
  479. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_open_document.js +3 -3
  480. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_read_geometry.js +1 -1
  481. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts +17 -0
  482. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts.map +1 -0
  483. package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.js +30 -0
  484. package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +8 -1
  485. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts +34 -0
  486. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts.map +1 -0
  487. package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.js +102 -0
  488. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +11 -9
  489. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -1
  490. package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +24 -86
  491. package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts +18 -0
  492. package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts.map +1 -0
  493. package/src/shade/renderer/loader/gltf/gltf_create_texture.js +103 -0
  494. package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts +26 -0
  495. package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts.map +1 -0
  496. package/src/shade/renderer/loader/gltf/gltf_image_roles.js +108 -0
  497. package/src/shade/renderer/loader/gltf/load_gltf.d.ts +10 -3
  498. package/src/shade/renderer/loader/gltf/load_gltf.d.ts.map +1 -1
  499. package/src/shade/renderer/loader/gltf/load_gltf.js +1179 -1253
  500. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +18 -1
  501. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  502. package/src/shade/renderer/loader/gltf/tiny-gltf.js +837 -646
  503. package/src/shade/renderer/loader/usd/load_usd.js +3 -3
  504. package/src/shade/renderer/loader/usd/usd_build_scene.js +2 -2
  505. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +6 -5
  506. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  507. package/src/shade/renderer/loader/usd/usd_decode_image.js +197 -384
  508. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  509. package/src/shade/renderer/postprocess/taa/TAA.d.ts +3 -3
  510. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  511. package/src/shade/renderer/postprocess/taa/TAA.js +2 -6
  512. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts +18 -0
  513. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts.map +1 -0
  514. package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.js +36 -0
  515. package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.d.ts.map +1 -1
  516. package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.js +4 -1
  517. package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.d.ts.map +1 -1
  518. package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.js +13 -8
  519. package/src/shade/renderer/postprocess/taa/shader_taa.d.ts +1 -1
  520. package/src/shade/renderer/postprocess/taa/shader_taa.d.ts.map +1 -1
  521. package/src/shade/renderer/postprocess/taa/shader_taa.js +52 -38
  522. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts +4 -2
  523. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts.map +1 -1
  524. package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.js +9 -6
  525. package/src/shade/renderer/scene/optimization/deduplicate_images.js +93 -93
  526. package/src/shade/renderer/scene/optimization/downscale_images.js +216 -216
  527. package/src/shade/renderer/scene/serialization/decode_image_source_hdr.js +1 -1
  528. package/src/shade/renderer/scene/serialization/deserialize_scene.js +1 -1
  529. package/src/shade/renderer/scene/serialization/write_image_source.js +1 -1
  530. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +1 -1
  531. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +1 -1
  532. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts +2 -1
  533. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts.map +1 -1
  534. package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.js +2 -1
  535. package/src/shade/renderer/texture/COMPRESSED_TEXTURE_PLAN_2026_09_01.md +893 -10
  536. package/src/shade/renderer/texture/encode/ENCODE_NOTES_2026_09_02.md +462 -0
  537. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts +33 -0
  538. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts.map +1 -0
  539. package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.js +310 -0
  540. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts +17 -0
  541. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts.map +1 -0
  542. package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.js +51 -0
  543. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts +42 -0
  544. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts.map +1 -0
  545. package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.js +375 -0
  546. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts +12 -0
  547. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts.map +1 -0
  548. package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.js +24 -0
  549. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts +45 -0
  550. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts.map +1 -0
  551. package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.js +348 -0
  552. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts +16 -0
  553. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts.map +1 -0
  554. package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.js +33 -0
  555. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts +32 -0
  556. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts.map +1 -0
  557. package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.js +346 -0
  558. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts +10 -0
  559. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts.map +1 -0
  560. package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.js +54 -0
  561. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts +36 -0
  562. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts.map +1 -0
  563. package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.js +327 -0
  564. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts +22 -0
  565. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts.map +1 -0
  566. package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.js +71 -0
  567. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts +20 -0
  568. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts.map +1 -0
  569. package/src/shade/renderer/texture/encode/chunk_texture_encode_level.js +73 -0
  570. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts +16 -0
  571. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts.map +1 -0
  572. package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.js +36 -0
  573. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts +13 -0
  574. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts.map +1 -0
  575. package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.js +63 -0
  576. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts +12 -0
  577. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts.map +1 -0
  578. package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.js +60 -0
  579. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts +28 -0
  580. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts.map +1 -0
  581. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.js +76 -0
  582. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts +16 -0
  583. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts.map +1 -0
  584. package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.js +64 -0
  585. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts +14 -0
  586. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts.map +1 -0
  587. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.js +67 -0
  588. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts +10 -0
  589. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts.map +1 -0
  590. package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.js +63 -0
  591. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts +12 -0
  592. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts.map +1 -0
  593. package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.js +62 -0
  594. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts +14 -0
  595. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts.map +1 -0
  596. package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.js +58 -0
  597. package/src/shade/renderer/texture/encode/texture_encode.d.ts +84 -0
  598. package/src/shade/renderer/texture/encode/texture_encode.d.ts.map +1 -0
  599. package/src/shade/renderer/texture/encode/texture_encode.js +168 -0
  600. package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts +196 -0
  601. package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts.map +1 -0
  602. package/src/shade/renderer/texture/encode/texture_encode_layout.js +248 -0
  603. package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts +15 -0
  604. package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts.map +1 -0
  605. package/src/shade/renderer/texture/encode/texture_encode_resources.js +25 -0
  606. package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts +30 -0
  607. package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts.map +1 -0
  608. package/src/shade/renderer/texture/encode/texture_encode_shader.js +108 -0
  609. package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts +3 -1
  610. package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts.map +1 -1
  611. package/src/shade/renderer/texture/format/gpu_texture_compression_support.js +8 -25
  612. package/src/shade/renderer/texture/format/texture_format_from_shade_image.d.ts.map +1 -1
  613. package/src/shade/renderer/texture/format/texture_format_from_shade_image.js +26 -2
  614. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts +32 -0
  615. package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts.map +1 -0
  616. package/src/shade/renderer/texture/source/texel_data_from_ktx2.js +48 -0
  617. package/src/shade/renderer/texture/texture_write_level.d.ts.map +1 -1
  618. package/src/shade/renderer/texture/texture_write_level.js +11 -1
  619. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  620. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +20 -0
  621. package/src/shade/renderer/volumetrics/NOTES.md +28 -0
  622. package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.d.ts.map +1 -1
  623. package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.js +7 -2
  624. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts +17 -0
  625. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts.map +1 -0
  626. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.js +168 -0
  627. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts +13 -0
  628. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts.map +1 -0
  629. package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.js +56 -0
  630. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.d.ts.map +1 -1
  631. package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js +134 -334
  632. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
  633. package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +49 -21
  634. package/src/avif/encode_image_source.d.ts +0 -70
  635. package/src/avif/encode_image_source.d.ts.map +0 -1
  636. package/src/avif/encode_image_source.js +0 -117
  637. package/src/avif/encoder_worker.d.ts.map +0 -1
  638. package/src/avif/index.d.ts +0 -5
  639. package/src/avif/index.d.ts.map +0 -1
  640. package/src/avif/index.js +0 -21
  641. package/src/avif/native/DECISIONS.md +0 -545
  642. package/src/avif/native/api/AvifDecoder.d.ts.map +0 -1
  643. package/src/avif/native/api/apply_transformations.d.ts.map +0 -1
  644. package/src/avif/native/api/avif_to_sampler2d.d.ts +0 -25
  645. package/src/avif/native/api/avif_to_sampler2d.d.ts.map +0 -1
  646. package/src/avif/native/api/avif_to_sampler2d.js +0 -42
  647. package/src/avif/native/api/convert_to_rgba.d.ts.map +0 -1
  648. package/src/avif/native/api/convert_to_rgba.js +0 -204
  649. package/src/avif/native/api/decode_avif.d.ts.map +0 -1
  650. package/src/avif/native/api/decode_image_item.d.ts.map +0 -1
  651. package/src/avif/native/api/encode_avif.d.ts.map +0 -1
  652. package/src/avif/native/api/sampler2d_to_avif.d.ts.map +0 -1
  653. package/src/avif/native/api/sampler2d_to_avif.js +0 -108
  654. package/src/avif/native/av1/decode/Av1FrameContext.d.ts.map +0 -1
  655. package/src/avif/native/av1/decode/block_decoded.d.ts.map +0 -1
  656. package/src/avif/native/av1/decode/decode_av1_still.d.ts.map +0 -1
  657. package/src/avif/native/av1/decode/decode_coefficients.d.ts.map +0 -1
  658. package/src/avif/native/av1/decode/decode_palette.d.ts.map +0 -1
  659. package/src/avif/native/av1/decode/decode_palette.js +0 -442
  660. package/src/avif/native/av1/decode/decode_tile.d.ts.map +0 -1
  661. package/src/avif/native/av1/decode/decode_tile.js +0 -1213
  662. package/src/avif/native/av1/decode/get_scan.d.ts.map +0 -1
  663. package/src/avif/native/av1/decode/read_lr.d.ts.map +0 -1
  664. package/src/avif/native/av1/decode/read_lr.js +0 -277
  665. package/src/avif/native/av1/decode/read_transform_type.d.ts.map +0 -1
  666. package/src/avif/native/av1/decode/read_transform_type.js +0 -92
  667. package/src/avif/native/av1/decode/reconstruct.d.ts.map +0 -1
  668. package/src/avif/native/av1/decode/reconstruct.js +0 -241
  669. package/src/avif/native/av1/decode/transform_type.d.ts.map +0 -1
  670. package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts.map +0 -1
  671. package/src/avif/native/av1/encode/Av1EncodeContext.d.ts.map +0 -1
  672. package/src/avif/native/av1/encode/build_headers.d.ts.map +0 -1
  673. package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts.map +0 -1
  674. package/src/avif/native/av1/encode/choose_filters.d.ts.map +0 -1
  675. package/src/avif/native/av1/encode/choose_restoration.d.ts.map +0 -1
  676. package/src/avif/native/av1/encode/choose_restoration.js +0 -616
  677. package/src/avif/native/av1/encode/decode_effort.d.ts.map +0 -1
  678. package/src/avif/native/av1/encode/encode_av1_still.d.ts.map +0 -1
  679. package/src/avif/native/av1/encode/encode_effort.d.ts.map +0 -1
  680. package/src/avif/native/av1/encode/encode_tile.d.ts.map +0 -1
  681. package/src/avif/native/av1/encode/encode_tile.js +0 -2331
  682. package/src/avif/native/av1/encode/quantise.d.ts.map +0 -1
  683. package/src/avif/native/av1/encode/write_coefficients.d.ts.map +0 -1
  684. package/src/avif/native/av1/encode/write_lr.d.ts.map +0 -1
  685. package/src/avif/native/av1/encode/write_transform_type.d.ts.map +0 -1
  686. package/src/avif/native/av1/entropy/CdfContext.d.ts.map +0 -1
  687. package/src/avif/native/av1/entropy/SymbolReader.d.ts.map +0 -1
  688. package/src/avif/native/av1/entropy/SymbolWriter.d.ts.map +0 -1
  689. package/src/avif/native/av1/entropy/coefficient_context.d.ts.map +0 -1
  690. package/src/avif/native/av1/entropy/partition_cdf.d.ts.map +0 -1
  691. package/src/avif/native/av1/entropy/symbol_cost.d.ts.map +0 -1
  692. package/src/avif/native/av1/filter/cdef.d.ts.map +0 -1
  693. package/src/avif/native/av1/filter/cdef.js +0 -313
  694. package/src/avif/native/av1/filter/loop_filter.d.ts.map +0 -1
  695. package/src/avif/native/av1/filter/loop_filter.js +0 -377
  696. package/src/avif/native/av1/filter/loop_restoration.d.ts.map +0 -1
  697. package/src/avif/native/av1/filter/loop_restoration.js +0 -451
  698. package/src/avif/native/av1/filter/superres.d.ts.map +0 -1
  699. package/src/avif/native/av1/filter/superres.js +0 -86
  700. package/src/avif/native/av1/grain/FilmGrainState.d.ts.map +0 -1
  701. package/src/avif/native/av1/grain/film_grain.d.ts.map +0 -1
  702. package/src/avif/native/av1/grain/film_grain.js +0 -623
  703. package/src/avif/native/av1/obu/FrameHeader.d.ts.map +0 -1
  704. package/src/avif/native/av1/obu/ObuHeader.d.ts.map +0 -1
  705. package/src/avif/native/av1/obu/SequenceHeader.d.ts.map +0 -1
  706. package/src/avif/native/av1/obu/for_each_obu.d.ts.map +0 -1
  707. package/src/avif/native/av1/obu/parse_frame_header.d.ts.map +0 -1
  708. package/src/avif/native/av1/obu/parse_frame_header.js +0 -841
  709. package/src/avif/native/av1/obu/parse_obu_header.d.ts.map +0 -1
  710. package/src/avif/native/av1/obu/parse_sequence_header.d.ts.map +0 -1
  711. package/src/avif/native/av1/obu/write_frame_header.d.ts.map +0 -1
  712. package/src/avif/native/av1/obu/write_sequence_header.d.ts.map +0 -1
  713. package/src/avif/native/av1/predict/IntraPredictionState.d.ts.map +0 -1
  714. package/src/avif/native/av1/predict/intra_filter_type.d.ts.map +0 -1
  715. package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts.map +0 -1
  716. package/src/avif/native/av1/predict/predict_chroma_from_luma.js +0 -153
  717. package/src/avif/native/av1/predict/predict_intra.d.ts.map +0 -1
  718. package/src/avif/native/av1/predict/predict_intra.js +0 -803
  719. package/src/avif/native/av1/predict/predict_palette.d.ts.map +0 -1
  720. package/src/avif/native/av1/tables/av1_symbols.d.ts.map +0 -1
  721. package/src/avif/native/av1/tables/av1_symbols.js +0 -419
  722. package/src/avif/native/av1/tables/block_tables.d.ts.map +0 -1
  723. package/src/avif/native/av1/tables/block_tables.js +0 -270
  724. package/src/avif/native/av1/tables/cdf_tables.d.ts.map +0 -1
  725. package/src/avif/native/av1/tables/cdf_tables.js +0 -1893
  726. package/src/avif/native/av1/tables/coefficient_tables.d.ts.map +0 -1
  727. package/src/avif/native/av1/tables/coefficient_tables.js +0 -82
  728. package/src/avif/native/av1/tables/derived_block_tables.d.ts.map +0 -1
  729. package/src/avif/native/av1/tables/filter_tables.d.ts.map +0 -1
  730. package/src/avif/native/av1/tables/filter_tables.js +0 -313
  731. package/src/avif/native/av1/tables/grain_tables.d.ts.map +0 -1
  732. package/src/avif/native/av1/tables/grain_tables.js +0 -190
  733. package/src/avif/native/av1/tables/prediction_tables.d.ts.map +0 -1
  734. package/src/avif/native/av1/tables/prediction_tables.js +0 -223
  735. package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts.map +0 -1
  736. package/src/avif/native/av1/tables/quantizer_matrix_tables.js +0 -38
  737. package/src/avif/native/av1/tables/quantizer_tables.d.ts.map +0 -1
  738. package/src/avif/native/av1/tables/quantizer_tables.js +0 -160
  739. package/src/avif/native/av1/tables/scan_tables.d.ts.map +0 -1
  740. package/src/avif/native/av1/tables/scan_tables.js +0 -727
  741. package/src/avif/native/av1/tables/segmentation_tables.d.ts.map +0 -1
  742. package/src/avif/native/av1/tables/segmentation_tables.js +0 -48
  743. package/src/avif/native/av1/tables/transform_tables.d.ts.map +0 -1
  744. package/src/avif/native/av1/tables/transform_tables.js +0 -140
  745. package/src/avif/native/av1/tables/unpack_table.d.ts.map +0 -1
  746. package/src/avif/native/av1/tables/unpack_table.js +0 -73
  747. package/src/avif/native/av1/transform/forward_transform_2d.d.ts.map +0 -1
  748. package/src/avif/native/av1/transform/inverse_transform_1d.d.ts.map +0 -1
  749. package/src/avif/native/av1/transform/inverse_transform_1d.js +0 -590
  750. package/src/avif/native/av1/transform/inverse_transform_2d.d.ts.map +0 -1
  751. package/src/avif/native/av1/transform/inverse_transform_2d.js +0 -180
  752. package/src/avif/native/av1/util/ceil_log2.d.ts.map +0 -1
  753. package/src/avif/native/av1/util/floor_log2.d.ts +0 -20
  754. package/src/avif/native/av1/util/floor_log2.d.ts.map +0 -1
  755. package/src/avif/native/av1/util/floor_log2.js +0 -20
  756. package/src/avif/native/av1/util/round2.d.ts.map +0 -1
  757. package/src/avif/native/av1/util/round2_signed.d.ts.map +0 -1
  758. package/src/avif/native/av1/util/tile_log2.d.ts.map +0 -1
  759. package/src/avif/native/bitstream/BitReader.d.ts.map +0 -1
  760. package/src/avif/native/bitstream/BitWriter.d.ts.map +0 -1
  761. package/src/avif/native/color/ColourTransform.d.ts.map +0 -1
  762. package/src/avif/native/color/YuvImage.d.ts.map +0 -1
  763. package/src/avif/native/color/clamp_sample.d.ts.map +0 -1
  764. package/src/avif/native/color/linear_to_transfer.d.ts.map +0 -1
  765. package/src/avif/native/color/linear_to_transfer.js +0 -126
  766. package/src/avif/native/color/primaries.d.ts.map +0 -1
  767. package/src/avif/native/color/rgb_row_to_ycbcr.d.ts.map +0 -1
  768. package/src/avif/native/color/transfer_to_linear.d.ts.map +0 -1
  769. package/src/avif/native/color/transfer_to_linear.js +0 -171
  770. package/src/avif/native/color/upsample_chroma_row.d.ts.map +0 -1
  771. package/src/avif/native/color/upsample_chroma_row.js +0 -89
  772. package/src/avif/native/color/ycbcr_row_to_rgb.d.ts.map +0 -1
  773. package/src/avif/native/color/ycbcr_row_to_rgb.js +0 -78
  774. package/src/avif/native/heif/AvifFile.d.ts.map +0 -1
  775. package/src/avif/native/heif/ItemProperty.d.ts.map +0 -1
  776. package/src/avif/native/heif/find_item_property.d.ts.map +0 -1
  777. package/src/avif/native/heif/find_item_references.d.ts.map +0 -1
  778. package/src/avif/native/heif/find_items_referencing.d.ts.map +0 -1
  779. package/src/avif/native/heif/parse_avif_file.d.ts.map +0 -1
  780. package/src/avif/native/heif/parse_avif_file.js +0 -384
  781. package/src/avif/native/heif/parse_image_grid.d.ts.map +0 -1
  782. package/src/avif/native/heif/parse_image_grid.js +0 -49
  783. package/src/avif/native/heif/parse_item_property.d.ts.map +0 -1
  784. package/src/avif/native/heif/read_item_data.d.ts.map +0 -1
  785. package/src/avif/native/heif/write_avif_file.d.ts.map +0 -1
  786. package/src/avif/native/heif/write_item_property.d.ts.map +0 -1
  787. package/src/avif/native/index.d.ts +0 -14
  788. package/src/avif/native/index.d.ts.map +0 -1
  789. package/src/avif/native/index.js +0 -56
  790. package/src/avif/native/isobmff/BoxHeader.d.ts.map +0 -1
  791. package/src/avif/native/isobmff/BoxWriter.d.ts +0 -118
  792. package/src/avif/native/isobmff/BoxWriter.d.ts.map +0 -1
  793. package/src/avif/native/isobmff/BoxWriter.js +0 -264
  794. package/src/avif/native/isobmff/for_each_box.d.ts.map +0 -1
  795. package/src/avif/native/isobmff/read_box_header.d.ts.map +0 -1
  796. package/src/avif/native/isobmff/read_full_box_header.d.ts.map +0 -1
  797. package/src/avif/threaded_image_encoder.d.ts.map +0 -1
  798. package/src/basis/BasisBitReader.d.ts +0 -77
  799. package/src/basis/BasisBitReader.d.ts.map +0 -1
  800. package/src/basis/BasisBitReader.js +0 -231
  801. package/src/basis/BasisHuffmanTable.d.ts.map +0 -1
  802. package/src/basis/basis_read_huffman_table.d.ts.map +0 -1
  803. package/src/basis/etc1s/Etc1sSelectorHistory.d.ts.map +0 -1
  804. package/src/basis/etc1s/etc1s_block_colors.d.ts.map +0 -1
  805. package/src/basis/etc1s/etc1s_decode_slice.d.ts.map +0 -1
  806. package/src/basis/etc1s/etc1s_decode_slice.js +0 -258
  807. package/src/basis/etc1s/etc1s_read_endpoint_codebook.d.ts.map +0 -1
  808. package/src/basis/etc1s/etc1s_read_selector_codebook.d.ts.map +0 -1
  809. package/src/basis/etc1s/etc1s_read_slice_tables.d.ts.map +0 -1
  810. package/src/basis/transcode/etc1s_to_bc1.d.ts +0 -24
  811. package/src/basis/transcode/etc1s_to_bc1.d.ts.map +0 -1
  812. package/src/basis/transcode/etc1s_to_bc1.js +0 -205
  813. package/src/basis/transcode/etc1s_to_bc7.d.ts +0 -30
  814. package/src/basis/transcode/etc1s_to_bc7.d.ts.map +0 -1
  815. package/src/basis/transcode/fit_endpoints.d.ts +0 -59
  816. package/src/basis/transcode/fit_endpoints.d.ts.map +0 -1
  817. package/src/basis/transcode/fit_endpoints.js +0 -226
  818. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts +0 -8
  819. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts.map +0 -1
  820. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.js +0 -70
  821. package/src/engine/asset/loaders/gltf/isMesh.d.ts +0 -7
  822. package/src/engine/asset/loaders/gltf/isMesh.d.ts.map +0 -1
  823. package/src/engine/asset/loaders/gltf/isMesh.js +0 -8
  824. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +0 -1
  825. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +0 -1
  826. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +0 -1
  827. package/src/engine/asset/loaders/image/jpeg/JpegImage.js +0 -664
  828. package/src/engine/asset/loaders/image/jpeg/buildComponentData.d.ts.map +0 -1
  829. package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.d.ts.map +0 -1
  830. package/src/engine/asset/loaders/image/jpeg/decodeScan.d.ts.map +0 -1
  831. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +0 -1
  832. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +0 -31
  833. package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts.map +0 -1
  834. package/src/engine/asset/loaders/image/jpeg/jpeg_decode.d.ts.map +0 -1
  835. package/src/engine/asset/loaders/image/png/PNG.d.ts.map +0 -1
  836. package/src/engine/asset/loaders/image/png/PNGReader.d.ts +0 -158
  837. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +0 -1
  838. package/src/engine/asset/loaders/image/png/PNGReader.js +0 -656
  839. package/src/engine/asset/loaders/image/png/PNG_HEADER_BYTES.d.ts.map +0 -1
  840. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +0 -1
  841. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.js +0 -53
  842. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +0 -1
  843. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.js +0 -42
  844. package/src/engine/asset/loaders/image/png/crc32.d.ts +0 -2
  845. package/src/engine/asset/loaders/image/png/crc32.d.ts.map +0 -1
  846. package/src/engine/asset/loaders/image/png/crc32.js +0 -8
  847. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterAverage.d.ts.map +0 -1
  848. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts.map +0 -1
  849. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterPaeth.d.ts.map +0 -1
  850. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts.map +0 -1
  851. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts.map +0 -1
  852. package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts.map +0 -1
  853. package/src/engine/asset/loaders/image/png/filter/png_unfilter.js +0 -68
  854. package/src/engine/asset/loaders/image/png/png_inflate.d.ts.map +0 -1
  855. package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts.map +0 -1
  856. package/src/engine/asset/loaders/image/png/prototypePNG.d.ts.map +0 -1
  857. package/src/engine/asset/loaders/image/png/prototypePNG.js +0 -37
  858. package/src/ktx2/KTX2_IDENTIFIER.d.ts.map +0 -1
  859. package/src/ktx2/KhrDfModel.d.ts.map +0 -1
  860. package/src/ktx2/SupercompressionScheme.d.ts.map +0 -1
  861. package/src/ktx2/ktx2_read.d.ts +0 -71
  862. package/src/ktx2/ktx2_read.d.ts.map +0 -1
  863. package/src/ktx2/ktx2_read.js +0 -581
  864. package/src/ktx2/ktx2_read_basis_lz_global_data.d.ts +0 -27
  865. package/src/ktx2/ktx2_read_basis_lz_global_data.d.ts.map +0 -1
  866. package/src/ktx2/ktx2_read_basis_lz_global_data.js +0 -189
  867. package/src/ktx2/vk_format_to_texture_format.d.ts +0 -55
  868. package/src/ktx2/vk_format_to_texture_format.d.ts.map +0 -1
  869. package/src/ktx2/vk_format_to_texture_format.js +0 -290
  870. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +0 -25
  871. package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +0 -1
  872. package/src/shade/renderer/geometry/bvh/record_blas_refit.js +0 -102
  873. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +0 -30
  874. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +0 -1
  875. package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +0 -125
  876. package/src/shade/renderer/loader/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +0 -1
  877. package/src/shade/renderer/loader/gltf/MESHOPT_COMPRESSION_PLAN.md +0 -793
  878. package/src/shade/renderer/loader/gltf/coalesce_array_duplicates.d.ts.map +0 -1
  879. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtension.d.ts.map +0 -1
  880. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +0 -1
  881. package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.js +0 -109
  882. package/src/shade/renderer/loader/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +0 -1
  883. package/src/shade/renderer/loader/gltf/ext/gltf_buffer_view_extensions.d.ts.map +0 -1
  884. package/src/shade/renderer/loader/gltf/ext/gltf_geometry_extensions.d.ts.map +0 -1
  885. package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +0 -1
  886. package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.js +0 -301
  887. package/src/shade/renderer/loader/gltf/gltf_component_type.d.ts.map +0 -1
  888. package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.d.ts.map +0 -1
  889. package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.js +0 -137
  890. package/src/shade/renderer/loader/gltf/gltf_parse_container.d.ts.map +0 -1
  891. package/src/shade/renderer/loader/gltf/gltf_read_accessor.d.ts.map +0 -1
  892. package/src/shade/renderer/loader/gltf/gltf_read_accessor.js +0 -294
  893. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts +0 -25
  894. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts.map +0 -1
  895. package/src/shade/renderer/loader/gltf/gltf_used_image_indices.js +0 -49
  896. package/src/shade/renderer/loader/usd/UsdError.d.ts.map +0 -1
  897. package/src/shade/renderer/loader/usd/parse_usda.d.ts.map +0 -1
  898. package/src/shade/renderer/loader/usd/unpack_usdz.d.ts.map +0 -1
  899. package/src/shade/renderer/loader/usd/unpack_usdz.js +0 -106
  900. package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +0 -1
  901. package/src/shade/renderer/loader/usd/usd_compose_transform.js +0 -258
  902. package/src/shade/renderer/loader/usd/usd_lz4.d.ts.map +0 -1
  903. package/src/shade/renderer/loader/usd/usd_lz4.js +0 -182
  904. package/src/shade/renderer/loader/usd/usd_triangulate.d.ts.map +0 -1
  905. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts +0 -2
  906. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts.map +0 -1
  907. package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.js +0 -43
  908. package/src/shade/renderer/scene/optimization/sampler2d_compare.d.ts.map +0 -1
  909. package/src/shade/renderer/scene/optimization/sampler2d_compare.js +0 -94
  910. /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.d.ts +0 -0
  911. /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.js +0 -0
  912. /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.d.ts +0 -0
  913. /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.js +0 -0
  914. /package/src/engine/asset/loaders/image/{png/prototypePNG.d.ts → prototypePNG.d.ts} +0 -0
  915. /package/src/{shade/renderer/scene/optimization → engine/graphics/texture/sampler/compare}/sampler2d_compare.d.ts +0 -0
  916. /package/src/{avif/native/api → engine/graphics/texture/sampler}/sampler2d_to_avif.d.ts +0 -0
  917. /package/src/{avif/native → format/image/avif}/NOTICE.md +0 -0
  918. /package/src/{avif/native → format/image/avif}/api/AvifDecoder.d.ts +0 -0
  919. /package/src/{avif/native → format/image/avif}/api/AvifDecoder.js +0 -0
  920. /package/src/{avif/native → format/image/avif}/api/apply_transformations.d.ts +0 -0
  921. /package/src/{avif/native → format/image/avif}/api/apply_transformations.js +0 -0
  922. /package/src/{avif/native → format/image/avif}/api/convert_to_rgba.d.ts +0 -0
  923. /package/src/{avif/native → format/image/avif}/api/decode_avif.d.ts +0 -0
  924. /package/src/{avif/native → format/image/avif}/api/decode_avif.js +0 -0
  925. /package/src/{avif/native → format/image/avif}/api/decode_image_item.d.ts +0 -0
  926. /package/src/{avif/native → format/image/avif}/api/decode_image_item.js +0 -0
  927. /package/src/{avif/native → format/image/avif}/api/encode_avif.d.ts +0 -0
  928. /package/src/{avif/native → format/image/avif}/api/encode_avif.js +0 -0
  929. /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.d.ts +0 -0
  930. /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.js +0 -0
  931. /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.d.ts +0 -0
  932. /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.js +0 -0
  933. /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.d.ts +0 -0
  934. /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.js +0 -0
  935. /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.d.ts +0 -0
  936. /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.js +0 -0
  937. /package/src/{avif/native → format/image/avif}/av1/decode/decode_palette.d.ts +0 -0
  938. /package/src/{avif/native → format/image/avif}/av1/decode/decode_tile.d.ts +0 -0
  939. /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.d.ts +0 -0
  940. /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.js +0 -0
  941. /package/src/{avif/native → format/image/avif}/av1/decode/read_lr.d.ts +0 -0
  942. /package/src/{avif/native → format/image/avif}/av1/decode/read_transform_type.d.ts +0 -0
  943. /package/src/{avif/native → format/image/avif}/av1/decode/reconstruct.d.ts +0 -0
  944. /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.d.ts +0 -0
  945. /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.js +0 -0
  946. /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.d.ts +0 -0
  947. /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.js +0 -0
  948. /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.d.ts +0 -0
  949. /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.js +0 -0
  950. /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.d.ts +0 -0
  951. /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.js +0 -0
  952. /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.d.ts +0 -0
  953. /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.js +0 -0
  954. /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.d.ts +0 -0
  955. /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.js +0 -0
  956. /package/src/{avif/native → format/image/avif}/av1/encode/choose_restoration.d.ts +0 -0
  957. /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.d.ts +0 -0
  958. /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.js +0 -0
  959. /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.d.ts +0 -0
  960. /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.js +0 -0
  961. /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.d.ts +0 -0
  962. /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.js +0 -0
  963. /package/src/{avif/native → format/image/avif}/av1/encode/encode_tile.d.ts +0 -0
  964. /package/src/{avif/native → format/image/avif}/av1/encode/quantise.d.ts +0 -0
  965. /package/src/{avif/native → format/image/avif}/av1/encode/quantise.js +0 -0
  966. /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.d.ts +0 -0
  967. /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.js +0 -0
  968. /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.d.ts +0 -0
  969. /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.js +0 -0
  970. /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.d.ts +0 -0
  971. /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.js +0 -0
  972. /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.d.ts +0 -0
  973. /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.js +0 -0
  974. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.d.ts +0 -0
  975. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.js +0 -0
  976. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.d.ts +0 -0
  977. /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.js +0 -0
  978. /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.d.ts +0 -0
  979. /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.js +0 -0
  980. /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.d.ts +0 -0
  981. /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.js +0 -0
  982. /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.d.ts +0 -0
  983. /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.js +0 -0
  984. /package/src/{avif/native → format/image/avif}/av1/filter/cdef.d.ts +0 -0
  985. /package/src/{avif/native → format/image/avif}/av1/filter/loop_filter.d.ts +0 -0
  986. /package/src/{avif/native → format/image/avif}/av1/filter/loop_restoration.d.ts +0 -0
  987. /package/src/{avif/native → format/image/avif}/av1/filter/superres.d.ts +0 -0
  988. /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.d.ts +0 -0
  989. /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.js +0 -0
  990. /package/src/{avif/native → format/image/avif}/av1/grain/film_grain.d.ts +0 -0
  991. /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.d.ts +0 -0
  992. /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.js +0 -0
  993. /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.d.ts +0 -0
  994. /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.js +0 -0
  995. /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.d.ts +0 -0
  996. /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.js +0 -0
  997. /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.d.ts +0 -0
  998. /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.js +0 -0
  999. /package/src/{avif/native → format/image/avif}/av1/obu/parse_frame_header.d.ts +0 -0
  1000. /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.d.ts +0 -0
  1001. /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.js +0 -0
  1002. /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.d.ts +0 -0
  1003. /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.js +0 -0
  1004. /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.d.ts +0 -0
  1005. /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.js +0 -0
  1006. /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.d.ts +0 -0
  1007. /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.js +0 -0
  1008. /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.d.ts +0 -0
  1009. /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.js +0 -0
  1010. /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.d.ts +0 -0
  1011. /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.js +0 -0
  1012. /package/src/{avif/native → format/image/avif}/av1/predict/predict_chroma_from_luma.d.ts +0 -0
  1013. /package/src/{avif/native → format/image/avif}/av1/predict/predict_intra.d.ts +0 -0
  1014. /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.d.ts +0 -0
  1015. /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.js +0 -0
  1016. /package/src/{avif/native → format/image/avif}/av1/tables/av1_symbols.d.ts +0 -0
  1017. /package/src/{avif/native → format/image/avif}/av1/tables/block_tables.d.ts +0 -0
  1018. /package/src/{avif/native → format/image/avif}/av1/tables/cdf_tables.d.ts +0 -0
  1019. /package/src/{avif/native → format/image/avif}/av1/tables/coefficient_tables.d.ts +0 -0
  1020. /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.d.ts +0 -0
  1021. /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.js +0 -0
  1022. /package/src/{avif/native → format/image/avif}/av1/tables/filter_tables.d.ts +0 -0
  1023. /package/src/{avif/native → format/image/avif}/av1/tables/grain_tables.d.ts +0 -0
  1024. /package/src/{avif/native → format/image/avif}/av1/tables/prediction_tables.d.ts +0 -0
  1025. /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_matrix_tables.d.ts +0 -0
  1026. /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_tables.d.ts +0 -0
  1027. /package/src/{avif/native → format/image/avif}/av1/tables/scan_tables.d.ts +0 -0
  1028. /package/src/{avif/native → format/image/avif}/av1/tables/segmentation_tables.d.ts +0 -0
  1029. /package/src/{avif/native → format/image/avif}/av1/tables/transform_tables.d.ts +0 -0
  1030. /package/src/{avif/native → format/image/avif}/av1/tables/unpack_table.d.ts +0 -0
  1031. /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.d.ts +0 -0
  1032. /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.js +0 -0
  1033. /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_1d.d.ts +0 -0
  1034. /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_2d.d.ts +0 -0
  1035. /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.d.ts +0 -0
  1036. /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.js +0 -0
  1037. /package/src/{avif/native → format/image/avif}/av1/util/round2.d.ts +0 -0
  1038. /package/src/{avif/native → format/image/avif}/av1/util/round2.js +0 -0
  1039. /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.d.ts +0 -0
  1040. /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.js +0 -0
  1041. /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.d.ts +0 -0
  1042. /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.js +0 -0
  1043. /package/src/{avif/native → format/image/avif}/bitstream/BitReader.d.ts +0 -0
  1044. /package/src/{avif/native → format/image/avif}/bitstream/BitReader.js +0 -0
  1045. /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.d.ts +0 -0
  1046. /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.js +0 -0
  1047. /package/src/{avif/native → format/image/avif}/color/ColourTransform.d.ts +0 -0
  1048. /package/src/{avif/native → format/image/avif}/color/ColourTransform.js +0 -0
  1049. /package/src/{avif/native → format/image/avif}/color/YuvImage.d.ts +0 -0
  1050. /package/src/{avif/native → format/image/avif}/color/YuvImage.js +0 -0
  1051. /package/src/{avif/native → format/image/avif}/color/clamp_sample.d.ts +0 -0
  1052. /package/src/{avif/native → format/image/avif}/color/clamp_sample.js +0 -0
  1053. /package/src/{avif/native → format/image/avif}/color/linear_to_transfer.d.ts +0 -0
  1054. /package/src/{avif/native → format/image/avif}/color/primaries.d.ts +0 -0
  1055. /package/src/{avif/native → format/image/avif}/color/primaries.js +0 -0
  1056. /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.d.ts +0 -0
  1057. /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.js +0 -0
  1058. /package/src/{avif/native → format/image/avif}/color/transfer_to_linear.d.ts +0 -0
  1059. /package/src/{avif/native → format/image/avif}/color/upsample_chroma_row.d.ts +0 -0
  1060. /package/src/{avif/native → format/image/avif}/color/ycbcr_row_to_rgb.d.ts +0 -0
  1061. /package/src/{avif/native → format/image/avif}/heif/AvifFile.d.ts +0 -0
  1062. /package/src/{avif/native → format/image/avif}/heif/AvifFile.js +0 -0
  1063. /package/src/{avif/native → format/image/avif}/heif/ItemProperty.d.ts +0 -0
  1064. /package/src/{avif/native → format/image/avif}/heif/ItemProperty.js +0 -0
  1065. /package/src/{avif/native → format/image/avif}/heif/find_item_property.d.ts +0 -0
  1066. /package/src/{avif/native → format/image/avif}/heif/find_item_property.js +0 -0
  1067. /package/src/{avif/native → format/image/avif}/heif/find_item_references.d.ts +0 -0
  1068. /package/src/{avif/native → format/image/avif}/heif/find_item_references.js +0 -0
  1069. /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.d.ts +0 -0
  1070. /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.js +0 -0
  1071. /package/src/{avif/native → format/image/avif}/heif/parse_avif_file.d.ts +0 -0
  1072. /package/src/{avif/native → format/image/avif}/heif/parse_image_grid.d.ts +0 -0
  1073. /package/src/{avif/native → format/image/avif}/heif/parse_item_property.d.ts +0 -0
  1074. /package/src/{avif/native → format/image/avif}/heif/parse_item_property.js +0 -0
  1075. /package/src/{avif/native → format/image/avif}/heif/read_item_data.d.ts +0 -0
  1076. /package/src/{avif/native → format/image/avif}/heif/read_item_data.js +0 -0
  1077. /package/src/{avif/native → format/image/avif}/heif/write_avif_file.d.ts +0 -0
  1078. /package/src/{avif/native → format/image/avif}/heif/write_avif_file.js +0 -0
  1079. /package/src/{avif/native → format/image/avif}/heif/write_item_property.d.ts +0 -0
  1080. /package/src/{avif/native → format/image/avif}/heif/write_item_property.js +0 -0
  1081. /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.d.ts +0 -0
  1082. /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.js +0 -0
  1083. /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.d.ts +0 -0
  1084. /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.js +0 -0
  1085. /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.d.ts +0 -0
  1086. /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.js +0 -0
  1087. /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.d.ts +0 -0
  1088. /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.js +0 -0
  1089. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.d.ts +0 -0
  1090. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.js +0 -0
  1091. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.d.ts +0 -0
  1092. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.js +0 -0
  1093. /package/src/{engine/asset/loaders → format}/image/jpeg/JpegImage.d.ts +0 -0
  1094. /package/src/{engine/asset/loaders → format}/image/jpeg/NOTES.md +0 -0
  1095. /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.d.ts +0 -0
  1096. /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.js +0 -0
  1097. /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.d.ts +0 -0
  1098. /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.js +0 -0
  1099. /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.d.ts +0 -0
  1100. /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.js +0 -0
  1101. /package/src/{engine/asset/loaders → format}/image/jpeg/idct8x8_float.d.ts +0 -0
  1102. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.d.ts +0 -0
  1103. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.js +0 -0
  1104. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.d.ts +0 -0
  1105. /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.js +0 -0
  1106. /package/src/{engine/asset/loaders → format}/image/png/PNG.d.ts +0 -0
  1107. /package/src/{engine/asset/loaders → format}/image/png/PNG.js +0 -0
  1108. /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.d.ts +0 -0
  1109. /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.js +0 -0
  1110. /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_iTXt.d.ts +0 -0
  1111. /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_zTXt.d.ts +0 -0
  1112. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.d.ts +0 -0
  1113. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.js +0 -0
  1114. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.d.ts +0 -0
  1115. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.js +0 -0
  1116. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.d.ts +0 -0
  1117. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.js +0 -0
  1118. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.d.ts +0 -0
  1119. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.js +0 -0
  1120. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.d.ts +0 -0
  1121. /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.js +0 -0
  1122. /package/src/{engine/asset/loaders → format}/image/png/filter/png_unfilter.d.ts +0 -0
  1123. /package/src/{engine/asset/loaders → format}/image/png/png_inflate.d.ts +0 -0
  1124. /package/src/{engine/asset/loaders → format}/image/png/png_inflate.js +0 -0
  1125. /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.d.ts +0 -0
  1126. /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.js +0 -0
  1127. /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.d.ts +0 -0
  1128. /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.js +0 -0
  1129. /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.d.ts +0 -0
  1130. /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.js +0 -0
  1131. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.d.ts +0 -0
  1132. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.js +0 -0
  1133. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtensionSet.d.ts +0 -0
  1134. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.d.ts +0 -0
  1135. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.js +0 -0
  1136. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.d.ts +0 -0
  1137. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.js +0 -0
  1138. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.d.ts +0 -0
  1139. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.js +0 -0
  1140. /package/src/{shade/renderer/loader → format/scene}/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts +0 -0
  1141. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.d.ts +0 -0
  1142. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.js +0 -0
  1143. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_node_world_matrices.d.ts +0 -0
  1144. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.d.ts +0 -0
  1145. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.js +0 -0
  1146. /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_read_accessor.d.ts +0 -0
  1147. /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.d.ts +0 -0
  1148. /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.js +0 -0
  1149. /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.d.ts +0 -0
  1150. /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.js +0 -0
  1151. /package/src/{shade/renderer/loader → format/scene}/usd/unpack_usdz.d.ts +0 -0
  1152. /package/src/{shade/renderer/loader → format/scene}/usd/usd_compose_transform.d.ts +0 -0
  1153. /package/src/{shade/renderer/loader → format/scene}/usd/usd_lz4.d.ts +0 -0
  1154. /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.d.ts +0 -0
  1155. /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.js +0 -0
  1156. /package/src/{basis → format/texture/basis}/BasisHuffmanTable.d.ts +0 -0
  1157. /package/src/{basis → format/texture/basis}/BasisHuffmanTable.js +0 -0
  1158. /package/src/{basis → format/texture/basis}/basis_read_huffman_table.d.ts +0 -0
  1159. /package/src/{basis → format/texture/basis}/basis_read_huffman_table.js +0 -0
  1160. /package/src/{basis → format/texture/basis}/etc1s/Etc1sSelectorHistory.d.ts +0 -0
  1161. /package/src/{basis → format/texture/basis}/etc1s/Etc1sSelectorHistory.js +0 -0
  1162. /package/src/{basis → format/texture/basis}/etc1s/etc1s_block_colors.d.ts +0 -0
  1163. /package/src/{basis → format/texture/basis}/etc1s/etc1s_block_colors.js +0 -0
  1164. /package/src/{basis → format/texture/basis}/etc1s/etc1s_decode_slice.d.ts +0 -0
  1165. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_endpoint_codebook.d.ts +0 -0
  1166. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_endpoint_codebook.js +0 -0
  1167. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_selector_codebook.d.ts +0 -0
  1168. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_selector_codebook.js +0 -0
  1169. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_slice_tables.d.ts +0 -0
  1170. /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_slice_tables.js +0 -0
  1171. /package/src/{basis → format/texture/basis}/transcode/build_range_plan.js +0 -0
  1172. /package/src/{basis → format/texture/basis}/transcode/etc1s_to_bc7.js +0 -0
  1173. /package/src/{ktx2 → format/texture/ktx2}/KTX2_IDENTIFIER.d.ts +0 -0
  1174. /package/src/{ktx2 → format/texture/ktx2}/KTX2_IDENTIFIER.js +0 -0
  1175. /package/src/{ktx2 → format/texture/ktx2}/KhrDfModel.d.ts +0 -0
  1176. /package/src/{ktx2 → format/texture/ktx2}/KhrDfModel.js +0 -0
  1177. /package/src/{ktx2 → format/texture/ktx2}/SupercompressionScheme.d.ts +0 -0
  1178. /package/src/{ktx2 → format/texture/ktx2}/SupercompressionScheme.js +0 -0
@@ -1,8 +1,12 @@
1
1
  export class GPUGeometryMeshletsBVH {
2
2
  /**
3
- * @type {ArrayBuffer}
3
+ * The tree's bytes as they were copied into the arena, once they have been. Not taken at
4
+ * registration: a geometry may be registered before its tree exists, and the upload reads the
5
+ * geometry's tree when it runs, so a tree that arrives late is uploaded late rather than never.
6
+ *
7
+ * @type {ArrayBuffer|undefined}
4
8
  */
5
- bvh: ArrayBuffer;
9
+ bvh: ArrayBuffer | undefined;
6
10
  /**
7
11
  * Node index this tree's root sits at within the manager's arena. Not a byte offset — the
8
12
  * traversal shaders index `blas_data` by node.
@@ -25,6 +29,15 @@ export class GPUGeometryMeshletsBVH {
25
29
  * @type {boolean}
26
30
  */
27
31
  resident: boolean;
32
+ /**
33
+ * Bytes of {@link bvh} that {@link GPUGeometryBVHManager#update} actually copied into the arena
34
+ * at {@link address}. `get_refit_target` holds it against the shape's node count: a record
35
+ * registered before its geometry had a tree is uploaded as nothing, and a shape derived later,
36
+ * from the bytes that exist by then, must not be answered for at that empty region.
37
+ *
38
+ * @type {number}
39
+ */
40
+ uploaded_byte_length: number;
28
41
  /**
29
42
  * Set when the geometry has been removed. A record can still sit in the manager's update
30
43
  * queue when it is removed in the same frame it was registered; the update pass skips
@@ -1 +1 @@
1
- {"version":3,"file":"GPUGeometryMeshletsBVH.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js"],"names":[],"mappings":"AAAA;IAEI;;OAEG;IACH,KAFU,WAAW,CAEjB;IAEJ;;;;;OAKG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,UAFU,MAAM,CAEP;IAET;;;;;;OAMG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;;OAKG;IACH,UAFU,OAAO,CAEA;CACpB"}
1
+ {"version":3,"file":"GPUGeometryMeshletsBVH.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js"],"names":[],"mappings":"AAAA;IAEI;;;;;;OAMG;IACH,KAFU,WAAW,GAAC,SAAS,CAE3B;IAEJ;;;;;OAKG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,UAFU,MAAM,CAEP;IAET;;;;;;OAMG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;;;;OAOG;IACH,sBAFU,MAAM,CAES;IAEzB;;;;;OAKG;IACH,UAFU,OAAO,CAEA;CACpB"}
@@ -1,7 +1,11 @@
1
1
  export class GPUGeometryMeshletsBVH {
2
2
 
3
3
  /**
4
- * @type {ArrayBuffer}
4
+ * The tree's bytes as they were copied into the arena, once they have been. Not taken at
5
+ * registration: a geometry may be registered before its tree exists, and the upload reads the
6
+ * geometry's tree when it runs, so a tree that arrives late is uploaded late rather than never.
7
+ *
8
+ * @type {ArrayBuffer|undefined}
5
9
  */
6
10
  bvh;
7
11
 
@@ -30,6 +34,16 @@ export class GPUGeometryMeshletsBVH {
30
34
  */
31
35
  resident = false;
32
36
 
37
+ /**
38
+ * Bytes of {@link bvh} that {@link GPUGeometryBVHManager#update} actually copied into the arena
39
+ * at {@link address}. `get_refit_target` holds it against the shape's node count: a record
40
+ * registered before its geometry had a tree is uploaded as nothing, and a shape derived later,
41
+ * from the bytes that exist by then, must not be answered for at that empty region.
42
+ *
43
+ * @type {number}
44
+ */
45
+ uploaded_byte_length = 0;
46
+
33
47
  /**
34
48
  * Set when the geometry has been removed. A record can still sit in the manager's update
35
49
  * queue when it is removed in the same frame it was registered; the update pass skips
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Leaves per workgroup. A workgroup serves one tree and one aligned run of this many of its leaves,
3
+ * which is what the lookup's `leaf_base` counts in.
4
+ *
5
+ * @type {number}
6
+ */
7
+ export const BLAS_REFIT_BATCH_WORKGROUP_SIZE: number;
8
+ /**
9
+ * Refit every tree in a batch, from one dispatch.
10
+ *
11
+ * One lane per leaf, across every tree the batch lists: the lane finds its tree and its leaf through
12
+ * the workgroup lookup, rewrites that leaf's box from the triangle it names as the vertex buffer
13
+ * holds it *now*, and climbs — {@link chunk_bvh_refit_climb}, the same arrival-counter climb the
14
+ * LBVH build ends with, at this tree's positions in the shared arenas. Topology is untouched:
15
+ * nothing is sorted, nothing is emitted, no node's children change.
16
+ *
17
+ * Batched rather than per tree because a refit's cost is not the refit. A tree's climb is a chain
18
+ * of dependent atomics as long as the tree is deep, with half the live lanes exiting at every
19
+ * level; on its own it is a long tail of a nearly idle GPU, and a dispatch per tree serialises
20
+ * `N` such tails behind `2N` pass boundaries. In one dispatch a small tree's climb overlaps the
21
+ * next tree's, and the command count is the same for one skinned mesh as for three hundred.
22
+ *
23
+ * Fused rather than two passes: the leaf box is stored through the same atomic words the climb
24
+ * reads, before the lane's first arrival, so the handshake that makes an internal node's box
25
+ * visible to the second arrival at its parent makes a leaf's visible the same way. That is the
26
+ * builder plan's R1 assumption made one level lower, not a new one — and one pass boundary, one
27
+ * barrier and one re-read of every leaf box fewer.
28
+ *
29
+ * For a skinned mesh this runs against the per-instance clone, after the skinning pass has deformed
30
+ * its vertex region; `geometry_index` on the row is the clone's, and reading the source instead
31
+ * would produce the rest pose.
32
+ *
33
+ * Recorded by {@link GPUBLASRefitBatch}, which builds the tables and paginates the dispatch.
34
+ *
35
+ * @type {ComputeShader}
36
+ */
37
+ export const shader_blas_refit_batch: ComputeShader;
38
+ import { ComputeShader } from "../../shader/ComputeShader.js";
39
+ //# sourceMappingURL=shader_blas_refit_batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shader_blas_refit_batch.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/geometry/bvh/shader_blas_refit_batch.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,8CAFU,MAAM,CAEkC;AA+ElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,sCAFU,aAAa,CAMpB;8BAlI2B,+BAA+B"}
@@ -0,0 +1,134 @@
1
+ import { atomic_u32, u32 } from "../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
2
+ import { WebGPUArray } from "../../shader/type/WebGPUArray.js";
3
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
4
+ import { ComputeShader } from "../../shader/ComputeShader.js";
5
+ import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
6
+ import { BVH_NODE_LAYOUT_DEFINITION } from "../../gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.js";
7
+ import { chunk_bvh_refit_climb } from "../../gpu_primitive/bvh/chunk_bvh_refit_climb.js";
8
+ import {
9
+ chunk_geometry_read_triangle_bounds
10
+ } from "../../shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.js";
11
+ import { GEOMETRY_ATTRIBUTE_DATA_TYPE } from "../GEOMETRY_ATTRIBUTE_DATA_TYPE.js";
12
+ import { GEOMETRY_METADATA_STRUCT } from "../GEOMETRY_METADATA_STRUCT.js";
13
+ import { MESHLET_METADATA_STRUCT } from "../meshlet/encoding/MESHLET_METADATA_STRUCT.js";
14
+ import { BLAS_REFIT_TARGET_STRUCT } from "./BLAS_REFIT_TARGET_STRUCT.js";
15
+
16
+ /**
17
+ * Leaves per workgroup. A workgroup serves one tree and one aligned run of this many of its leaves,
18
+ * which is what the lookup's `leaf_base` counts in.
19
+ *
20
+ * @type {number}
21
+ */
22
+ export const BLAS_REFIT_BATCH_WORKGROUP_SIZE = 64;
23
+
24
+ const resources = new ShaderResourceSetDescriptor();
25
+
26
+ // Workgroups already covered by earlier sub-dispatches of the same batch, for a batch larger than
27
+ // the device's per-dimension cap. Four bytes, per dispatch: immediate data.
28
+ resources.setImmediate("dispatch_offset", u32);
29
+
30
+ resources.createGroup()
31
+ // one row per tree in the batch — where it lives, and where its counters live
32
+ .addStorageBuffer("targets", WebGPUArray.from(BLAS_REFIT_TARGET_STRUCT), false)
33
+ // `(target_index, leaf_base)` per workgroup, flat
34
+ .addStorageBuffer("lookup", WebGPUArray.from(u32), false)
35
+ // node index of each leaf ordinal, per tree, at the tree's `leaf_nodes_offset`
36
+ .addStorageBuffer("leaf_nodes", WebGPUArray.from(u32), false)
37
+ // parent of every node, per tree, at the tree's `parents_offset`
38
+ .addStorageBuffer("parents", WebGPUArray.from(u32), false)
39
+ // one arrival counter per node slot of every tree, at each tree's `counters_offset`; zero at
40
+ // the start of every batch
41
+ .addStorageBuffer("counters", WebGPUArray.from(atomic_u32), true)
42
+ // The node arena, flat and atomic. Every word this kernel writes is communicated between
43
+ // workgroups — a leaf box to the second arrival at its parent, a node box to the next — so every
44
+ // access to it is an atomic one, the discipline the builder plan's R1 rests on.
45
+ .addStorageBuffer("nodes", WebGPUArray.from(atomic_u32), true)
46
+ .addStorageBuffer("geometries", WebGPUArray.from(GEOMETRY_METADATA_STRUCT), false)
47
+ .addStorageBuffer("meshlet_metadata", WebGPUArray.from(MESHLET_METADATA_STRUCT), false)
48
+ .addStorageBuffer("meshlet_data", GEOMETRY_ATTRIBUTE_DATA_TYPE, false);
49
+
50
+ const body = CodeChunk.from(
51
+ //language=WGSL
52
+ `
53
+ @compute @workgroup_size(${BLAS_REFIT_BATCH_WORKGROUP_SIZE}, 1, 1)
54
+ fn main(
55
+ @builtin(workgroup_id) wg: vec3<u32>,
56
+ @builtin(local_invocation_id) lid: vec3<u32>,
57
+ ) {
58
+ // Which tree, and which run of its leaves: one lookup pair per workgroup, so the row read below
59
+ // is uniform across the workgroup and the leaf list read is one contiguous run.
60
+ let pair = (wg.x + dispatch_offset) * 2u;
61
+
62
+ // ("target" is a reserved word in WGSL)
63
+ let tree = targets[lookup[pair]];
64
+
65
+ let leaf = lookup[pair + 1u] + lid.x;
66
+
67
+ if (leaf >= tree.leaf_count) {
68
+ // the tail of a tree's last run; the next workgroup is another tree's
69
+ return;
70
+ }
71
+
72
+ let leaf_node = leaf_nodes[tree.leaf_nodes_offset + leaf];
73
+
74
+ let leaf_word = tree.node_word_offset + leaf_node * BVH_NODE_STRIDE;
75
+
76
+ // The leaf already says which triangle it holds — its payload is what the ray query hands to
77
+ // the triangle test. Reading it back means no side table has to agree with the tree about
78
+ // which leaf is which.
79
+ let payload = atomicLoad(&nodes[leaf_word + BVH_NODE_CHILD_2]);
80
+
81
+ let box = geometry_read_triangle_bounds(geometries[tree.geometry_index], payload);
82
+
83
+ // This leaf's box, then the climb from it. The box is written before this lane's first arrival
84
+ // at the parent, through the same atomic words the climb reads every other box through, so the
85
+ // second arrival at the parent finds it exactly as it finds an internal node's.
86
+ bvh_node_store_bounds(leaf_word, box.min, box.max);
87
+
88
+ bvh_refit_climb(
89
+ tree.node_word_offset,
90
+ tree.parents_offset,
91
+ tree.counters_offset,
92
+ leaf_node
93
+ );
94
+ }
95
+ `, [
96
+ BVH_NODE_LAYOUT_DEFINITION,
97
+ chunk_bvh_refit_climb,
98
+ chunk_geometry_read_triangle_bounds,
99
+ ]);
100
+
101
+ /**
102
+ * Refit every tree in a batch, from one dispatch.
103
+ *
104
+ * One lane per leaf, across every tree the batch lists: the lane finds its tree and its leaf through
105
+ * the workgroup lookup, rewrites that leaf's box from the triangle it names as the vertex buffer
106
+ * holds it *now*, and climbs — {@link chunk_bvh_refit_climb}, the same arrival-counter climb the
107
+ * LBVH build ends with, at this tree's positions in the shared arenas. Topology is untouched:
108
+ * nothing is sorted, nothing is emitted, no node's children change.
109
+ *
110
+ * Batched rather than per tree because a refit's cost is not the refit. A tree's climb is a chain
111
+ * of dependent atomics as long as the tree is deep, with half the live lanes exiting at every
112
+ * level; on its own it is a long tail of a nearly idle GPU, and a dispatch per tree serialises
113
+ * `N` such tails behind `2N` pass boundaries. In one dispatch a small tree's climb overlaps the
114
+ * next tree's, and the command count is the same for one skinned mesh as for three hundred.
115
+ *
116
+ * Fused rather than two passes: the leaf box is stored through the same atomic words the climb
117
+ * reads, before the lane's first arrival, so the handshake that makes an internal node's box
118
+ * visible to the second arrival at its parent makes a leaf's visible the same way. That is the
119
+ * builder plan's R1 assumption made one level lower, not a new one — and one pass boundary, one
120
+ * barrier and one re-read of every leaf box fewer.
121
+ *
122
+ * For a skinned mesh this runs against the per-instance clone, after the skinning pass has deformed
123
+ * its vertex region; `geometry_index` on the row is the clone's, and reading the source instead
124
+ * would produce the rest pose.
125
+ *
126
+ * Recorded by {@link GPUBLASRefitBatch}, which builds the tables and paginates the dispatch.
127
+ *
128
+ * @type {ComputeShader}
129
+ */
130
+ export const shader_blas_refit_batch = ComputeShader.from({
131
+ label: "BLAS/RefitBatch",
132
+ resources,
133
+ body,
134
+ });
@@ -2,11 +2,11 @@ import { assert } from "../../../../../../core/assert.js";
2
2
  import {
3
3
  GLTF_PRIMITIVE_MODE,
4
4
  GLTF_PRIMITIVE_MODE_DEFAULT,
5
- } from "../../../../loader/gltf/GLTF_PRIMITIVE_MODE.js";
5
+ } from "../../../../../../format/scene/gltf/GLTF_PRIMITIVE_MODE.js";
6
6
  import {
7
7
  GLTF_GEOMETRY_EXTENSIONS
8
- } from "../../../../loader/gltf/ext/gltf_geometry_extensions.js";
9
- import { gltf_node_world_matrices } from "../../../../loader/gltf/gltf_node_world_matrices.js";
8
+ } from "../../../../../../format/scene/gltf/ext/gltf_geometry_extensions.js";
9
+ import { gltf_node_world_matrices } from "../../../../../../format/scene/gltf/gltf_node_world_matrices.js";
10
10
  import { GltfCollectReport } from "./GltfCollectReport.js";
11
11
  import { GltfGeometry } from "./GltfGeometry.js";
12
12
  import { GltfGeometryInstance } from "./GltfGeometryInstance.js";
@@ -1,14 +1,14 @@
1
1
  import { assert } from "../../../../../../core/assert.js";
2
2
  import {
3
3
  GLTF_BUFFER_VIEW_EXTENSIONS
4
- } from "../../../../loader/gltf/ext/gltf_buffer_view_extensions.js";
4
+ } from "../../../../../../format/scene/gltf/ext/gltf_buffer_view_extensions.js";
5
5
  import {
6
6
  gltf_undecodable_geometry_extensions
7
- } from "../../../../loader/gltf/ext/gltf_geometry_extensions.js";
7
+ } from "../../../../../../format/scene/gltf/ext/gltf_geometry_extensions.js";
8
8
  import {
9
9
  gltf_read_container_layout,
10
10
  gltf_require_supported_version,
11
- } from "../../../../loader/gltf/gltf_parse_container.js";
11
+ } from "../../../../../../format/scene/gltf/gltf_parse_container.js";
12
12
  import { GltfByteSource } from "./GltfByteSource.js";
13
13
  import { GltfDocument } from "./GltfDocument.js";
14
14
 
@@ -4,7 +4,7 @@ import { AttributeSpec } from "../../../../../../engine/graphics/geometry/Attrib
4
4
  import {
5
5
  gltf_accessor_to_float32,
6
6
  gltf_read_accessor,
7
- } from "../../../../loader/gltf/gltf_read_accessor.js";
7
+ } from "../../../../../../format/scene/gltf/gltf_read_accessor.js";
8
8
  import { Attribute } from "../../../Attribute.js";
9
9
  import { Geometry } from "../../../Geometry.js";
10
10
  import { vgeo_attribute_allocate } from "../../format/attribute/vgeo_attribute_allocate.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The node layout of {@link BVH_BUFFER_LAYOUT}, as WGSL constants, for kernels that address a node
3
+ * buffer as flat words rather than as typed structs.
4
+ *
5
+ * One declaration shared by every chunk and kernel that climbs or writes nodes word-wise, so that a
6
+ * kernel importing two of them does not declare the same constant twice — a module-scope `const`
7
+ * declared twice is a WGSL error. Prefixed for the same reason: several builder kernels still carry
8
+ * their own unprefixed `NODE_*` copies, and those must not collide with these.
9
+ *
10
+ * Generated from the struct rather than restated: `.pack()` and WGSL layout rules decide these
11
+ * offsets, and a literal here would be one struct edit away from writing nodes nothing can traverse.
12
+ *
13
+ * @type {CodeChunk}
14
+ */
15
+ export const BVH_NODE_LAYOUT_DEFINITION: CodeChunk;
16
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
17
+ //# sourceMappingURL=BVH_NODE_LAYOUT_DEFINITION.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BVH_NODE_LAYOUT_DEFINITION.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,yCAFU,SAAS,CAShB;0BA7BuB,oCAAoC"}
@@ -0,0 +1,30 @@
1
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
2
+ import {
3
+ BVH_NODE_BOUNDS_WORD,
4
+ BVH_NODE_CHILD_1_WORD,
5
+ BVH_NODE_CHILD_2_WORD,
6
+ BVH_NODE_STRIDE_WORDS
7
+ } from "./BVH_BUFFER_LAYOUT.js";
8
+
9
+ /**
10
+ * The node layout of {@link BVH_BUFFER_LAYOUT}, as WGSL constants, for kernels that address a node
11
+ * buffer as flat words rather than as typed structs.
12
+ *
13
+ * One declaration shared by every chunk and kernel that climbs or writes nodes word-wise, so that a
14
+ * kernel importing two of them does not declare the same constant twice — a module-scope `const`
15
+ * declared twice is a WGSL error. Prefixed for the same reason: several builder kernels still carry
16
+ * their own unprefixed `NODE_*` copies, and those must not collide with these.
17
+ *
18
+ * Generated from the struct rather than restated: `.pack()` and WGSL layout rules decide these
19
+ * offsets, and a literal here would be one struct edit away from writing nodes nothing can traverse.
20
+ *
21
+ * @type {CodeChunk}
22
+ */
23
+ export const BVH_NODE_LAYOUT_DEFINITION = CodeChunk.from(
24
+ //language=WGSL
25
+ `
26
+ const BVH_NODE_STRIDE = ${BVH_NODE_STRIDE_WORDS}u;
27
+ const BVH_NODE_BOUNDS = ${BVH_NODE_BOUNDS_WORD}u;
28
+ const BVH_NODE_CHILD_1 = ${BVH_NODE_CHILD_1_WORD}u;
29
+ const BVH_NODE_CHILD_2 = ${BVH_NODE_CHILD_2_WORD}u;
30
+ `);
@@ -826,7 +826,8 @@ Two sub-phases, in value order:
826
826
  phase-1 refit pass unchanged. Four deviations, all recorded here because the code is what won:
827
827
 
828
828
  - **The extraction pass writes node bounds directly, not a `leaf_bounds` array.** A refit has no
829
- sort and no emission, so nothing consumes a separate array — `shader_blas_refit_leaf_bounds`
829
+ sort and no emission, so nothing consumes a separate array — the refit kernel (originally
830
+ `shader_blas_refit_leaf_bounds`, now the leaf half of `shader_blas_refit_batch`)
830
831
  puts each triangle's box straight into the leaf node and the climb reads it there. It gets the
831
832
  triangle id by reading the leaf's own `child_2` payload back, so no side table has to agree
832
833
  with the tree about which leaf is which.
@@ -844,6 +845,12 @@ Two sub-phases, in value order:
844
845
  is a tenant in shared ones. Counters are sized by *node*, not by leaf — they are indexed by
845
846
  node id, and a tree read off an arena numbers its nodes with holes in.
846
847
 
848
+ - **[deviation] The refit is one batch per frame, not one per tree** (2026-09-02). The per-tree
849
+ recorder and its leaf kernel are gone. `GPUBLASRefitBatch` records `shader_blas_refit_batch`
850
+ once over every skinned clone, through a per-workgroup lookup and a residency version on the
851
+ BLAS manager, and the climb is shared with this builder's pass 4 as `chunk_bvh_refit_climb`.
852
+ Plan, adversarial review and commit ledger: `geometry/bvh/BLAS_REFIT_BATCH_PLAN.md`.
853
+
847
854
  Verified on an NVIDIA Lovelace device by `src/shade/playground/skinned_blas_refit/`, which holds
848
855
  the refit's root box against the bounds-refresh chain's independently computed box over the same
849
856
  deformed vertices — two paths sharing no code, and `min`/`max` do not round, so the bar is bit
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The bottom-up AABB refit climb, as a function a kernel calls once per leaf.
3
+ *
4
+ * Starting above `leaf_node`, the caller climbs the `parents` chain, taking an arrival counter at
5
+ * each internal node on the way. An internal node has exactly two children, so exactly two climbs
6
+ * pass through it. The first arrival exits — its sibling's subtree is still being fitted, and it
7
+ * has nothing to wait ON: no spin, no assumption about anyone else's forward progress. The second
8
+ * arrival finds both children written and owns the node from here up. That is the whole
9
+ * synchronisation, and it assumes atomic-word visibility rather than any scheduling fairness —
10
+ * which is why it sits on the accepted side of the engine's line on cross-workgroup communication.
11
+ *
12
+ * Every word this climb communicates between workgroups — bounds and counters — goes through
13
+ * atomic accesses only, never a plain load or store gated by an atomic: the strictest formulation
14
+ * WGSL offers, and the discipline the builder plan's R1 rests on.
15
+ *
16
+ * Three offsets, so one climb serves a tree that owns its arrays and a tree that is a tenant in
17
+ * somebody else's. `node_word_offset` is where node 0 starts in the bound node buffer, in words;
18
+ * `parents_offset` is where this tree's parents start in the bound parents array;
19
+ * `counters_offset` is where this tree's arrival counters start in the bound counters array. A
20
+ * build passes 0 for all three. A refit of a tree living in a shared arena passes its position in
21
+ * each — including the counters, when one buffer holds the counters of many trees at once.
22
+ *
23
+ * The counters must be zero when the climb starts, one per node of the tree: a leftover count lets
24
+ * a first arrival believe it is a second and fit a node from a sibling nothing has written yet.
25
+ *
26
+ * Assumes the module-scope bindings `parents` (`array<u32>`), `counters` (`array<atomic<u32>>`)
27
+ * and `nodes` (`array<atomic<u32>>`, the node buffer bound flat) — by name, the same way
28
+ * `read_meshlet_triangle_bounds` assumes `meshlet_metadata`.
29
+ *
30
+ * @type {CodeChunk}
31
+ */
32
+ export const chunk_bvh_refit_climb: CodeChunk;
33
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
34
+ //# sourceMappingURL=chunk_bvh_refit_climb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk_bvh_refit_climb.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,oCAFU,SAAS,CAoEhB;0BArGuB,oCAAoC"}
@@ -0,0 +1,102 @@
1
+ import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
2
+ import { BVH_NULL_NODE_DEFINITION } from "../../shader/chunk/bvh/BVH_NULL_NODE_DEFINITION.js";
3
+ import { BVH_NODE_LAYOUT_DEFINITION } from "./BVH_NODE_LAYOUT_DEFINITION.js";
4
+
5
+ /**
6
+ * The bottom-up AABB refit climb, as a function a kernel calls once per leaf.
7
+ *
8
+ * Starting above `leaf_node`, the caller climbs the `parents` chain, taking an arrival counter at
9
+ * each internal node on the way. An internal node has exactly two children, so exactly two climbs
10
+ * pass through it. The first arrival exits — its sibling's subtree is still being fitted, and it
11
+ * has nothing to wait ON: no spin, no assumption about anyone else's forward progress. The second
12
+ * arrival finds both children written and owns the node from here up. That is the whole
13
+ * synchronisation, and it assumes atomic-word visibility rather than any scheduling fairness —
14
+ * which is why it sits on the accepted side of the engine's line on cross-workgroup communication.
15
+ *
16
+ * Every word this climb communicates between workgroups — bounds and counters — goes through
17
+ * atomic accesses only, never a plain load or store gated by an atomic: the strictest formulation
18
+ * WGSL offers, and the discipline the builder plan's R1 rests on.
19
+ *
20
+ * Three offsets, so one climb serves a tree that owns its arrays and a tree that is a tenant in
21
+ * somebody else's. `node_word_offset` is where node 0 starts in the bound node buffer, in words;
22
+ * `parents_offset` is where this tree's parents start in the bound parents array;
23
+ * `counters_offset` is where this tree's arrival counters start in the bound counters array. A
24
+ * build passes 0 for all three. A refit of a tree living in a shared arena passes its position in
25
+ * each — including the counters, when one buffer holds the counters of many trees at once.
26
+ *
27
+ * The counters must be zero when the climb starts, one per node of the tree: a leftover count lets
28
+ * a first arrival believe it is a second and fit a node from a sibling nothing has written yet.
29
+ *
30
+ * Assumes the module-scope bindings `parents` (`array<u32>`), `counters` (`array<atomic<u32>>`)
31
+ * and `nodes` (`array<atomic<u32>>`, the node buffer bound flat) — by name, the same way
32
+ * `read_meshlet_triangle_bounds` assumes `meshlet_metadata`.
33
+ *
34
+ * @type {CodeChunk}
35
+ */
36
+ export const chunk_bvh_refit_climb = CodeChunk.from(
37
+ //language=WGSL
38
+ `
39
+ fn bvh_node_read_bounds_low(node_word: u32) -> vec3<f32> {
40
+ return vec3<f32>(
41
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS])),
42
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS + 1u])),
43
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS + 2u])),
44
+ );
45
+ }
46
+
47
+ fn bvh_node_read_bounds_high(node_word: u32) -> vec3<f32> {
48
+ return vec3<f32>(
49
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS + 3u])),
50
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS + 4u])),
51
+ bitcast<f32>(atomicLoad(&nodes[node_word + BVH_NODE_BOUNDS + 5u])),
52
+ );
53
+ }
54
+
55
+ fn bvh_node_store_bounds(node_word: u32, low: vec3<f32>, high: vec3<f32>) {
56
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS], bitcast<u32>(low.x));
57
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS + 1u], bitcast<u32>(low.y));
58
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS + 2u], bitcast<u32>(low.z));
59
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS + 3u], bitcast<u32>(high.x));
60
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS + 4u], bitcast<u32>(high.y));
61
+ atomicStore(&nodes[node_word + BVH_NODE_BOUNDS + 5u], bitcast<u32>(high.z));
62
+ }
63
+
64
+ fn bvh_refit_climb(node_word_offset: u32, parents_offset: u32, counters_offset: u32, leaf_node: u32) {
65
+ // Start above the leaf and climb. Which node that leaf is comes from the caller rather than
66
+ // from a layout this function assumes, so a tree that was built and a tree that was copied
67
+ // refit alike.
68
+ var node = parents[parents_offset + leaf_node];
69
+
70
+ loop {
71
+ if (node == BVH_NULL_NODE) {
72
+ // climbed past the root
73
+ break;
74
+ }
75
+
76
+ let arrivals = atomicAdd(&counters[counters_offset + node], 1u);
77
+
78
+ if (arrivals == 0u) {
79
+ // first arrival: the sibling subtree is still being fitted, and this is not a wait
80
+ break;
81
+ }
82
+
83
+ let node_word = node_word_offset + node * BVH_NODE_STRIDE;
84
+
85
+ let child_1 = atomicLoad(&nodes[node_word + BVH_NODE_CHILD_1]);
86
+ let child_2 = atomicLoad(&nodes[node_word + BVH_NODE_CHILD_2]);
87
+
88
+ let word_1 = node_word_offset + child_1 * BVH_NODE_STRIDE;
89
+ let word_2 = node_word_offset + child_2 * BVH_NODE_STRIDE;
90
+
91
+ let low = min(bvh_node_read_bounds_low(word_1), bvh_node_read_bounds_low(word_2));
92
+ let high = max(bvh_node_read_bounds_high(word_1), bvh_node_read_bounds_high(word_2));
93
+
94
+ bvh_node_store_bounds(node_word, low, high);
95
+
96
+ node = parents[parents_offset + node];
97
+ }
98
+ }
99
+ `, [
100
+ BVH_NULL_NODE_DEFINITION,
101
+ BVH_NODE_LAYOUT_DEFINITION,
102
+ ]);
@@ -3,19 +3,21 @@ export const BVH_REFIT_WORKGROUP_SIZE: 64;
3
3
  * Bottom-up AABB refit — pass 4 of {@link graph_bvh_build_lbvh}, and the last thing a build does.
4
4
  *
5
5
  * One thread per leaf climbs the `parents` chain from the node `leaf_nodes` says that leaf occupies,
6
- * taking an arrival counter at each internal node on the way. Nothing waits: the thread that arrives first at a node simply
7
- * dies, and the one that arrives second is guaranteed both children are complete, because the only
8
- * way to arrive is to have finished a child. That is the whole synchronisation, and it assumes
9
- * atomic-word visibility rather than any scheduling fairness — which is why it sits on the accepted
10
- * side of the engine's line on cross-workgroup communication.
6
+ * taking an arrival counter at each internal node on the way. Nothing waits: the thread that arrives
7
+ * first at a node simply dies, and the one that arrives second is guaranteed both children are
8
+ * complete, because the only way to arrive is to have finished a child. That is the whole
9
+ * synchronisation, and it assumes atomic-word visibility rather than any scheduling fairness — which
10
+ * is why it sits on the accepted side of the engine's line on cross-workgroup communication.
11
+ *
12
+ * The climb itself is {@link chunk_bvh_refit_climb}, shared with the batched per-frame BLAS refit,
13
+ * which runs the same climb over many trees from one dispatch. This kernel is the build's framing
14
+ * of it: one thread per leaf, settings from immediate data, counters of its own.
11
15
  *
12
16
  * The counters must be zero when the pass starts; the graph declares them with a clear range so a
13
17
  * pool-reused buffer is cleared and a fresh one arrives zeroed already.
14
18
  *
15
- * The same pass serves refit-only updates (topology frozen, leaf bounds rewritten) which is what
16
- * per-frame skinned BLAS needs so it exists as a standalone dispatch rather than fused into
17
- * emission. Node indices are local to the tree and `settings.node_word_offset` says where node 0
18
- * lands, so a BLAS living inside the shared geometry arena refits through this same kernel.
19
+ * Node indices are local to the tree and `settings.node_word_offset` says where node 0 lands, so a
20
+ * tree living inside a shared arena refits through this same kernel.
19
21
  *
20
22
  * @type {ComputeShader}
21
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shader_bvh_refit.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js"],"names":[],"mappings":"AAcA,0CAA2C;AAwG3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,+BAFU,aAAa,CAMpB;8BA1I2B,+BAA+B"}
1
+ {"version":3,"file":"shader_bvh_refit.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js"],"names":[],"mappings":"AAQA,0CAA2C;AA8C3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,+BAFU,aAAa,CAMpB;8BA7E2B,+BAA+B"}