@woosh/meep-engine 3.8.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/build/bundle-worker-terrain.js +1 -1
  3. package/package.json +3 -2
  4. package/src/avif/encode_image_source.d.ts +70 -0
  5. package/src/avif/encode_image_source.d.ts.map +1 -0
  6. package/src/avif/encode_image_source.js +117 -0
  7. package/src/avif/encoder_worker.js +15 -126
  8. package/src/avif/index.d.ts +4 -2
  9. package/src/avif/index.js +21 -2
  10. package/src/avif/native/DECISIONS.md +537 -0
  11. package/src/avif/native/NOTICE.md +61 -0
  12. package/src/avif/native/api/AvifDecoder.d.ts +67 -0
  13. package/src/avif/native/api/AvifDecoder.d.ts.map +1 -0
  14. package/src/avif/native/api/AvifDecoder.js +121 -0
  15. package/src/avif/native/api/apply_transformations.d.ts +30 -0
  16. package/src/avif/native/api/apply_transformations.d.ts.map +1 -0
  17. package/src/avif/native/api/apply_transformations.js +120 -0
  18. package/src/avif/native/api/avif_to_sampler2d.d.ts +25 -0
  19. package/src/avif/native/api/avif_to_sampler2d.d.ts.map +1 -0
  20. package/src/avif/native/api/avif_to_sampler2d.js +42 -0
  21. package/src/avif/native/api/convert_to_rgba.d.ts +54 -0
  22. package/src/avif/native/api/convert_to_rgba.d.ts.map +1 -0
  23. package/src/avif/native/api/convert_to_rgba.js +204 -0
  24. package/src/avif/native/api/decode_avif.d.ts +24 -0
  25. package/src/avif/native/api/decode_avif.d.ts.map +1 -0
  26. package/src/avif/native/api/decode_avif.js +111 -0
  27. package/src/avif/native/api/decode_image_item.d.ts +18 -0
  28. package/src/avif/native/api/decode_image_item.d.ts.map +1 -0
  29. package/src/avif/native/api/decode_image_item.js +234 -0
  30. package/src/avif/native/api/encode_avif.d.ts +73 -0
  31. package/src/avif/native/api/encode_avif.d.ts.map +1 -0
  32. package/src/avif/native/api/encode_avif.js +488 -0
  33. package/src/avif/native/api/sampler2d_to_avif.d.ts +22 -0
  34. package/src/avif/native/api/sampler2d_to_avif.d.ts.map +1 -0
  35. package/src/avif/native/api/sampler2d_to_avif.js +108 -0
  36. package/src/avif/native/av1/decode/Av1FrameContext.d.ts +286 -0
  37. package/src/avif/native/av1/decode/Av1FrameContext.d.ts.map +1 -0
  38. package/src/avif/native/av1/decode/Av1FrameContext.js +622 -0
  39. package/src/avif/native/av1/decode/block_decoded.d.ts +27 -0
  40. package/src/avif/native/av1/decode/block_decoded.d.ts.map +1 -0
  41. package/src/avif/native/av1/decode/block_decoded.js +59 -0
  42. package/src/avif/native/av1/decode/decode_av1_still.d.ts +22 -0
  43. package/src/avif/native/av1/decode/decode_av1_still.d.ts.map +1 -0
  44. package/src/avif/native/av1/decode/decode_av1_still.js +309 -0
  45. package/src/avif/native/av1/decode/decode_coefficients.d.ts +20 -0
  46. package/src/avif/native/av1/decode/decode_coefficients.d.ts.map +1 -0
  47. package/src/avif/native/av1/decode/decode_coefficients.js +259 -0
  48. package/src/avif/native/av1/decode/decode_palette.d.ts +28 -0
  49. package/src/avif/native/av1/decode/decode_palette.d.ts.map +1 -0
  50. package/src/avif/native/av1/decode/decode_palette.js +442 -0
  51. package/src/avif/native/av1/decode/decode_tile.d.ts +14 -0
  52. package/src/avif/native/av1/decode/decode_tile.d.ts.map +1 -0
  53. package/src/avif/native/av1/decode/decode_tile.js +1213 -0
  54. package/src/avif/native/av1/decode/get_scan.d.ts +16 -0
  55. package/src/avif/native/av1/decode/get_scan.d.ts.map +1 -0
  56. package/src/avif/native/av1/decode/get_scan.js +138 -0
  57. package/src/avif/native/av1/decode/read_lr.d.ts +35 -0
  58. package/src/avif/native/av1/decode/read_lr.d.ts.map +1 -0
  59. package/src/avif/native/av1/decode/read_lr.js +277 -0
  60. package/src/avif/native/av1/decode/read_transform_type.d.ts +19 -0
  61. package/src/avif/native/av1/decode/read_transform_type.d.ts.map +1 -0
  62. package/src/avif/native/av1/decode/read_transform_type.js +92 -0
  63. package/src/avif/native/av1/decode/reconstruct.d.ts +36 -0
  64. package/src/avif/native/av1/decode/reconstruct.d.ts.map +1 -0
  65. package/src/avif/native/av1/decode/reconstruct.js +241 -0
  66. package/src/avif/native/av1/decode/transform_type.d.ts +49 -0
  67. package/src/avif/native/av1/decode/transform_type.d.ts.map +1 -0
  68. package/src/avif/native/av1/decode/transform_type.js +137 -0
  69. package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts +81 -0
  70. package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts.map +1 -0
  71. package/src/avif/native/av1/encode/Av1BlockSnapshot.js +299 -0
  72. package/src/avif/native/av1/encode/Av1EncodeContext.d.ts +384 -0
  73. package/src/avif/native/av1/encode/Av1EncodeContext.d.ts.map +1 -0
  74. package/src/avif/native/av1/encode/Av1EncodeContext.js +590 -0
  75. package/src/avif/native/av1/encode/build_headers.d.ts +50 -0
  76. package/src/avif/native/av1/encode/build_headers.d.ts.map +1 -0
  77. package/src/avif/native/av1/encode/build_headers.js +359 -0
  78. package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts +26 -0
  79. package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts.map +1 -0
  80. package/src/avif/native/av1/encode/choose_chroma_alpha.js +90 -0
  81. package/src/avif/native/av1/encode/choose_filters.d.ts +21 -0
  82. package/src/avif/native/av1/encode/choose_filters.d.ts.map +1 -0
  83. package/src/avif/native/av1/encode/choose_filters.js +318 -0
  84. package/src/avif/native/av1/encode/choose_restoration.d.ts +35 -0
  85. package/src/avif/native/av1/encode/choose_restoration.d.ts.map +1 -0
  86. package/src/avif/native/av1/encode/choose_restoration.js +616 -0
  87. package/src/avif/native/av1/encode/decode_effort.d.ts +57 -0
  88. package/src/avif/native/av1/encode/decode_effort.d.ts.map +1 -0
  89. package/src/avif/native/av1/encode/decode_effort.js +59 -0
  90. package/src/avif/native/av1/encode/encode_av1_still.d.ts +17 -0
  91. package/src/avif/native/av1/encode/encode_av1_still.d.ts.map +1 -0
  92. package/src/avif/native/av1/encode/encode_av1_still.js +194 -0
  93. package/src/avif/native/av1/encode/encode_effort.d.ts +56 -0
  94. package/src/avif/native/av1/encode/encode_effort.d.ts.map +1 -0
  95. package/src/avif/native/av1/encode/encode_effort.js +97 -0
  96. package/src/avif/native/av1/encode/encode_tile.d.ts +26 -0
  97. package/src/avif/native/av1/encode/encode_tile.d.ts.map +1 -0
  98. package/src/avif/native/av1/encode/encode_tile.js +2331 -0
  99. package/src/avif/native/av1/encode/quantise.d.ts +51 -0
  100. package/src/avif/native/av1/encode/quantise.d.ts.map +1 -0
  101. package/src/avif/native/av1/encode/quantise.js +212 -0
  102. package/src/avif/native/av1/encode/write_coefficients.d.ts +42 -0
  103. package/src/avif/native/av1/encode/write_coefficients.d.ts.map +1 -0
  104. package/src/avif/native/av1/encode/write_coefficients.js +367 -0
  105. package/src/avif/native/av1/encode/write_lr.d.ts +33 -0
  106. package/src/avif/native/av1/encode/write_lr.d.ts.map +1 -0
  107. package/src/avif/native/av1/encode/write_lr.js +174 -0
  108. package/src/avif/native/av1/encode/write_transform_type.d.ts +21 -0
  109. package/src/avif/native/av1/encode/write_transform_type.d.ts.map +1 -0
  110. package/src/avif/native/av1/encode/write_transform_type.js +70 -0
  111. package/src/avif/native/av1/entropy/CdfContext.d.ts +167 -0
  112. package/src/avif/native/av1/entropy/CdfContext.d.ts.map +1 -0
  113. package/src/avif/native/av1/entropy/CdfContext.js +433 -0
  114. package/src/avif/native/av1/entropy/SymbolReader.d.ts +103 -0
  115. package/src/avif/native/av1/entropy/SymbolReader.d.ts.map +1 -0
  116. package/src/avif/native/av1/entropy/SymbolReader.js +317 -0
  117. package/src/avif/native/av1/entropy/SymbolWriter.d.ts +107 -0
  118. package/src/avif/native/av1/entropy/SymbolWriter.d.ts.map +1 -0
  119. package/src/avif/native/av1/entropy/SymbolWriter.js +352 -0
  120. package/src/avif/native/av1/entropy/coefficient_context.d.ts +71 -0
  121. package/src/avif/native/av1/entropy/coefficient_context.d.ts.map +1 -0
  122. package/src/avif/native/av1/entropy/coefficient_context.js +325 -0
  123. package/src/avif/native/av1/entropy/partition_cdf.d.ts +54 -0
  124. package/src/avif/native/av1/entropy/partition_cdf.d.ts.map +1 -0
  125. package/src/avif/native/av1/entropy/partition_cdf.js +98 -0
  126. package/src/avif/native/av1/entropy/symbol_cost.d.ts +37 -0
  127. package/src/avif/native/av1/entropy/symbol_cost.d.ts.map +1 -0
  128. package/src/avif/native/av1/entropy/symbol_cost.js +76 -0
  129. package/src/avif/native/av1/filter/cdef.d.ts +15 -0
  130. package/src/avif/native/av1/filter/cdef.d.ts.map +1 -0
  131. package/src/avif/native/av1/filter/cdef.js +313 -0
  132. package/src/avif/native/av1/filter/loop_filter.d.ts +14 -0
  133. package/src/avif/native/av1/filter/loop_filter.d.ts.map +1 -0
  134. package/src/avif/native/av1/filter/loop_filter.js +377 -0
  135. package/src/avif/native/av1/filter/loop_restoration.d.ts +42 -0
  136. package/src/avif/native/av1/filter/loop_restoration.d.ts.map +1 -0
  137. package/src/avif/native/av1/filter/loop_restoration.js +451 -0
  138. package/src/avif/native/av1/filter/superres.d.ts +18 -0
  139. package/src/avif/native/av1/filter/superres.d.ts.map +1 -0
  140. package/src/avif/native/av1/filter/superres.js +86 -0
  141. package/src/avif/native/av1/grain/FilmGrainState.d.ts +62 -0
  142. package/src/avif/native/av1/grain/FilmGrainState.d.ts.map +1 -0
  143. package/src/avif/native/av1/grain/FilmGrainState.js +87 -0
  144. package/src/avif/native/av1/grain/film_grain.d.ts +16 -0
  145. package/src/avif/native/av1/grain/film_grain.d.ts.map +1 -0
  146. package/src/avif/native/av1/grain/film_grain.js +623 -0
  147. package/src/avif/native/av1/obu/FrameHeader.d.ts +248 -0
  148. package/src/avif/native/av1/obu/FrameHeader.d.ts.map +1 -0
  149. package/src/avif/native/av1/obu/FrameHeader.js +381 -0
  150. package/src/avif/native/av1/obu/ObuHeader.d.ts +53 -0
  151. package/src/avif/native/av1/obu/ObuHeader.d.ts.map +1 -0
  152. package/src/avif/native/av1/obu/ObuHeader.js +62 -0
  153. package/src/avif/native/av1/obu/SequenceHeader.d.ts +157 -0
  154. package/src/avif/native/av1/obu/SequenceHeader.d.ts.map +1 -0
  155. package/src/avif/native/av1/obu/SequenceHeader.js +225 -0
  156. package/src/avif/native/av1/obu/for_each_obu.d.ts +24 -0
  157. package/src/avif/native/av1/obu/for_each_obu.d.ts.map +1 -0
  158. package/src/avif/native/av1/obu/for_each_obu.js +50 -0
  159. package/src/avif/native/av1/obu/parse_frame_header.d.ts +18 -0
  160. package/src/avif/native/av1/obu/parse_frame_header.d.ts.map +1 -0
  161. package/src/avif/native/av1/obu/parse_frame_header.js +841 -0
  162. package/src/avif/native/av1/obu/parse_obu_header.d.ts +23 -0
  163. package/src/avif/native/av1/obu/parse_obu_header.d.ts.map +1 -0
  164. package/src/avif/native/av1/obu/parse_obu_header.js +69 -0
  165. package/src/avif/native/av1/obu/parse_sequence_header.d.ts +17 -0
  166. package/src/avif/native/av1/obu/parse_sequence_header.d.ts.map +1 -0
  167. package/src/avif/native/av1/obu/parse_sequence_header.js +263 -0
  168. package/src/avif/native/av1/obu/write_frame_header.d.ts +16 -0
  169. package/src/avif/native/av1/obu/write_frame_header.d.ts.map +1 -0
  170. package/src/avif/native/av1/obu/write_frame_header.js +579 -0
  171. package/src/avif/native/av1/obu/write_sequence_header.d.ts +17 -0
  172. package/src/avif/native/av1/obu/write_sequence_header.d.ts.map +1 -0
  173. package/src/avif/native/av1/obu/write_sequence_header.js +189 -0
  174. package/src/avif/native/av1/predict/IntraPredictionState.d.ts +49 -0
  175. package/src/avif/native/av1/predict/IntraPredictionState.d.ts.map +1 -0
  176. package/src/avif/native/av1/predict/IntraPredictionState.js +58 -0
  177. package/src/avif/native/av1/predict/intra_filter_type.d.ts +17 -0
  178. package/src/avif/native/av1/predict/intra_filter_type.d.ts.map +1 -0
  179. package/src/avif/native/av1/predict/intra_filter_type.js +79 -0
  180. package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts +50 -0
  181. package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts.map +1 -0
  182. package/src/avif/native/av1/predict/predict_chroma_from_luma.js +153 -0
  183. package/src/avif/native/av1/predict/predict_intra.d.ts +42 -0
  184. package/src/avif/native/av1/predict/predict_intra.d.ts.map +1 -0
  185. package/src/avif/native/av1/predict/predict_intra.js +803 -0
  186. package/src/avif/native/av1/predict/predict_palette.d.ts +23 -0
  187. package/src/avif/native/av1/predict/predict_palette.d.ts.map +1 -0
  188. package/src/avif/native/av1/predict/predict_palette.js +36 -0
  189. package/src/avif/native/av1/tables/av1_symbols.d.ts +411 -0
  190. package/src/avif/native/av1/tables/av1_symbols.d.ts.map +1 -0
  191. package/src/avif/native/av1/tables/av1_symbols.js +419 -0
  192. package/src/avif/native/av1/tables/block_tables.d.ts +181 -0
  193. package/src/avif/native/av1/tables/block_tables.d.ts.map +1 -0
  194. package/src/avif/native/av1/tables/block_tables.js +270 -0
  195. package/src/avif/native/av1/tables/cdf_tables.d.ts +961 -0
  196. package/src/avif/native/av1/tables/cdf_tables.d.ts.map +1 -0
  197. package/src/avif/native/av1/tables/cdf_tables.js +1893 -0
  198. package/src/avif/native/av1/tables/coefficient_tables.d.ts +41 -0
  199. package/src/avif/native/av1/tables/coefficient_tables.d.ts.map +1 -0
  200. package/src/avif/native/av1/tables/coefficient_tables.js +82 -0
  201. package/src/avif/native/av1/tables/derived_block_tables.d.ts +15 -0
  202. package/src/avif/native/av1/tables/derived_block_tables.d.ts.map +1 -0
  203. package/src/avif/native/av1/tables/derived_block_tables.js +23 -0
  204. package/src/avif/native/av1/tables/filter_tables.d.ts +171 -0
  205. package/src/avif/native/av1/tables/filter_tables.d.ts.map +1 -0
  206. package/src/avif/native/av1/tables/filter_tables.js +313 -0
  207. package/src/avif/native/av1/tables/grain_tables.d.ts +11 -0
  208. package/src/avif/native/av1/tables/grain_tables.d.ts.map +1 -0
  209. package/src/avif/native/av1/tables/grain_tables.js +190 -0
  210. package/src/avif/native/av1/tables/prediction_tables.d.ts +141 -0
  211. package/src/avif/native/av1/tables/prediction_tables.d.ts.map +1 -0
  212. package/src/avif/native/av1/tables/prediction_tables.js +223 -0
  213. package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts +21 -0
  214. package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts.map +1 -0
  215. package/src/avif/native/av1/tables/quantizer_matrix_tables.js +38 -0
  216. package/src/avif/native/av1/tables/quantizer_tables.d.ts +21 -0
  217. package/src/avif/native/av1/tables/quantizer_tables.d.ts.map +1 -0
  218. package/src/avif/native/av1/tables/quantizer_tables.js +160 -0
  219. package/src/avif/native/av1/tables/scan_tables.d.ts +321 -0
  220. package/src/avif/native/av1/tables/scan_tables.d.ts.map +1 -0
  221. package/src/avif/native/av1/tables/scan_tables.js +727 -0
  222. package/src/avif/native/av1/tables/segmentation_tables.d.ts +31 -0
  223. package/src/avif/native/av1/tables/segmentation_tables.d.ts.map +1 -0
  224. package/src/avif/native/av1/tables/segmentation_tables.js +48 -0
  225. package/src/avif/native/av1/tables/transform_tables.d.ts +91 -0
  226. package/src/avif/native/av1/tables/transform_tables.d.ts.map +1 -0
  227. package/src/avif/native/av1/tables/transform_tables.js +140 -0
  228. package/src/avif/native/av1/tables/unpack_table.d.ts +33 -0
  229. package/src/avif/native/av1/tables/unpack_table.d.ts.map +1 -0
  230. package/src/avif/native/av1/tables/unpack_table.js +73 -0
  231. package/src/avif/native/av1/transform/forward_transform_2d.d.ts +61 -0
  232. package/src/avif/native/av1/transform/forward_transform_2d.d.ts.map +1 -0
  233. package/src/avif/native/av1/transform/forward_transform_2d.js +574 -0
  234. package/src/avif/native/av1/transform/inverse_transform_1d.d.ts +76 -0
  235. package/src/avif/native/av1/transform/inverse_transform_1d.d.ts.map +1 -0
  236. package/src/avif/native/av1/transform/inverse_transform_1d.js +590 -0
  237. package/src/avif/native/av1/transform/inverse_transform_2d.d.ts +46 -0
  238. package/src/avif/native/av1/transform/inverse_transform_2d.d.ts.map +1 -0
  239. package/src/avif/native/av1/transform/inverse_transform_2d.js +180 -0
  240. package/src/avif/native/av1/util/ceil_log2.d.ts +13 -0
  241. package/src/avif/native/av1/util/ceil_log2.d.ts.map +1 -0
  242. package/src/avif/native/av1/util/ceil_log2.js +18 -0
  243. package/src/avif/native/av1/util/floor_log2.d.ts +20 -0
  244. package/src/avif/native/av1/util/floor_log2.d.ts.map +1 -0
  245. package/src/avif/native/av1/util/floor_log2.js +20 -0
  246. package/src/avif/native/av1/util/round2.d.ts +22 -0
  247. package/src/avif/native/av1/util/round2.d.ts.map +1 -0
  248. package/src/avif/native/av1/util/round2.js +27 -0
  249. package/src/avif/native/av1/util/round2_signed.d.ts +14 -0
  250. package/src/avif/native/av1/util/round2_signed.d.ts.map +1 -0
  251. package/src/avif/native/av1/util/round2_signed.js +17 -0
  252. package/src/avif/native/av1/util/tile_log2.d.ts +16 -0
  253. package/src/avif/native/av1/util/tile_log2.d.ts.map +1 -0
  254. package/src/avif/native/av1/util/tile_log2.js +23 -0
  255. package/src/avif/native/bitstream/BitReader.d.ts +174 -0
  256. package/src/avif/native/bitstream/BitReader.d.ts.map +1 -0
  257. package/src/avif/native/bitstream/BitReader.js +391 -0
  258. package/src/avif/native/bitstream/BitWriter.d.ts +122 -0
  259. package/src/avif/native/bitstream/BitWriter.d.ts.map +1 -0
  260. package/src/avif/native/bitstream/BitWriter.js +351 -0
  261. package/src/avif/native/color/ColourTransform.d.ts +62 -0
  262. package/src/avif/native/color/ColourTransform.d.ts.map +1 -0
  263. package/src/avif/native/color/ColourTransform.js +189 -0
  264. package/src/avif/native/color/YuvImage.d.ts +51 -0
  265. package/src/avif/native/color/YuvImage.d.ts.map +1 -0
  266. package/src/avif/native/color/YuvImage.js +66 -0
  267. package/src/avif/native/color/clamp_sample.d.ts +18 -0
  268. package/src/avif/native/color/clamp_sample.d.ts.map +1 -0
  269. package/src/avif/native/color/clamp_sample.js +25 -0
  270. package/src/avif/native/color/linear_to_transfer.d.ts +24 -0
  271. package/src/avif/native/color/linear_to_transfer.d.ts.map +1 -0
  272. package/src/avif/native/color/linear_to_transfer.js +126 -0
  273. package/src/avif/native/color/primaries.d.ts +20 -0
  274. package/src/avif/native/color/primaries.d.ts.map +1 -0
  275. package/src/avif/native/color/primaries.js +94 -0
  276. package/src/avif/native/color/rgb_row_to_ycbcr.d.ts +20 -0
  277. package/src/avif/native/color/rgb_row_to_ycbcr.d.ts.map +1 -0
  278. package/src/avif/native/color/rgb_row_to_ycbcr.js +78 -0
  279. package/src/avif/native/color/transfer_to_linear.d.ts +49 -0
  280. package/src/avif/native/color/transfer_to_linear.d.ts.map +1 -0
  281. package/src/avif/native/color/transfer_to_linear.js +171 -0
  282. package/src/avif/native/color/upsample_chroma_row.d.ts +35 -0
  283. package/src/avif/native/color/upsample_chroma_row.d.ts.map +1 -0
  284. package/src/avif/native/color/upsample_chroma_row.js +89 -0
  285. package/src/avif/native/color/ycbcr_row_to_rgb.d.ts +23 -0
  286. package/src/avif/native/color/ycbcr_row_to_rgb.d.ts.map +1 -0
  287. package/src/avif/native/color/ycbcr_row_to_rgb.js +78 -0
  288. package/src/avif/native/heif/AvifFile.d.ts +112 -0
  289. package/src/avif/native/heif/AvifFile.d.ts.map +1 -0
  290. package/src/avif/native/heif/AvifFile.js +142 -0
  291. package/src/avif/native/heif/ItemProperty.d.ts +244 -0
  292. package/src/avif/native/heif/ItemProperty.d.ts.map +1 -0
  293. package/src/avif/native/heif/ItemProperty.js +321 -0
  294. package/src/avif/native/heif/find_item_property.d.ts +17 -0
  295. package/src/avif/native/heif/find_item_property.d.ts.map +1 -0
  296. package/src/avif/native/heif/find_item_property.js +28 -0
  297. package/src/avif/native/heif/find_item_references.d.ts +16 -0
  298. package/src/avif/native/heif/find_item_references.d.ts.map +1 -0
  299. package/src/avif/native/heif/find_item_references.js +29 -0
  300. package/src/avif/native/heif/find_items_referencing.d.ts +17 -0
  301. package/src/avif/native/heif/find_items_referencing.d.ts.map +1 -0
  302. package/src/avif/native/heif/find_items_referencing.js +36 -0
  303. package/src/avif/native/heif/parse_avif_file.d.ts +15 -0
  304. package/src/avif/native/heif/parse_avif_file.d.ts.map +1 -0
  305. package/src/avif/native/heif/parse_avif_file.js +383 -0
  306. package/src/avif/native/heif/parse_image_grid.d.ts +18 -0
  307. package/src/avif/native/heif/parse_image_grid.d.ts.map +1 -0
  308. package/src/avif/native/heif/parse_image_grid.js +48 -0
  309. package/src/avif/native/heif/parse_item_property.d.ts +18 -0
  310. package/src/avif/native/heif/parse_item_property.d.ts.map +1 -0
  311. package/src/avif/native/heif/parse_item_property.js +243 -0
  312. package/src/avif/native/heif/read_item_data.d.ts +22 -0
  313. package/src/avif/native/heif/read_item_data.d.ts.map +1 -0
  314. package/src/avif/native/heif/read_item_data.js +97 -0
  315. package/src/avif/native/heif/write_avif_file.d.ts +50 -0
  316. package/src/avif/native/heif/write_avif_file.d.ts.map +1 -0
  317. package/src/avif/native/heif/write_avif_file.js +348 -0
  318. package/src/avif/native/heif/write_item_property.d.ts +16 -0
  319. package/src/avif/native/heif/write_item_property.d.ts.map +1 -0
  320. package/src/avif/native/heif/write_item_property.js +182 -0
  321. package/src/avif/native/index.d.ts +14 -0
  322. package/src/avif/native/index.d.ts.map +1 -0
  323. package/src/avif/native/index.js +56 -0
  324. package/src/avif/native/isobmff/BoxHeader.d.ts +50 -0
  325. package/src/avif/native/isobmff/BoxHeader.d.ts.map +1 -0
  326. package/src/avif/native/isobmff/BoxHeader.js +57 -0
  327. package/src/avif/native/isobmff/BoxWriter.d.ts +118 -0
  328. package/src/avif/native/isobmff/BoxWriter.d.ts.map +1 -0
  329. package/src/avif/native/isobmff/BoxWriter.js +264 -0
  330. package/src/avif/native/isobmff/ByteCursor.d.ts +125 -0
  331. package/src/avif/native/isobmff/ByteCursor.d.ts.map +1 -0
  332. package/src/avif/native/isobmff/ByteCursor.js +298 -0
  333. package/src/avif/native/isobmff/for_each_box.d.ts +23 -0
  334. package/src/avif/native/isobmff/for_each_box.d.ts.map +1 -0
  335. package/src/avif/native/isobmff/for_each_box.js +39 -0
  336. package/src/avif/native/isobmff/read_box_header.d.ts +22 -0
  337. package/src/avif/native/isobmff/read_box_header.d.ts.map +1 -0
  338. package/src/avif/native/isobmff/read_box_header.js +59 -0
  339. package/src/avif/native/isobmff/read_full_box_header.d.ts +26 -0
  340. package/src/avif/native/isobmff/read_full_box_header.d.ts.map +1 -0
  341. package/src/avif/native/isobmff/read_full_box_header.js +33 -0
  342. package/src/avif/threaded_image_encoder.d.ts +7 -2
  343. package/src/avif/threaded_image_encoder.d.ts.map +1 -1
  344. package/src/avif/threaded_image_encoder.js +107 -21
  345. package/src/core/binary/BinaryBuffer.d.ts +40 -0
  346. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  347. package/src/core/binary/BinaryBuffer.js +100 -0
  348. package/src/core/binary/hash/crc32.d.ts +16 -0
  349. package/src/core/binary/hash/crc32.d.ts.map +1 -0
  350. package/src/core/binary/hash/crc32.js +96 -0
  351. package/src/core/binary/utf8/utf8_decode.d.ts +21 -0
  352. package/src/core/binary/utf8/utf8_decode.d.ts.map +1 -0
  353. package/src/core/binary/utf8/utf8_decode.js +43 -0
  354. package/src/core/binary/utf8/utf8_encode_into.d.ts +20 -0
  355. package/src/core/binary/utf8/utf8_encode_into.d.ts.map +1 -0
  356. package/src/core/binary/utf8/utf8_encode_into.js +48 -0
  357. package/src/core/binary/utf8/utf8_encoded_length.d.ts +14 -0
  358. package/src/core/binary/utf8/utf8_encoded_length.d.ts.map +1 -0
  359. package/src/core/binary/utf8/utf8_encoded_length.js +36 -0
  360. package/src/core/color/COLOR_FIX_PLAN_2026_08_28.md +417 -0
  361. package/src/core/color/COLOR_REVIEW_2026_08_28.md +779 -0
  362. package/src/core/color/Color.d.ts +128 -20
  363. package/src/core/color/Color.d.ts.map +1 -1
  364. package/src/core/color/Color.js +959 -866
  365. package/src/core/color/PQ/PQ_constants.d.ts +10 -0
  366. package/src/core/color/PQ/PQ_constants.d.ts.map +1 -1
  367. package/src/core/color/PQ/PQ_constants.js +10 -0
  368. package/src/core/color/PQ/linear_to_PQ.d.ts.map +1 -1
  369. package/src/core/color/PQ/linear_to_PQ.js +6 -0
  370. package/src/core/color/REC709_PRIMARIES.d.ts +50 -0
  371. package/src/core/color/REC709_PRIMARIES.d.ts.map +1 -0
  372. package/src/core/color/REC709_PRIMARIES.js +53 -0
  373. package/src/core/color/construct/color_from_hex.d.ts +21 -0
  374. package/src/core/color/construct/color_from_hex.d.ts.map +1 -0
  375. package/src/core/color/construct/color_from_hex.js +33 -0
  376. package/src/core/color/construct/color_from_temperature.d.ts +22 -0
  377. package/src/core/color/construct/color_from_temperature.d.ts.map +1 -0
  378. package/src/core/color/construct/color_from_temperature.js +33 -0
  379. package/src/core/color/construct/color_from_uint24.d.ts +19 -0
  380. package/src/core/color/construct/color_from_uint24.d.ts.map +1 -0
  381. package/src/core/color/construct/color_from_uint24.js +26 -0
  382. package/src/core/color/construct/color_from_uint32.d.ts +20 -0
  383. package/src/core/color/construct/color_from_uint32.d.ts.map +1 -0
  384. package/src/core/color/construct/color_from_uint32.js +39 -0
  385. package/src/core/color/construct/color_gray.d.ts +17 -0
  386. package/src/core/color/construct/color_gray.d.ts.map +1 -0
  387. package/src/core/color/construct/color_gray.js +22 -0
  388. package/src/core/color/hex/hex2rgb.d.ts +1 -11
  389. package/src/core/color/hex/hex2rgb.d.ts.map +1 -1
  390. package/src/core/color/hex/hex2rgb.js +7 -24
  391. package/src/core/color/hex/hex_to_rgb.d.ts +18 -0
  392. package/src/core/color/hex/hex_to_rgb.d.ts.map +1 -0
  393. package/src/core/color/hex/hex_to_rgb.js +62 -0
  394. package/src/core/color/hex/rgb2hex.d.ts +1 -8
  395. package/src/core/color/hex/rgb2hex.d.ts.map +1 -1
  396. package/src/core/color/hex/rgb2hex.js +7 -13
  397. package/src/core/color/hex/rgb_to_hex.d.ts +9 -0
  398. package/src/core/color/hex/rgb_to_hex.d.ts.map +1 -0
  399. package/src/core/color/hex/rgb_to_hex.js +13 -0
  400. package/src/core/color/hex/rgba_to_hex.d.ts +19 -0
  401. package/src/core/color/hex/rgba_to_hex.d.ts.map +1 -0
  402. package/src/core/color/hex/rgba_to_hex.js +23 -0
  403. package/src/core/color/hsv/hsv2rgb.d.ts +1 -12
  404. package/src/core/color/hsv/hsv2rgb.d.ts.map +1 -1
  405. package/src/core/color/hsv/hsv2rgb.js +8 -21
  406. package/src/core/color/hsv/hsv2rgb_float.d.ts +1 -12
  407. package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -1
  408. package/src/core/color/hsv/hsv2rgb_float.js +8 -56
  409. package/src/core/color/hsv/hsv_to_rgb.d.ts +13 -0
  410. package/src/core/color/hsv/hsv_to_rgb.d.ts.map +1 -0
  411. package/src/core/color/hsv/hsv_to_rgb.js +39 -0
  412. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts +13 -0
  413. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -0
  414. package/src/core/color/hsv/hsv_to_rgb_uint8.js +21 -0
  415. package/src/core/color/hsv/hue_to_rgb_sextant.d.ts +24 -0
  416. package/src/core/color/hsv/hue_to_rgb_sextant.d.ts.map +1 -0
  417. package/src/core/color/hsv/hue_to_rgb_sextant.js +67 -0
  418. package/src/core/color/hsv/rgb2hsv.d.ts +1 -12
  419. package/src/core/color/hsv/rgb2hsv.d.ts.map +1 -1
  420. package/src/core/color/hsv/rgb2hsv.js +7 -42
  421. package/src/core/color/hsv/rgb_to_hsv.d.ts +13 -0
  422. package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -0
  423. package/src/core/color/hsv/rgb_to_hsv.js +42 -0
  424. package/src/core/color/hunt/hpe_to_xyz.d.ts +2 -0
  425. package/src/core/color/hunt/hpe_to_xyz.d.ts.map +1 -0
  426. package/src/core/color/hunt/hpe_to_xyz.js +4 -0
  427. package/src/core/color/hunt/xyz_to_hpe.d.ts +1 -6
  428. package/src/core/color/hunt/xyz_to_hpe.d.ts.map +1 -1
  429. package/src/core/color/hunt/xyz_to_hpe.js +12 -15
  430. package/src/core/color/illuminant/D65_spd_tabulated.d.ts.map +1 -1
  431. package/src/core/color/illuminant/D65_spd_tabulated.js +107 -104
  432. package/src/core/color/int2rgb.d.ts +1 -10
  433. package/src/core/color/int2rgb.d.ts.map +1 -1
  434. package/src/core/color/int2rgb.js +7 -12
  435. package/src/core/color/int_to_rgb.d.ts +21 -0
  436. package/src/core/color/int_to_rgb.d.ts.map +1 -0
  437. package/src/core/color/int_to_rgb.js +33 -0
  438. package/src/core/color/kelvin/kelvin_to_rgb.d.ts.map +1 -1
  439. package/src/core/color/kelvin/kelvin_to_rgb.js +22 -2
  440. package/src/core/color/kelvin/rgb_to_kelvin.d.ts +22 -2
  441. package/src/core/color/kelvin/rgb_to_kelvin.d.ts.map +1 -1
  442. package/src/core/color/kelvin/rgb_to_kelvin.js +22 -2
  443. package/src/core/color/lab/lab_to_xyz.d.ts +20 -0
  444. package/src/core/color/lab/lab_to_xyz.d.ts.map +1 -0
  445. package/src/core/color/lab/lab_to_xyz.js +69 -0
  446. package/src/core/color/oklab/gamut_clip_adaptive_l0.d.ts +34 -0
  447. package/src/core/color/oklab/gamut_clip_adaptive_l0.d.ts.map +1 -0
  448. package/src/core/color/oklab/gamut_clip_adaptive_l0.js +46 -0
  449. package/src/core/color/oklab/gamut_clip_at_l0.d.ts +33 -0
  450. package/src/core/color/oklab/gamut_clip_at_l0.d.ts.map +1 -0
  451. package/src/core/color/oklab/gamut_clip_at_l0.js +84 -0
  452. package/src/core/color/oklab/gamut_clip_preserve_chroma.d.ts +24 -0
  453. package/src/core/color/oklab/gamut_clip_preserve_chroma.d.ts.map +1 -0
  454. package/src/core/color/oklab/gamut_clip_preserve_chroma.js +37 -0
  455. package/src/core/color/oklab/gamut_clip_project_to_lcusp.d.ts +23 -0
  456. package/src/core/color/oklab/gamut_clip_project_to_lcusp.d.ts.map +1 -0
  457. package/src/core/color/oklab/gamut_clip_project_to_lcusp.js +46 -0
  458. package/src/core/color/oklab/linear_srgb_to_okhsl.d.ts +19 -0
  459. package/src/core/color/oklab/linear_srgb_to_okhsl.d.ts.map +1 -0
  460. package/src/core/color/oklab/linear_srgb_to_okhsl.js +93 -0
  461. package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts +12 -4
  462. package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
  463. package/src/core/color/oklab/linear_srgb_to_okhsv.js +108 -84
  464. package/src/core/color/oklab/linear_srgb_to_oklab.d.ts +13 -4
  465. package/src/core/color/oklab/linear_srgb_to_oklab.d.ts.map +1 -1
  466. package/src/core/color/oklab/linear_srgb_to_oklab.js +28 -19
  467. package/src/core/color/oklab/okhsl_chroma_bounds.d.ts +51 -0
  468. package/src/core/color/oklab/okhsl_chroma_bounds.d.ts.map +1 -0
  469. package/src/core/color/oklab/okhsl_chroma_bounds.js +128 -0
  470. package/src/core/color/oklab/okhsl_to_linear_srgb.d.ts +19 -0
  471. package/src/core/color/oklab/okhsl_to_linear_srgb.d.ts.map +1 -0
  472. package/src/core/color/oklab/okhsl_to_linear_srgb.js +85 -0
  473. package/src/core/color/oklab/oklab_to_oklch.d.ts +24 -0
  474. package/src/core/color/oklab/oklab_to_oklch.d.ts.map +1 -0
  475. package/src/core/color/oklab/oklab_to_oklch.js +35 -0
  476. package/src/core/color/oklab/oklch_to_oklab.d.ts +18 -0
  477. package/src/core/color/oklab/oklch_to_oklab.d.ts.map +1 -0
  478. package/src/core/color/oklab/oklch_to_oklab.js +26 -0
  479. package/src/core/color/oklab/toe.d.ts +12 -0
  480. package/src/core/color/oklab/toe.d.ts.map +1 -1
  481. package/src/core/color/oklab/toe.js +34 -22
  482. package/src/core/color/operations/color_add.d.ts +21 -0
  483. package/src/core/color/operations/color_add.d.ts.map +1 -0
  484. package/src/core/color/operations/color_add.js +23 -0
  485. package/src/core/color/operations/color_add_scaled.d.ts +20 -0
  486. package/src/core/color/operations/color_add_scaled.d.ts.map +1 -0
  487. package/src/core/color/operations/color_add_scaled.js +30 -0
  488. package/src/core/color/operations/color_clamp.d.ts +22 -0
  489. package/src/core/color/operations/color_clamp.d.ts.map +1 -0
  490. package/src/core/color/operations/color_clamp.js +25 -0
  491. package/src/core/color/operations/color_darken.d.ts +2 -1
  492. package/src/core/color/operations/color_darken.d.ts.map +1 -1
  493. package/src/core/color/operations/color_darken.js +25 -24
  494. package/src/core/color/operations/color_desaturate.d.ts +2 -1
  495. package/src/core/color/operations/color_desaturate.d.ts.map +1 -1
  496. package/src/core/color/operations/color_desaturate.js +25 -24
  497. package/src/core/color/operations/color_get_hsl.d.ts +18 -0
  498. package/src/core/color/operations/color_get_hsl.d.ts.map +1 -0
  499. package/src/core/color/operations/color_get_hsl.js +60 -0
  500. package/src/core/color/operations/color_is_in_gamut.d.ts +20 -0
  501. package/src/core/color/operations/color_is_in_gamut.d.ts.map +1 -0
  502. package/src/core/color/operations/color_is_in_gamut.js +30 -0
  503. package/src/core/color/operations/color_lerp.d.ts +12 -3
  504. package/src/core/color/operations/color_lerp.d.ts.map +1 -1
  505. package/src/core/color/operations/color_lerp.js +55 -46
  506. package/src/core/color/operations/color_lighten.d.ts +9 -5
  507. package/src/core/color/operations/color_lighten.d.ts.map +1 -1
  508. package/src/core/color/operations/color_lighten.js +29 -24
  509. package/src/core/color/operations/color_mix_okhsv_channel.d.ts +24 -0
  510. package/src/core/color/operations/color_mix_okhsv_channel.d.ts.map +1 -0
  511. package/src/core/color/operations/color_mix_okhsv_channel.js +48 -0
  512. package/src/core/color/operations/color_multiply_rgb.d.ts +21 -0
  513. package/src/core/color/operations/color_multiply_rgb.d.ts.map +1 -0
  514. package/src/core/color/operations/color_multiply_rgb.js +26 -0
  515. package/src/core/color/operations/color_saturate.d.ts +9 -5
  516. package/src/core/color/operations/color_saturate.d.ts.map +1 -1
  517. package/src/core/color/operations/color_saturate.js +29 -24
  518. package/src/core/color/operations/color_scale_okhsv_channel.d.ts +1 -1
  519. package/src/core/color/operations/color_scale_okhsv_channel.d.ts.map +1 -1
  520. package/src/core/color/operations/color_scale_okhsv_channel.js +58 -45
  521. package/src/core/color/operations/color_srgb_apply.d.ts +28 -0
  522. package/src/core/color/operations/color_srgb_apply.d.ts.map +1 -0
  523. package/src/core/color/operations/color_srgb_apply.js +40 -0
  524. package/src/core/color/operations/color_sub.d.ts +16 -0
  525. package/src/core/color/operations/color_sub.d.ts.map +1 -0
  526. package/src/core/color/operations/color_sub.js +18 -0
  527. package/src/core/color/parse_color.d.ts +10 -1
  528. package/src/core/color/parse_color.d.ts.map +1 -1
  529. package/src/core/color/parse_color.js +100 -84
  530. package/src/core/color/parse_color_normalized.d.ts +24 -0
  531. package/src/core/color/parse_color_normalized.d.ts.map +1 -0
  532. package/src/core/color/parse_color_normalized.js +38 -0
  533. package/src/core/color/rgb2uint24.d.ts +1 -8
  534. package/src/core/color/rgb2uint24.d.ts.map +1 -1
  535. package/src/core/color/rgb2uint24.js +7 -20
  536. package/src/core/color/rgb2uint32.d.ts +1 -9
  537. package/src/core/color/rgb2uint32.d.ts.map +1 -1
  538. package/src/core/color/rgb2uint32.js +7 -18
  539. package/src/core/color/rgb_to_luminance.d.ts +14 -5
  540. package/src/core/color/rgb_to_luminance.d.ts.map +1 -1
  541. package/src/core/color/rgb_to_luminance.js +24 -13
  542. package/src/core/color/rgb_to_uint24.d.ts +9 -0
  543. package/src/core/color/rgb_to_uint24.d.ts.map +1 -0
  544. package/src/core/color/rgb_to_uint24.js +20 -0
  545. package/src/core/color/rgb_to_uint32.d.ts +10 -0
  546. package/src/core/color/rgb_to_uint32.d.ts.map +1 -0
  547. package/src/core/color/rgb_to_uint32.js +21 -0
  548. package/src/core/color/sRGB/linear_to_sRGB.d.ts +7 -0
  549. package/src/core/color/sRGB/linear_to_sRGB.d.ts.map +1 -1
  550. package/src/core/color/sRGB/linear_to_sRGB.js +39 -32
  551. package/src/core/color/xyz/hpe_to_xyz.d.ts +24 -0
  552. package/src/core/color/xyz/hpe_to_xyz.d.ts.map +1 -0
  553. package/src/core/color/xyz/hpe_to_xyz.js +39 -0
  554. package/src/core/color/xyz/rgb_to_xyz.d.ts +17 -2
  555. package/src/core/color/xyz/rgb_to_xyz.d.ts.map +1 -1
  556. package/src/core/color/xyz/rgb_to_xyz.js +44 -18
  557. package/src/core/color/xyz/xyz_cmf_tabulated.d.ts.map +1 -1
  558. package/src/core/color/xyz/xyz_cmf_tabulated.js +217 -211
  559. package/src/core/color/xyz/xyz_cmf_wyman.d.ts +4 -0
  560. package/src/core/color/xyz/xyz_cmf_wyman.d.ts.map +1 -1
  561. package/src/core/color/xyz/xyz_cmf_wyman.js +74 -65
  562. package/src/core/color/xyz/xyz_to_hpe.d.ts +18 -0
  563. package/src/core/color/xyz/xyz_to_hpe.d.ts.map +1 -0
  564. package/src/core/color/xyz/xyz_to_hpe.js +33 -0
  565. package/src/core/color/xyz/xyz_to_rgb.d.ts +17 -2
  566. package/src/core/color/xyz/xyz_to_rgb.d.ts.map +1 -1
  567. package/src/core/color/xyz/xyz_to_rgb.js +39 -16
  568. package/src/core/color/ycxcz/xyz_to_ycxcz.d.ts +7 -2
  569. package/src/core/color/ycxcz/xyz_to_ycxcz.d.ts.map +1 -1
  570. package/src/core/color/ycxcz/xyz_to_ycxcz.js +33 -28
  571. package/src/core/events/signal/Signal.js +820 -820
  572. package/src/core/math/clamp_index.d.ts +18 -0
  573. package/src/core/math/clamp_index.d.ts.map +1 -0
  574. package/src/core/math/clamp_index.js +23 -0
  575. package/src/engine/asset/loaders/image/IMAGE_CODEC_REVIEW_2026_08_28.md +803 -0
  576. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts +5 -3
  577. package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +1 -1
  578. package/src/engine/asset/loaders/image/jpeg/JpegFrame.js +5 -3
  579. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts +2 -1
  580. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +1 -1
  581. package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.js +2 -1
  582. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts +17 -0
  583. package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +1 -1
  584. package/src/engine/asset/loaders/image/jpeg/JpegImage.js +197 -157
  585. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts +0 -1
  586. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +1 -1
  587. package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +0 -1
  588. package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts +28 -0
  589. package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts.map +1 -0
  590. package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.js +31 -0
  591. package/src/engine/asset/loaders/image/png/PNG.d.ts +3 -18
  592. package/src/engine/asset/loaders/image/png/PNG.d.ts.map +1 -1
  593. package/src/engine/asset/loaders/image/png/PNG.js +3 -139
  594. package/src/engine/asset/loaders/image/png/PNGReader.d.ts +16 -16
  595. package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
  596. package/src/engine/asset/loaders/image/png/PNGReader.js +143 -160
  597. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.js +3 -3
  598. package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.js +3 -3
  599. package/src/engine/asset/loaders/image/png/crc32.d.ts +1 -15
  600. package/src/engine/asset/loaders/image/png/crc32.d.ts.map +1 -1
  601. package/src/engine/asset/loaders/image/png/crc32.js +5 -89
  602. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts +12 -10
  603. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts.map +1 -1
  604. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.js +20 -45
  605. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts +2 -1
  606. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts.map +1 -1
  607. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.js +2 -0
  608. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts +2 -1
  609. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts.map +1 -1
  610. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.js +2 -0
  611. package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts +22 -0
  612. package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts.map +1 -0
  613. package/src/engine/asset/loaders/image/png/filter/png_unfilter.js +68 -0
  614. package/src/engine/asset/loaders/image/png/png_inflate.d.ts +20 -0
  615. package/src/engine/asset/loaders/image/png/png_inflate.d.ts.map +1 -0
  616. package/src/engine/asset/loaders/image/png/png_inflate.js +85 -0
  617. package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts +22 -0
  618. package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts.map +1 -0
  619. package/src/engine/asset/loaders/image/png/png_unpack_samples.js +38 -0
  620. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
  621. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +135 -132
  622. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +16 -3
  623. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  624. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1157 -1149
  625. package/src/engine/graphics/render/frame_graph/FrameGraph.js +900 -900
  626. package/src/engine/physics/ecs/PhysicsSystem.d.ts +72 -81
  627. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  628. package/src/engine/physics/ecs/PhysicsSystem.js +86 -77
  629. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  630. package/src/shade/device/IMMEDIATE_DATA_PLAN_2026_08_28.md +451 -0
  631. package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +625 -0
  632. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  633. package/src/shade/renderer/rasterize/native/oit/shader_oit_blend.d.ts.map +1 -1
  634. package/src/shade/renderer/rasterize/native/oit/shader_oit_blend.js +5 -4
  635. package/src/shade/renderer/scene/serialization/decode_image_source_hdr.d.ts +14 -3
  636. package/src/shade/renderer/scene/serialization/decode_image_source_hdr.d.ts.map +1 -1
  637. package/src/shade/renderer/scene/serialization/decode_image_source_hdr.js +50 -51
  638. package/src/shade/renderer/scene/serialization/deserialize_scene.d.ts.map +1 -1
  639. package/src/shade/renderer/scene/serialization/deserialize_scene.js +531 -521
  640. package/src/shade/renderer/scene/serialization/write_image_source.d.ts.map +1 -1
  641. package/src/shade/renderer/scene/serialization/write_image_source.js +6 -4
  642. package/src/shade/renderer/shader/chunk/color/chunk_rgb_to_luminance.d.ts.map +1 -1
  643. package/src/shade/renderer/shader/chunk/color/chunk_rgb_to_luminance.js +34 -32
  644. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +31 -0
  645. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts.map +1 -1
  646. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +62 -31
  647. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.d.ts +10 -0
  648. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.d.ts.map +1 -1
  649. package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.js +32 -22
  650. package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferOETF.d.ts.map +1 -1
  651. package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferOETF.js +22 -21
  652. package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts +6 -0
  653. package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts.map +1 -1
  654. package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.js +110 -104
  655. package/src/shade/renderer/shader/chunk/color/xyz/chunk_rgb_to_xyz.d.ts.map +1 -1
  656. package/src/shade/renderer/shader/chunk/color/xyz/chunk_rgb_to_xyz.js +23 -21
  657. package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.d.ts +9 -0
  658. package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.d.ts.map +1 -0
  659. package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.js +16 -0
  660. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.d.ts +10 -0
  661. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.d.ts.map +1 -0
  662. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.js +17 -0
  663. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_solve_cubic_blinn.d.ts.map +1 -1
  664. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_solve_cubic_blinn.js +7 -1
  665. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_square_root.d.ts.map +1 -1
  666. package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_square_root.js +9 -3
  667. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic.d.ts.map +1 -1
  668. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic.js +13 -7
  669. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic_blinn_smallest.d.ts.map +1 -1
  670. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic_blinn_smallest.js +13 -4
  671. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quadratic.d.ts.map +1 -1
  672. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quadratic.js +20 -13
  673. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quartic_neumark.d.ts.map +1 -1
  674. package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quartic_neumark.js +8 -4
  675. package/src/shade/renderer/shader/chunk/mboit/NOTES.md +35 -1
  676. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_2_trigonometric_moments.d.ts.map +1 -1
  677. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_2_trigonometric_moments.js +18 -5
  678. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_3_trigonometric_moments.d.ts.map +1 -1
  679. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_3_trigonometric_moments.js +21 -8
  680. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_4_trigonometric_moments.d.ts.map +1 -1
  681. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_4_trigonometric_moments.js +25 -12
  682. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.d.ts +6 -2
  683. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.d.ts.map +1 -1
  684. package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.js +42 -35
  685. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_4_power_moments.d.ts.map +1 -1
  686. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_4_power_moments.js +18 -5
  687. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_6_power_moments.d.ts.map +1 -1
  688. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_6_power_moments.js +24 -9
  689. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_8_power_moments.d.ts.map +1 -1
  690. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_8_power_moments.js +29 -13
  691. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.d.ts +12 -0
  692. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.d.ts.map +1 -1
  693. package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.js +38 -48
  694. package/src/view/elements/ColorPickerView.js +296 -296
  695. package/src/avif/codec/dec/Readme.md +0 -14
  696. package/src/avif/codec/dec/avif_dec.cpp +0 -234
  697. package/src/avif/codec/dec/avif_dec.d.ts +0 -3
  698. package/src/avif/codec/dec/avif_dec.d.ts.map +0 -1
  699. package/src/avif/codec/dec/avif_dec.js +0 -16
  700. package/src/avif/codec/dec/avif_dec.wasm +0 -0
  701. package/src/avif/codec/enc/README.md +0 -37
  702. package/src/avif/codec/enc/avif_enc.cpp +0 -216
  703. package/src/avif/codec/enc/avif_enc.d.ts +0 -3
  704. package/src/avif/codec/enc/avif_enc.d.ts.map +0 -1
  705. package/src/avif/codec/enc/avif_enc.js +0 -6144
  706. package/src/avif/codec/enc/avif_enc.wasm +0 -0
  707. package/src/avif/codec/enc/avif_enc_mt.d.ts +0 -3
  708. package/src/avif/codec/enc/avif_enc_mt.d.ts.map +0 -1
  709. package/src/avif/codec/enc/avif_enc_mt.js +0 -6811
  710. package/src/avif/codec/enc/avif_enc_mt.wasm +0 -0
  711. package/src/avif/codec/enc/avif_enc_mt.worker.d.mts +0 -2
  712. package/src/avif/codec/enc/avif_enc_mt.worker.d.mts.map +0 -1
  713. package/src/avif/codec/enc/avif_enc_mt.worker.d.ts +0 -11
  714. package/src/avif/codec/enc/avif_enc_mt.worker.d.ts.map +0 -1
  715. package/src/avif/codec/enc/avif_enc_mt.worker.js +0 -171
  716. package/src/avif/codec/enc/avif_enc_mt.worker.mjs +0 -1
  717. package/src/avif/decode.d.ts +0 -3
  718. package/src/avif/decode.d.ts.map +0 -1
  719. package/src/avif/decode.js +0 -42
  720. package/src/avif/encode.d.ts +0 -3
  721. package/src/avif/encode.d.ts.map +0 -1
  722. package/src/avif/encode.js +0 -75
  723. package/src/avif/meta.d.ts +0 -24
  724. package/src/avif/meta.d.ts.map +0 -1
  725. package/src/avif/meta.js +0 -23
  726. package/src/avif/tsconfig.tsbuildinfo +0 -1
  727. package/src/avif/utils.d.ts +0 -17
  728. package/src/avif/utils.d.ts.map +0 -1
  729. package/src/avif/utils.js +0 -31
  730. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts +0 -23
  731. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts.map +0 -1
  732. package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.js +0 -214
  733. package/src/engine/asset/loaders/image/png/inflate.d.ts +0 -7
  734. package/src/engine/asset/loaders/image/png/inflate.d.ts.map +0 -1
  735. package/src/engine/asset/loaders/image/png/inflate.js +0 -20
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Item property structs.
3
+ *
4
+ * One class per property box that AVIF defines, each a plain struct: fields and nothing else.
5
+ * Reading is {@link parse_item_property}, writing is {@link write_item_property}; keeping the
6
+ * behaviour out of the structs is what lets the decoder tree be imported without the writer.
7
+ *
8
+ * An unrecognised property becomes an {@link UnknownProperty} carrying its bytes verbatim, so a
9
+ * file can be read, modified and written back without losing properties this implementation does
10
+ * not understand.
11
+ *
12
+ * @see ISO/IEC 23008-12 section 9.3 "Item properties"
13
+ * @see ISO/IEC 23000-22 section 7.3 "AV1 Image Item Properties"
14
+ *
15
+ * @author Alex Goldring
16
+ * @copyright Company Named Limited (c) 2026
17
+ */
18
+ /**
19
+ * `ispe` — the item's stored dimensions, before any transformative property is applied.
20
+ */
21
+ export class ImageSpatialExtents {
22
+ static TYPE: string;
23
+ /** @type {string} */
24
+ type: string;
25
+ /** @type {number} */
26
+ width: number;
27
+ /** @type {number} */
28
+ height: number;
29
+ }
30
+ /**
31
+ * `pixi` — bit depth per channel of the *decoded* image.
32
+ */
33
+ export class PixelInformation {
34
+ static TYPE: string;
35
+ /** @type {string} */
36
+ type: string;
37
+ /** @type {Uint8Array} */
38
+ bits_per_channel: Uint8Array;
39
+ }
40
+ /**
41
+ * `av1C` — the AV1 codec configuration record. `config_obus` carries the sequence header (and
42
+ * possibly metadata OBUs) that the item's own payload may omit.
43
+ */
44
+ export class Av1Config {
45
+ static TYPE: string;
46
+ /** @type {string} */
47
+ type: string;
48
+ /** @type {number} */
49
+ version: number;
50
+ /** @type {number} */
51
+ seq_profile: number;
52
+ /** @type {number} */
53
+ seq_level_idx_0: number;
54
+ /** @type {number} */
55
+ seq_tier_0: number;
56
+ /** @type {number} */
57
+ high_bitdepth: number;
58
+ /** @type {number} */
59
+ twelve_bit: number;
60
+ /** @type {number} */
61
+ monochrome: number;
62
+ /** @type {number} */
63
+ chroma_subsampling_x: number;
64
+ /** @type {number} */
65
+ chroma_subsampling_y: number;
66
+ /** @type {number} */
67
+ chroma_sample_position: number;
68
+ /** @type {number} `-1` when absent */
69
+ initial_presentation_delay_minus_one: number;
70
+ /** @type {Uint8Array} */
71
+ config_obus: Uint8Array;
72
+ }
73
+ /**
74
+ * `colr` — colour information. Either an `nclx` triple of CICP codes, or an embedded ICC profile.
75
+ */
76
+ export class ColourInformation {
77
+ static TYPE: string;
78
+ /** @type {string} */
79
+ type: string;
80
+ /** @type {string} `nclx`, `rICC` or `prof` */
81
+ colour_type: string;
82
+ /** @type {number} CICP colour primaries */
83
+ colour_primaries: number;
84
+ /** @type {number} CICP transfer characteristics */
85
+ transfer_characteristics: number;
86
+ /** @type {number} CICP matrix coefficients */
87
+ matrix_coefficients: number;
88
+ /** @type {number} `0` limited (studio) range, `1` full range */
89
+ full_range_flag: number;
90
+ /** @type {Uint8Array|null} ICC profile bytes, for `rICC` and `prof` */
91
+ icc_profile: Uint8Array | null;
92
+ }
93
+ /**
94
+ * `pasp` — pixel aspect ratio.
95
+ */
96
+ export class PixelAspectRatio {
97
+ static TYPE: string;
98
+ /** @type {string} */
99
+ type: string;
100
+ /** @type {number} */
101
+ h_spacing: number;
102
+ /** @type {number} */
103
+ v_spacing: number;
104
+ }
105
+ /**
106
+ * `clap` — clean aperture. A crop expressed as rationals, relative to the centre of the image.
107
+ */
108
+ export class CleanAperture {
109
+ static TYPE: string;
110
+ /** @type {string} */
111
+ type: string;
112
+ /** @type {number} */
113
+ width_numerator: number;
114
+ /** @type {number} */
115
+ width_denominator: number;
116
+ /** @type {number} */
117
+ height_numerator: number;
118
+ /** @type {number} */
119
+ height_denominator: number;
120
+ /** @type {number} */
121
+ horizontal_offset_numerator: number;
122
+ /** @type {number} */
123
+ horizontal_offset_denominator: number;
124
+ /** @type {number} */
125
+ vertical_offset_numerator: number;
126
+ /** @type {number} */
127
+ vertical_offset_denominator: number;
128
+ }
129
+ /**
130
+ * `irot` — rotation, anticlockwise, applied after `clap`.
131
+ */
132
+ export class ImageRotation {
133
+ static TYPE: string;
134
+ /** @type {string} */
135
+ type: string;
136
+ /** @type {number} `0 .. 3`, in units of 90 degrees anticlockwise */
137
+ angle: number;
138
+ }
139
+ /**
140
+ * `imir` — mirroring, applied after `clap` and before `irot`.
141
+ */
142
+ export class ImageMirror {
143
+ static TYPE: string;
144
+ /** @type {string} */
145
+ type: string;
146
+ /** @type {number} `0` mirror about a horizontal axis (top-bottom), `1` about a vertical axis */
147
+ axis: number;
148
+ }
149
+ /**
150
+ * `auxC` — marks an item as auxiliary, with a URN saying what kind. Alpha and depth both use this.
151
+ */
152
+ export class AuxiliaryTypeProperty {
153
+ static TYPE: string;
154
+ /** @type {string} */
155
+ type: string;
156
+ /** @type {string} */
157
+ aux_type: string;
158
+ /** @type {Uint8Array} */
159
+ aux_subtype: Uint8Array;
160
+ }
161
+ /**
162
+ * `clli` — content light level, in candela per square metre.
163
+ */
164
+ export class ContentLightLevel {
165
+ static TYPE: string;
166
+ /** @type {string} */
167
+ type: string;
168
+ /** @type {number} */
169
+ max_content_light_level: number;
170
+ /** @type {number} */
171
+ max_pic_average_light_level: number;
172
+ }
173
+ /**
174
+ * `mdcv` — mastering display colour volume. Chromaticities are in units of 0.00002, luminances in
175
+ * units of 0.0001 cd/m².
176
+ */
177
+ export class MasteringDisplayColourVolume {
178
+ static TYPE: string;
179
+ /** @type {string} */
180
+ type: string;
181
+ /** @type {Uint16Array} three (x, y) pairs, in R, G, B order */
182
+ display_primaries: Uint16Array;
183
+ /** @type {number} */
184
+ white_point_x: number;
185
+ /** @type {number} */
186
+ white_point_y: number;
187
+ /** @type {number} */
188
+ max_display_mastering_luminance: number;
189
+ /** @type {number} */
190
+ min_display_mastering_luminance: number;
191
+ }
192
+ /**
193
+ * `cclv` — content colour volume. Its payload is variable and is not interpreted here beyond being
194
+ * carried through unchanged.
195
+ */
196
+ export class ContentColourVolume {
197
+ static TYPE: string;
198
+ /** @type {string} */
199
+ type: string;
200
+ /** @type {Uint8Array} */
201
+ payload: Uint8Array;
202
+ }
203
+ /**
204
+ * `a1op` — selects an AV1 operating point for a layered item.
205
+ */
206
+ export class OperatingPointSelector {
207
+ static TYPE: string;
208
+ /** @type {string} */
209
+ type: string;
210
+ /** @type {number} */
211
+ op_index: number;
212
+ }
213
+ /**
214
+ * `lsel` — selects a layer of a layered item.
215
+ */
216
+ export class LayerSelector {
217
+ static TYPE: string;
218
+ /** @type {string} */
219
+ type: string;
220
+ /** @type {number} */
221
+ layer_id: number;
222
+ }
223
+ /**
224
+ * `a1lx` — byte sizes of the first three spatial layers, so a reader can find a layer without
225
+ * parsing the OBUs.
226
+ */
227
+ export class LayeredImageIndexing {
228
+ static TYPE: string;
229
+ /** @type {string} */
230
+ type: string;
231
+ /** @type {Uint32Array} */
232
+ layer_size: Uint32Array;
233
+ }
234
+ /**
235
+ * Any property box this implementation does not model, kept byte-for-byte so it survives a
236
+ * read-modify-write.
237
+ */
238
+ export class UnknownProperty {
239
+ /** @type {string} */
240
+ type: string;
241
+ /** @type {Uint8Array} */
242
+ payload: Uint8Array;
243
+ }
244
+ //# sourceMappingURL=ItemProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemProperty.d.ts","sourceRoot":"","sources":["../../../../../src/avif/native/heif/ItemProperty.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,OADW,MAAM,CACP;IAEV,qBAAqB;IACrB,QADW,MAAM,CACN;CACd;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,yBAAyB;IACzB,kBADW,UAAU,CACgB;CACxC;AAED;;;GAGG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,SADW,MAAM,CACL;IAEZ,qBAAqB;IACrB,aADW,MAAM,CACD;IAEhB,qBAAqB;IACrB,iBADW,MAAM,CACG;IAEpB,qBAAqB;IACrB,YADW,MAAM,CACF;IAEf,qBAAqB;IACrB,eADW,MAAM,CACC;IAElB,qBAAqB;IACrB,YADW,MAAM,CACF;IAEf,qBAAqB;IACrB,YADW,MAAM,CACF;IAEf,qBAAqB;IACrB,sBADW,MAAM,CACQ;IAEzB,qBAAqB;IACrB,sBADW,MAAM,CACQ;IAEzB,qBAAqB;IACrB,wBADW,MAAM,CACU;IAE3B,sCAAsC;IACtC,sCADW,MAAM,CACyB;IAE1C,yBAAyB;IACzB,aADW,UAAU,CACW;CACnC;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,8CAA8C;IAC9C,aADW,MAAM,CACI;IAErB,2CAA2C;IAC3C,kBADW,MAAM,CACI;IAErB,mDAAmD;IACnD,0BADW,MAAM,CACY;IAE7B,8CAA8C;IAC9C,qBADW,MAAM,CACO;IAExB,gEAAgE;IAChE,iBADW,MAAM,CACG;IAEpB,uEAAuE;IACvE,aADW,UAAU,GAAC,IAAI,CACP;CACtB;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,WADW,MAAM,CACH;IAEd,qBAAqB;IACrB,WADW,MAAM,CACH;CACjB;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,iBADW,MAAM,CACG;IAEpB,qBAAqB;IACrB,mBADW,MAAM,CACK;IAEtB,qBAAqB;IACrB,kBADW,MAAM,CACI;IAErB,qBAAqB;IACrB,oBADW,MAAM,CACM;IAEvB,qBAAqB;IACrB,6BADW,MAAM,CACe;IAEhC,qBAAqB;IACrB,+BADW,MAAM,CACiB;IAElC,qBAAqB;IACrB,2BADW,MAAM,CACa;IAE9B,qBAAqB;IACrB,6BADW,MAAM,CACe;CACnC;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,oEAAoE;IACpE,OADW,MAAM,CACP;CACb;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,gGAAgG;IAChG,MADW,MAAM,CACR;CACZ;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,UADW,MAAM,CACH;IAEd,yBAAyB;IACzB,aADW,UAAU,CACW;CACnC;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,yBADW,MAAM,CACW;IAE5B,qBAAqB;IACrB,6BADW,MAAM,CACe;CACnC;AAED;;;GAGG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,+DAA+D;IAC/D,mBADW,WAAW,CACiB;IAEvC,qBAAqB;IACrB,eADW,MAAM,CACC;IAElB,qBAAqB;IACrB,eADW,MAAM,CACC;IAElB,qBAAqB;IACrB,iCADW,MAAM,CACmB;IAEpC,qBAAqB;IACrB,iCADW,MAAM,CACmB;CACvC;AAED;;;GAGG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,yBAAyB;IACzB,SADW,UAAU,CACO;CAC/B;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,UADW,MAAM,CACJ;CAChB;AAED;;GAEG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,qBAAqB;IACrB,UADW,MAAM,CACJ;CAChB;AAED;;;GAGG;AACH;IACI,oBAAqB;IAErB,qBAAqB;IACrB,MADW,MAAM,CACH;IAEd,0BAA0B;IAC1B,YADW,WAAW,CACU;CACnC;AAED;;;GAGG;AACH;IACI,qBAAqB;IACrB,MADW,MAAM,CACP;IAEV,yBAAyB;IACzB,SADW,UAAU,CACO;CAC/B"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * Item property structs.
3
+ *
4
+ * One class per property box that AVIF defines, each a plain struct: fields and nothing else.
5
+ * Reading is {@link parse_item_property}, writing is {@link write_item_property}; keeping the
6
+ * behaviour out of the structs is what lets the decoder tree be imported without the writer.
7
+ *
8
+ * An unrecognised property becomes an {@link UnknownProperty} carrying its bytes verbatim, so a
9
+ * file can be read, modified and written back without losing properties this implementation does
10
+ * not understand.
11
+ *
12
+ * @see ISO/IEC 23008-12 section 9.3 "Item properties"
13
+ * @see ISO/IEC 23000-22 section 7.3 "AV1 Image Item Properties"
14
+ *
15
+ * @author Alex Goldring
16
+ * @copyright Company Named Limited (c) 2026
17
+ */
18
+
19
+ /**
20
+ * `ispe` — the item's stored dimensions, before any transformative property is applied.
21
+ */
22
+ export class ImageSpatialExtents {
23
+ static TYPE = "ispe";
24
+
25
+ /** @type {string} */
26
+ type = "ispe";
27
+
28
+ /** @type {number} */
29
+ width = 0;
30
+
31
+ /** @type {number} */
32
+ height = 0;
33
+ }
34
+
35
+ /**
36
+ * `pixi` — bit depth per channel of the *decoded* image.
37
+ */
38
+ export class PixelInformation {
39
+ static TYPE = "pixi";
40
+
41
+ /** @type {string} */
42
+ type = "pixi";
43
+
44
+ /** @type {Uint8Array} */
45
+ bits_per_channel = new Uint8Array(0);
46
+ }
47
+
48
+ /**
49
+ * `av1C` — the AV1 codec configuration record. `config_obus` carries the sequence header (and
50
+ * possibly metadata OBUs) that the item's own payload may omit.
51
+ */
52
+ export class Av1Config {
53
+ static TYPE = "av1C";
54
+
55
+ /** @type {string} */
56
+ type = "av1C";
57
+
58
+ /** @type {number} */
59
+ version = 1;
60
+
61
+ /** @type {number} */
62
+ seq_profile = 0;
63
+
64
+ /** @type {number} */
65
+ seq_level_idx_0 = 0;
66
+
67
+ /** @type {number} */
68
+ seq_tier_0 = 0;
69
+
70
+ /** @type {number} */
71
+ high_bitdepth = 0;
72
+
73
+ /** @type {number} */
74
+ twelve_bit = 0;
75
+
76
+ /** @type {number} */
77
+ monochrome = 0;
78
+
79
+ /** @type {number} */
80
+ chroma_subsampling_x = 0;
81
+
82
+ /** @type {number} */
83
+ chroma_subsampling_y = 0;
84
+
85
+ /** @type {number} */
86
+ chroma_sample_position = 0;
87
+
88
+ /** @type {number} `-1` when absent */
89
+ initial_presentation_delay_minus_one = -1;
90
+
91
+ /** @type {Uint8Array} */
92
+ config_obus = new Uint8Array(0);
93
+ }
94
+
95
+ /**
96
+ * `colr` — colour information. Either an `nclx` triple of CICP codes, or an embedded ICC profile.
97
+ */
98
+ export class ColourInformation {
99
+ static TYPE = "colr";
100
+
101
+ /** @type {string} */
102
+ type = "colr";
103
+
104
+ /** @type {string} `nclx`, `rICC` or `prof` */
105
+ colour_type = "nclx";
106
+
107
+ /** @type {number} CICP colour primaries */
108
+ colour_primaries = 2;
109
+
110
+ /** @type {number} CICP transfer characteristics */
111
+ transfer_characteristics = 2;
112
+
113
+ /** @type {number} CICP matrix coefficients */
114
+ matrix_coefficients = 2;
115
+
116
+ /** @type {number} `0` limited (studio) range, `1` full range */
117
+ full_range_flag = 1;
118
+
119
+ /** @type {Uint8Array|null} ICC profile bytes, for `rICC` and `prof` */
120
+ icc_profile = null;
121
+ }
122
+
123
+ /**
124
+ * `pasp` — pixel aspect ratio.
125
+ */
126
+ export class PixelAspectRatio {
127
+ static TYPE = "pasp";
128
+
129
+ /** @type {string} */
130
+ type = "pasp";
131
+
132
+ /** @type {number} */
133
+ h_spacing = 1;
134
+
135
+ /** @type {number} */
136
+ v_spacing = 1;
137
+ }
138
+
139
+ /**
140
+ * `clap` — clean aperture. A crop expressed as rationals, relative to the centre of the image.
141
+ */
142
+ export class CleanAperture {
143
+ static TYPE = "clap";
144
+
145
+ /** @type {string} */
146
+ type = "clap";
147
+
148
+ /** @type {number} */
149
+ width_numerator = 0;
150
+
151
+ /** @type {number} */
152
+ width_denominator = 1;
153
+
154
+ /** @type {number} */
155
+ height_numerator = 0;
156
+
157
+ /** @type {number} */
158
+ height_denominator = 1;
159
+
160
+ /** @type {number} */
161
+ horizontal_offset_numerator = 0;
162
+
163
+ /** @type {number} */
164
+ horizontal_offset_denominator = 1;
165
+
166
+ /** @type {number} */
167
+ vertical_offset_numerator = 0;
168
+
169
+ /** @type {number} */
170
+ vertical_offset_denominator = 1;
171
+ }
172
+
173
+ /**
174
+ * `irot` — rotation, anticlockwise, applied after `clap`.
175
+ */
176
+ export class ImageRotation {
177
+ static TYPE = "irot";
178
+
179
+ /** @type {string} */
180
+ type = "irot";
181
+
182
+ /** @type {number} `0 .. 3`, in units of 90 degrees anticlockwise */
183
+ angle = 0;
184
+ }
185
+
186
+ /**
187
+ * `imir` — mirroring, applied after `clap` and before `irot`.
188
+ */
189
+ export class ImageMirror {
190
+ static TYPE = "imir";
191
+
192
+ /** @type {string} */
193
+ type = "imir";
194
+
195
+ /** @type {number} `0` mirror about a horizontal axis (top-bottom), `1` about a vertical axis */
196
+ axis = 0;
197
+ }
198
+
199
+ /**
200
+ * `auxC` — marks an item as auxiliary, with a URN saying what kind. Alpha and depth both use this.
201
+ */
202
+ export class AuxiliaryTypeProperty {
203
+ static TYPE = "auxC";
204
+
205
+ /** @type {string} */
206
+ type = "auxC";
207
+
208
+ /** @type {string} */
209
+ aux_type = "";
210
+
211
+ /** @type {Uint8Array} */
212
+ aux_subtype = new Uint8Array(0);
213
+ }
214
+
215
+ /**
216
+ * `clli` — content light level, in candela per square metre.
217
+ */
218
+ export class ContentLightLevel {
219
+ static TYPE = "clli";
220
+
221
+ /** @type {string} */
222
+ type = "clli";
223
+
224
+ /** @type {number} */
225
+ max_content_light_level = 0;
226
+
227
+ /** @type {number} */
228
+ max_pic_average_light_level = 0;
229
+ }
230
+
231
+ /**
232
+ * `mdcv` — mastering display colour volume. Chromaticities are in units of 0.00002, luminances in
233
+ * units of 0.0001 cd/m².
234
+ */
235
+ export class MasteringDisplayColourVolume {
236
+ static TYPE = "mdcv";
237
+
238
+ /** @type {string} */
239
+ type = "mdcv";
240
+
241
+ /** @type {Uint16Array} three (x, y) pairs, in R, G, B order */
242
+ display_primaries = new Uint16Array(6);
243
+
244
+ /** @type {number} */
245
+ white_point_x = 0;
246
+
247
+ /** @type {number} */
248
+ white_point_y = 0;
249
+
250
+ /** @type {number} */
251
+ max_display_mastering_luminance = 0;
252
+
253
+ /** @type {number} */
254
+ min_display_mastering_luminance = 0;
255
+ }
256
+
257
+ /**
258
+ * `cclv` — content colour volume. Its payload is variable and is not interpreted here beyond being
259
+ * carried through unchanged.
260
+ */
261
+ export class ContentColourVolume {
262
+ static TYPE = "cclv";
263
+
264
+ /** @type {string} */
265
+ type = "cclv";
266
+
267
+ /** @type {Uint8Array} */
268
+ payload = new Uint8Array(0);
269
+ }
270
+
271
+ /**
272
+ * `a1op` — selects an AV1 operating point for a layered item.
273
+ */
274
+ export class OperatingPointSelector {
275
+ static TYPE = "a1op";
276
+
277
+ /** @type {string} */
278
+ type = "a1op";
279
+
280
+ /** @type {number} */
281
+ op_index = 0;
282
+ }
283
+
284
+ /**
285
+ * `lsel` — selects a layer of a layered item.
286
+ */
287
+ export class LayerSelector {
288
+ static TYPE = "lsel";
289
+
290
+ /** @type {string} */
291
+ type = "lsel";
292
+
293
+ /** @type {number} */
294
+ layer_id = 0;
295
+ }
296
+
297
+ /**
298
+ * `a1lx` — byte sizes of the first three spatial layers, so a reader can find a layer without
299
+ * parsing the OBUs.
300
+ */
301
+ export class LayeredImageIndexing {
302
+ static TYPE = "a1lx";
303
+
304
+ /** @type {string} */
305
+ type = "a1lx";
306
+
307
+ /** @type {Uint32Array} */
308
+ layer_size = new Uint32Array(3);
309
+ }
310
+
311
+ /**
312
+ * Any property box this implementation does not model, kept byte-for-byte so it survives a
313
+ * read-modify-write.
314
+ */
315
+ export class UnknownProperty {
316
+ /** @type {string} */
317
+ type = "";
318
+
319
+ /** @type {Uint8Array} */
320
+ payload = new Uint8Array(0);
321
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Find an item's property of a given type.
3
+ *
4
+ * `ipma` indices are 1-based into `ipco`, so index `n` is `file.properties[n - 1]`. An index past
5
+ * the end of `ipco` is corruption and is skipped rather than throwing, because a file can carry a
6
+ * stale association for a property that was removed and the rest of it is still readable.
7
+ *
8
+ * @param {AvifFile} file
9
+ * @param {AvifItem} item
10
+ * @param {string} type four character property type
11
+ * @returns {object|null}
12
+ *
13
+ * @author Alex Goldring
14
+ * @copyright Company Named Limited (c) 2026
15
+ */
16
+ export function find_item_property(file: AvifFile, item: AvifItem, type: string): object | null;
17
+ //# sourceMappingURL=find_item_property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_item_property.d.ts","sourceRoot":"","sources":["../../../../../src/avif/native/heif/find_item_property.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,yEANW,MAAM,GACJ,MAAM,GAAC,IAAI,CAiBvB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Find an item's property of a given type.
3
+ *
4
+ * `ipma` indices are 1-based into `ipco`, so index `n` is `file.properties[n - 1]`. An index past
5
+ * the end of `ipco` is corruption and is skipped rather than throwing, because a file can carry a
6
+ * stale association for a property that was removed and the rest of it is still readable.
7
+ *
8
+ * @param {AvifFile} file
9
+ * @param {AvifItem} item
10
+ * @param {string} type four character property type
11
+ * @returns {object|null}
12
+ *
13
+ * @author Alex Goldring
14
+ * @copyright Company Named Limited (c) 2026
15
+ */
16
+ export function find_item_property(file, item, type) {
17
+ const indices = item.property_indices;
18
+
19
+ for (let i = 0; i < indices.length; i++) {
20
+ const property = file.properties[indices[i] - 1];
21
+
22
+ if (property !== undefined && property.type === type) {
23
+ return property;
24
+ }
25
+ }
26
+
27
+ return null;
28
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Collect the item IDs that `from_item_id` references with `reference_type`.
3
+ *
4
+ * `iref` may carry several entries with the same type and source — HEIF does not forbid it — so
5
+ * all of them are concatenated rather than the first being returned.
6
+ *
7
+ * @param {AvifFile} file
8
+ * @param {number} from_item_id
9
+ * @param {string} reference_type four character type, e.g. `dimg` or `auxl`
10
+ * @returns {number[]}
11
+ *
12
+ * @author Alex Goldring
13
+ * @copyright Company Named Limited (c) 2026
14
+ */
15
+ export function find_item_references(file: AvifFile, from_item_id: number, reference_type: string): number[];
16
+ //# sourceMappingURL=find_item_references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_item_references.d.ts","sourceRoot":"","sources":["../../../../../src/avif/native/heif/find_item_references.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,mEAPW,MAAM,kBACN,MAAM,GACJ,MAAM,EAAE,CAmBpB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Collect the item IDs that `from_item_id` references with `reference_type`.
3
+ *
4
+ * `iref` may carry several entries with the same type and source — HEIF does not forbid it — so
5
+ * all of them are concatenated rather than the first being returned.
6
+ *
7
+ * @param {AvifFile} file
8
+ * @param {number} from_item_id
9
+ * @param {string} reference_type four character type, e.g. `dimg` or `auxl`
10
+ * @returns {number[]}
11
+ *
12
+ * @author Alex Goldring
13
+ * @copyright Company Named Limited (c) 2026
14
+ */
15
+ export function find_item_references(file, from_item_id, reference_type) {
16
+ const result = [];
17
+
18
+ for (let i = 0; i < file.references.length; i++) {
19
+ const reference = file.references[i];
20
+
21
+ if (reference.from_item_id === from_item_id && reference.reference_type === reference_type) {
22
+ for (let j = 0; j < reference.to_item_ids.length; j++) {
23
+ result.push(reference.to_item_ids[j]);
24
+ }
25
+ }
26
+ }
27
+
28
+ return result;
29
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Collect the item IDs that reference `to_item_id` with `reference_type`.
3
+ *
4
+ * The inverse of {@link find_item_references}, and the direction that matters for auxiliary
5
+ * images: an alpha item declares an `auxl` reference *to* the colour item, so finding the alpha
6
+ * plane for a picture means searching by target.
7
+ *
8
+ * @param {AvifFile} file
9
+ * @param {number} to_item_id
10
+ * @param {string} reference_type
11
+ * @returns {number[]}
12
+ *
13
+ * @author Alex Goldring
14
+ * @copyright Company Named Limited (c) 2026
15
+ */
16
+ export function find_items_referencing(file: AvifFile, to_item_id: number, reference_type: string): number[];
17
+ //# sourceMappingURL=find_items_referencing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_items_referencing.d.ts","sourceRoot":"","sources":["../../../../../src/avif/native/heif/find_items_referencing.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,mEAPW,MAAM,kBACN,MAAM,GACJ,MAAM,EAAE,CAyBpB"}