@holoscript/core 8.0.8 → 8.0.9

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 (462) hide show
  1. package/bin/holoscript.cjs +5 -1
  2. package/dist/GLTFPipeline-L76YTXKA.js +15 -0
  3. package/dist/GLTFPipeline-ZWJN7GI6.cjs +36 -0
  4. package/dist/HoloCompositionParser-K76KTEEE.js +12 -0
  5. package/dist/HoloCompositionParser-UZH6Y4HO.cjs +45 -0
  6. package/dist/HoloScriptCodeParser-2D4ERFUZ.js +6 -0
  7. package/dist/HoloScriptCodeParser-UDRLDA7I.cjs +23 -0
  8. package/dist/HoloScriptPlusParser-FTMCGWXD.js +13 -0
  9. package/dist/HoloScriptPlusParser-LQR5GIKF.cjs +30 -0
  10. package/dist/HoloScriptRuntime-UTRLJI5L.js +12 -0
  11. package/dist/HoloScriptRuntime-YBYXJHJN.cjs +21 -0
  12. package/dist/SceneIRCompiler-63KA3M2F.js +17 -0
  13. package/dist/SceneIRCompiler-KWUFHZ4O.cjs +42 -0
  14. package/dist/{USDZExporter-AUHZODOF.cjs → USDZExporter-ML4UMIGC.cjs} +3 -3
  15. package/dist/{USDZExporter-GXB4AUSG.js → USDZExporter-ZFKLQ76G.js} +3 -3
  16. package/dist/agents/index.cjs +1 -1
  17. package/dist/agents/index.js +1 -1
  18. package/dist/audit/AuditLogger.d.ts +106 -0
  19. package/dist/audit/AuditQueryBuilder.d.ts +79 -0
  20. package/dist/audit/ComplianceReporter.d.ts +90 -0
  21. package/dist/audit/index.d.ts +13 -0
  22. package/dist/{chunk-FGMDMJM7.js → chunk-2BYAUHBO.js} +3 -3
  23. package/dist/{chunk-EDPYCLRC.cjs → chunk-2E6PP5UE.cjs} +83 -59
  24. package/dist/{chunk-GASCWJK5.js → chunk-2EGGAZT3.js} +65 -287
  25. package/dist/{chunk-SIEXCILW.js → chunk-2I3XAGMF.js} +3 -3
  26. package/dist/{chunk-OS533P33.cjs → chunk-2KKOYZYI.cjs} +1074 -1655
  27. package/dist/chunk-2MQKNDNH.js +51 -0
  28. package/dist/{chunk-7DMMMBCY.cjs → chunk-2X3IPCBK.cjs} +10 -10
  29. package/dist/chunk-2ZOTBO25.cjs +202 -0
  30. package/dist/chunk-356N4NPM.cjs +152 -0
  31. package/dist/{chunk-X3GJPRVK.cjs → chunk-36NPLOI4.cjs} +92 -81
  32. package/dist/{chunk-SLU6UPJI.cjs → chunk-37HHY7RH.cjs} +5 -5
  33. package/dist/{chunk-YDPEHCCI.cjs → chunk-3CDDRUER.cjs} +3 -118
  34. package/dist/chunk-3F7ZZWIN.js +1651 -0
  35. package/dist/chunk-3ILD7TKP.cjs +187 -0
  36. package/dist/{chunk-X27QRG4C.cjs → chunk-3IUHTGDD.cjs} +153 -41
  37. package/dist/{chunk-PXNZ6TME.js → chunk-4376VHNJ.js} +60 -36
  38. package/dist/{chunk-YKGPCZEE.cjs → chunk-4FIBOJW6.cjs} +10 -10
  39. package/dist/chunk-4Q7RKQQI.cjs +14195 -0
  40. package/dist/{chunk-YCM6QQRT.cjs → chunk-566ZB4LZ.cjs} +180 -8
  41. package/dist/{chunk-2Y3V22SG.js → chunk-5CURIYGT.js} +3 -3
  42. package/dist/{chunk-QBWNJXNR.js → chunk-5FYMCVBY.js} +5 -5
  43. package/dist/{chunk-ZA34AN3R.js → chunk-5LVFTGKH.js} +841 -12
  44. package/dist/chunk-63AUAIL6.js +48 -0
  45. package/dist/chunk-655FATJU.js +110 -0
  46. package/dist/{chunk-TQ377OLB.cjs → chunk-65S62L4D.cjs} +28 -22
  47. package/dist/chunk-6NTAZN5Z.cjs +502 -0
  48. package/dist/chunk-6TRX6AR2.js +9376 -0
  49. package/dist/chunk-6ZCCLKS2.cjs +51 -0
  50. package/dist/{chunk-MDR235RZ.js → chunk-734OB5SK.js} +721 -8
  51. package/dist/{chunk-Q2Q34NF3.js → chunk-77QI552M.js} +6 -6
  52. package/dist/{chunk-WKX5AMOY.js → chunk-7I74JWPW.js} +3 -3
  53. package/dist/{chunk-5FSKKMR7.cjs → chunk-7IDJDMPU.cjs} +232 -4
  54. package/dist/chunk-7VBKRGIZ.cjs +847 -0
  55. package/dist/{chunk-KCPHASCO.js → chunk-AATYYLYK.js} +5 -5
  56. package/dist/{chunk-WFKVS2K4.cjs → chunk-AUZRKIHQ.cjs} +1101 -55
  57. package/dist/{chunk-DTGBOSEM.cjs → chunk-AWXFEAQL.cjs} +12 -12
  58. package/dist/{chunk-THCK6ECW.js → chunk-B3CWTCK2.js} +231 -3
  59. package/dist/chunk-BCP4E7MD.cjs +997 -0
  60. package/dist/chunk-BG7RPYJP.js +91 -0
  61. package/dist/{chunk-VF257YKO.js → chunk-BP4KTMLY.js} +117 -5
  62. package/dist/{chunk-YN6IETRZ.js → chunk-BQJ3YBF3.js} +6424 -987
  63. package/dist/{chunk-KOUAQL2B.cjs → chunk-CANAL6CT.cjs} +1569 -168
  64. package/dist/{chunk-FDSGHPAK.js → chunk-CBSDJF3B.js} +3 -3
  65. package/dist/{chunk-FEWUHQNM.cjs → chunk-CFVK26P4.cjs} +4 -4
  66. package/dist/{chunk-M7K4LE66.cjs → chunk-CI33NINL.cjs} +4 -4
  67. package/dist/{chunk-2OWDB4FB.js → chunk-CKV5NYAE.js} +6 -6
  68. package/dist/{chunk-LPS5AMQD.cjs → chunk-CM4NHXVO.cjs} +24 -24
  69. package/dist/chunk-D3HSRXYB.js +115 -0
  70. package/dist/{chunk-FNHJRI32.js → chunk-DBH3D2MU.js} +1561 -160
  71. package/dist/{chunk-GW3LKD5C.js → chunk-DJNH4HFW.js} +3 -3
  72. package/dist/{chunk-2GCNOI2U.cjs → chunk-DN6F4DHH.cjs} +9 -3
  73. package/dist/chunk-DQRJ5RJG.js +432 -0
  74. package/dist/{chunk-C7ZBSV2Q.js → chunk-DUG3OQAS.js} +106 -43
  75. package/dist/chunk-ECUYJOJ2.cjs +199 -0
  76. package/dist/chunk-EEMTCAK7.js +182 -0
  77. package/dist/{chunk-3SKLAUDD.cjs → chunk-EI3J6LTW.cjs} +359 -581
  78. package/dist/{chunk-SSSN7VAM.js → chunk-EM2OGPYE.js} +4 -4
  79. package/dist/{chunk-56VOWURB.cjs → chunk-ENZCIQZC.cjs} +522 -453
  80. package/dist/chunk-ESBXUYOC.cjs +836 -0
  81. package/dist/{chunk-L5U4W6JC.js → chunk-ESSEF6U2.js} +4 -4
  82. package/dist/chunk-ET3AN4W3.js +824 -0
  83. package/dist/chunk-EXKSFGSX.cjs +14 -14
  84. package/dist/{chunk-I76GIKN7.cjs → chunk-F3YT6GUF.cjs} +17 -17
  85. package/dist/{chunk-WRWEX5ZF.js → chunk-F75DZBBI.js} +3 -3
  86. package/dist/{chunk-4JGRWHZJ.js → chunk-FG6PYGIZ.js} +12 -6
  87. package/dist/chunk-FGGJQRLZ.js +14 -14
  88. package/dist/{chunk-SXOSDZD6.js → chunk-FWCHPCD4.js} +128 -10
  89. package/dist/{chunk-XW6IXEQH.cjs → chunk-G35CAQ7I.cjs} +5 -5
  90. package/dist/{chunk-7VMGP2FW.js → chunk-G6KACNMO.js} +132 -188
  91. package/dist/{chunk-FJPADH77.cjs → chunk-GAWJJAGT.cjs} +6 -6
  92. package/dist/chunk-GGR7QUKK.cjs +4724 -0
  93. package/dist/chunk-GIBF4BHH.js +14098 -0
  94. package/dist/{chunk-AWB7QYY6.cjs → chunk-GILYQ5VH.cjs} +6 -6
  95. package/dist/{chunk-FWVYAMNW.cjs → chunk-GKFCHGCM.cjs} +4 -4
  96. package/dist/{chunk-Y3ZFVUUU.js → chunk-GLEJ2TLS.js} +3 -3
  97. package/dist/{chunk-3GWWJT7L.js → chunk-GP3OKSKT.js} +13 -13
  98. package/dist/chunk-GTIPOEHN.js +196 -0
  99. package/dist/{chunk-LMJ5EBV7.cjs → chunk-GZPUA2TL.cjs} +16 -15
  100. package/dist/{chunk-IELX2OKI.js → chunk-H4LJ4HEA.js} +3 -115
  101. package/dist/{chunk-ACVWFGBI.cjs → chunk-HCX4SMFK.cjs} +3 -3
  102. package/dist/{chunk-HYNTS5CP.js → chunk-HHRZ6STP.js} +24 -2
  103. package/dist/chunk-HIDEIEFG.js +48 -0
  104. package/dist/{chunk-W6RW64BB.cjs → chunk-HSWBIDZM.cjs} +228 -5
  105. package/dist/{chunk-GSOUNWEL.js → chunk-HVX7QQYK.js} +1035 -1616
  106. package/dist/{chunk-TRCGG42I.cjs → chunk-IFW5IW4L.cjs} +6502 -1019
  107. package/dist/{chunk-F5LKJ6F5.cjs → chunk-IJU6AS67.cjs} +32 -28
  108. package/dist/{chunk-TVANHNJ7.js → chunk-IK6Z2HNC.js} +173 -3
  109. package/dist/{chunk-QGMUTVVH.cjs → chunk-IS7NTKY5.cjs} +20 -20
  110. package/dist/{chunk-YFVQWSNJ.js → chunk-IXWGYWH6.js} +3 -3
  111. package/dist/chunk-J2DAS2PL.js +148 -0
  112. package/dist/chunk-JBQXZIWB.js +148 -0
  113. package/dist/chunk-JBYBMBMW.js +261 -0
  114. package/dist/{chunk-LWUOUCYL.js → chunk-JEJ7TT54.js} +5 -5
  115. package/dist/{chunk-DUCB6LGL.js → chunk-JOTCTHN5.js} +211 -5
  116. package/dist/{chunk-47RUFYKR.js → chunk-K56UVEXV.js} +3 -3
  117. package/dist/{chunk-XSFNHP2E.js → chunk-KB26H447.js} +3 -3
  118. package/dist/{chunk-3NGDZZR4.js → chunk-KEYG7HGY.js} +430 -37
  119. package/dist/{chunk-DY72BMU5.js → chunk-KFVNCW4Q.js} +4 -4
  120. package/dist/chunk-KPGC7SK2.js +192 -0
  121. package/dist/chunk-KROXXBK5.cjs +53 -0
  122. package/dist/{chunk-ZPZAVHXL.cjs → chunk-LB3ZZMKT.cjs} +137 -19
  123. package/dist/chunk-LDYZWNJW.cjs +1654 -0
  124. package/dist/{chunk-ULMSSHCJ.cjs → chunk-LMB555QB.cjs} +405 -38
  125. package/dist/{chunk-CBJY23VL.js → chunk-MD4IVS42.js} +3 -3
  126. package/dist/{chunk-VMLKSV26.js → chunk-MDDWEBCX.js} +226 -3
  127. package/dist/chunk-MUWH4QK5.cjs +94 -0
  128. package/dist/{chunk-T6W3Z3SH.cjs → chunk-N2ILK7BF.cjs} +4 -4
  129. package/dist/{chunk-6EX3I5P4.cjs → chunk-N74QRJGP.cjs} +6 -6
  130. package/dist/chunk-NFFHLX37.cjs +132 -0
  131. package/dist/chunk-NJSYWX7H.js +190 -0
  132. package/dist/{chunk-SH5PPVK7.cjs → chunk-NQN5LFN4.cjs} +165 -221
  133. package/dist/chunk-NTQRFOPP.cjs +56 -0
  134. package/dist/{chunk-YFWRJW4B.js → chunk-NWMJPTVL.js} +51 -55
  135. package/dist/{chunk-63ZGNR2T.cjs → chunk-OC6GV5QH.cjs} +42 -42
  136. package/dist/{chunk-7E7GCQCK.js → chunk-OG3MBHM3.js} +9 -3
  137. package/dist/chunk-OMNHTCS4.cjs +264 -0
  138. package/dist/chunk-OQXB6NNC.cjs +117 -0
  139. package/dist/{chunk-Y57W2CT5.cjs → chunk-OV46CCA2.cjs} +51 -55
  140. package/dist/{chunk-6PRZIHGL.cjs → chunk-OV6HHKLE.cjs} +21 -266
  141. package/dist/{chunk-C37BHB7N.cjs → chunk-P26YYPOO.cjs} +5 -5
  142. package/dist/{chunk-2BZHWUSR.cjs → chunk-P7JEKJTZ.cjs} +16 -16
  143. package/dist/{chunk-NGBXXZLL.cjs → chunk-PDXX5UI4.cjs} +45 -45
  144. package/dist/{chunk-FHQFPYV4.js → chunk-PJFTTSKE.js} +8 -7
  145. package/dist/{chunk-GVFJ6T4S.cjs → chunk-PVODJEJ7.cjs} +721 -8
  146. package/dist/{chunk-ZZ7RO2UQ.js → chunk-Q265VZJ4.js} +3 -3
  147. package/dist/{chunk-E7JP3BS3.cjs → chunk-Q47JEE2C.cjs} +4 -4
  148. package/dist/chunk-QBY7LRN2.js +281 -0
  149. package/dist/{chunk-Z6PMDS4G.js → chunk-QDQWKSU3.js} +1090 -53
  150. package/dist/{chunk-GH6C2QGW.cjs → chunk-QEDMOGF3.cjs} +857 -16
  151. package/dist/{chunk-5WUNN6ZN.cjs → chunk-QHSAVOOL.cjs} +24 -2
  152. package/dist/chunk-QJNCDVYM.cjs +137 -0
  153. package/dist/chunk-QM7FJB5W.js +4717 -0
  154. package/dist/chunk-QQFB4RT2.cjs +448 -0
  155. package/dist/chunk-QSYBHQAD.cjs +196 -0
  156. package/dist/{chunk-UGXHYIWT.cjs → chunk-QUJ3ZB55.cjs} +28 -28
  157. package/dist/{chunk-2YSNA2F2.cjs → chunk-QVJMDVYZ.cjs} +5 -5
  158. package/dist/chunk-RAJMAX6D.js +131 -0
  159. package/dist/{chunk-VVKVQZI6.js → chunk-RAN3ECAS.js} +3 -3
  160. package/dist/chunk-RKGUZBOC.js +79 -0
  161. package/dist/{chunk-HLFDZ35S.cjs → chunk-RRQIAJLQ.cjs} +8 -8
  162. package/dist/{chunk-PABONWKI.js → chunk-RXQNRZ5F.js} +3 -3
  163. package/dist/{chunk-7ZHYEITD.cjs → chunk-S4O7CFHQ.cjs} +10 -11
  164. package/dist/chunk-SE7ANBGN.js +128 -0
  165. package/dist/{chunk-X2AVEAZM.cjs → chunk-SJIRCTIS.cjs} +176 -2
  166. package/dist/{chunk-WXQ57LAO.js → chunk-SQXAZHDG.js} +4 -4
  167. package/dist/chunk-SR73L5ZP.cjs +84 -0
  168. package/dist/{chunk-OABEO6HH.js → chunk-SZOLTWWD.js} +2349 -214
  169. package/dist/{chunk-5JEU52DW.js → chunk-TPZ3BN2D.js} +3 -3
  170. package/dist/{chunk-QFU53KRH.js → chunk-TSTFYGGX.js} +4 -5
  171. package/dist/{chunk-EBS32AJI.cjs → chunk-TZCFKZ6Z.cjs} +5 -5
  172. package/dist/chunk-UCVZXQ63.js +724 -0
  173. package/dist/chunk-UGQ3QNV6.js +992 -0
  174. package/dist/chunk-UNMVGZVW.js +142 -0
  175. package/dist/{chunk-TEVX443G.js → chunk-UTUD6GJI.js} +178 -6
  176. package/dist/chunk-UXBYA7DV.cjs +155 -0
  177. package/dist/chunk-V6GXFSK7.cjs +443 -0
  178. package/dist/chunk-VHORVGCG.cjs +761 -0
  179. package/dist/{chunk-B4EKV6HQ.js → chunk-VKCTYLDN.js} +500 -442
  180. package/dist/{chunk-O3MGZDCT.cjs → chunk-VTEXJOSD.cjs} +63 -63
  181. package/dist/chunk-VVAAZITA.cjs +287 -0
  182. package/dist/{chunk-V7AKE5VT.cjs → chunk-W2GA3EQB.cjs} +435 -42
  183. package/dist/chunk-W4GABFCR.js +37 -0
  184. package/dist/chunk-WKEK4NCA.js +490 -0
  185. package/dist/{chunk-5A4TCHOC.cjs → chunk-WNYXT4TE.cjs} +4 -4
  186. package/dist/{chunk-S762UEV5.js → chunk-WTH23ISI.js} +6 -6
  187. package/dist/{chunk-BTKZGHAV.js → chunk-WWNCM473.js} +10 -6
  188. package/dist/{chunk-7X5PNIQJ.js → chunk-X3YFRH6K.js} +27 -25
  189. package/dist/{chunk-4YNYPHH3.cjs → chunk-X75H75UY.cjs} +2351 -213
  190. package/dist/{chunk-LYJJI7ZK.cjs → chunk-XCUDDFKC.cjs} +216 -9
  191. package/dist/chunk-YAO4HPJL.cjs +120 -0
  192. package/dist/chunk-YKY2JBER.cjs +9443 -0
  193. package/dist/chunk-YP5CHEYU.cjs +154 -0
  194. package/dist/{chunk-WRNEH5MO.js → chunk-YW3I2FQL.js} +18 -7
  195. package/dist/{chunk-BRNUPDHJ.js → chunk-Z557DVYN.js} +386 -19
  196. package/dist/{chunk-VSACG2AR.js → chunk-Z6LZUYZF.js} +21 -264
  197. package/dist/chunk-ZHPMP447.cjs +43 -0
  198. package/dist/{chunk-LODTHGST.cjs → chunk-ZK7KX5CD.cjs} +133 -70
  199. package/dist/{chunk-CCPSNT6B.cjs → chunk-ZRPALBQB.cjs} +5 -5
  200. package/dist/chunk-ZVFHPMC5.js +824 -0
  201. package/dist/chunk-ZVQMKUGJ.js +443 -0
  202. package/dist/cli/holoscript-runner.cjs +86 -48
  203. package/dist/cli/holoscript-runner.js +54 -16
  204. package/dist/codebase/index.cjs +1 -1
  205. package/dist/codebase/index.js +1 -1
  206. package/dist/compiler/agent-inference.cjs +11 -11
  207. package/dist/compiler/agent-inference.js +9 -6
  208. package/dist/compiler/android-xr.cjs +13 -12
  209. package/dist/compiler/android-xr.js +11 -10
  210. package/dist/compiler/android.cjs +12 -12
  211. package/dist/compiler/android.js +10 -10
  212. package/dist/compiler/business-quest.cjs +10 -10
  213. package/dist/compiler/business-quest.js +2 -2
  214. package/dist/compiler/coco.cjs +1 -1
  215. package/dist/compiler/coco.js +1 -1
  216. package/dist/compiler/context.cjs +9 -9
  217. package/dist/compiler/context.js +6 -6
  218. package/dist/compiler/daimon-seed.cjs +36 -0
  219. package/dist/compiler/daimon-seed.js +12 -0
  220. package/dist/compiler/domain-block-utils.cjs +205 -156
  221. package/dist/compiler/domain-block-utils.js +8 -7
  222. package/dist/compiler/dtdl.cjs +10 -10
  223. package/dist/compiler/dtdl.js +7 -7
  224. package/dist/compiler/gltf-pipeline.cjs +9 -9
  225. package/dist/compiler/gltf-pipeline.js +2 -2
  226. package/dist/compiler/godot.cjs +10 -9
  227. package/dist/compiler/godot.js +9 -8
  228. package/dist/compiler/incremental.cjs +11 -11
  229. package/dist/compiler/incremental.js +6 -6
  230. package/dist/compiler/index.cjs +2585 -3273
  231. package/dist/compiler/index.d.ts +149 -35
  232. package/dist/compiler/index.js +2197 -3102
  233. package/dist/compiler/ios.cjs +11 -11
  234. package/dist/compiler/ios.js +9 -9
  235. package/dist/compiler/llm-provider-capabilities.cjs +9 -9
  236. package/dist/compiler/llm-provider-capabilities.js +6 -6
  237. package/dist/compiler/nodetoy.cjs +1 -1
  238. package/dist/compiler/nodetoy.js +1 -1
  239. package/dist/compiler/openxr.cjs +11 -10
  240. package/dist/compiler/openxr.js +10 -9
  241. package/dist/compiler/remotion.cjs +1 -1
  242. package/dist/compiler/remotion.js +1 -1
  243. package/dist/compiler/reproducibility.cjs +1 -1
  244. package/dist/compiler/reproducibility.js +1 -1
  245. package/dist/compiler/sdf.cjs +11 -10
  246. package/dist/compiler/sdf.js +9 -8
  247. package/dist/compiler/semantic-scene.cjs +7 -7
  248. package/dist/compiler/semantic-scene.js +2 -2
  249. package/dist/compiler/state.cjs +9 -9
  250. package/dist/compiler/state.js +7 -7
  251. package/dist/compiler/trait-composition.cjs +11 -11
  252. package/dist/compiler/trait-composition.js +7 -7
  253. package/dist/compiler/traits/ProvenanceSemiring.d.ts +167 -0
  254. package/dist/compiler/traits/Semiring.d.ts +26 -0
  255. package/dist/compiler/unity.cjs +11 -10
  256. package/dist/compiler/unity.js +10 -9
  257. package/dist/compiler/unreal.cjs +12 -11
  258. package/dist/compiler/unreal.js +10 -9
  259. package/dist/compiler/urdf.cjs +18 -17
  260. package/dist/compiler/urdf.js +9 -8
  261. package/dist/compiler/usd-physics.cjs +11 -10
  262. package/dist/compiler/usd-physics.js +8 -7
  263. package/dist/compiler/visionos.cjs +11 -10
  264. package/dist/compiler/visionos.js +10 -9
  265. package/dist/compiler/vrchat.cjs +11 -10
  266. package/dist/compiler/vrchat.js +9 -8
  267. package/dist/compiler/wasm.cjs +14 -13
  268. package/dist/compiler/wasm.js +9 -8
  269. package/dist/compiler/webgpu.cjs +10 -9
  270. package/dist/compiler/webgpu.js +9 -8
  271. package/dist/constants.cjs +398 -0
  272. package/dist/constants.js +9 -0
  273. package/dist/coordinators/index.cjs +4 -1
  274. package/dist/coordinators/index.js +4 -1
  275. package/dist/debugger.cjs +11 -9
  276. package/dist/debugger.js +9 -7
  277. package/dist/{dist-ACXG6IH5.cjs → dist-GRMOP2UL.cjs} +341 -65
  278. package/dist/{dist-VD4L6V7Q.js → dist-ZBUKU2JG.js} +333 -63
  279. package/dist/entries/interop.cjs +23 -23
  280. package/dist/entries/interop.js +3 -3
  281. package/dist/entries/scripting.cjs +12 -11
  282. package/dist/entries/scripting.js +8 -7
  283. package/dist/evolution/index.cjs +66 -0
  284. package/dist/evolution/index.d.ts +162 -0
  285. package/dist/evolution/index.js +17 -0
  286. package/dist/hololand/index.cjs +41 -37
  287. package/dist/hololand/index.js +3 -3
  288. package/dist/index.cjs +12394 -3224
  289. package/dist/index.d.ts +260 -18
  290. package/dist/index.js +10755 -2182
  291. package/dist/keyword-registry/PluginKeywordRegistry.d.ts +138 -0
  292. package/dist/keyword-registry/index.cjs +29 -0
  293. package/dist/keyword-registry/index.d.ts +1 -0
  294. package/dist/keyword-registry/index.js +4 -0
  295. package/dist/math/tropical-spmv.cjs +11 -11
  296. package/dist/math/tropical-spmv.d.ts +1 -0
  297. package/dist/math/tropical-spmv.js +2 -2
  298. package/dist/math/tropicalSpmv.d.ts +43 -0
  299. package/dist/math/vec3.cjs +1 -1
  300. package/dist/math/vec3.js +1 -1
  301. package/dist/matter/StagedMatter.d.ts +82 -0
  302. package/dist/matter/index.cjs +17 -0
  303. package/dist/matter/index.d.ts +1 -0
  304. package/dist/matter/index.js +4 -0
  305. package/dist/{ml-dsa-Z7JDKW4L.js → ml-dsa-J6VKVT4K.js} +3 -3
  306. package/dist/{ml-dsa-FSKBTE3W.cjs → ml-dsa-MTIK4ZUQ.cjs} +23 -23
  307. package/dist/paper-0c-spike/index.cjs +1 -1
  308. package/dist/paper-0c-spike/index.js +1 -1
  309. package/dist/parameter-envelope/ParameterEnvelope.d.ts +128 -0
  310. package/dist/parameter-envelope/index.cjs +17 -0
  311. package/dist/parameter-envelope/index.d.ts +2 -0
  312. package/dist/parameter-envelope/index.js +4 -0
  313. package/dist/parser/HoloCompositionTypes.d.ts +2013 -0
  314. package/dist/parser/PipelineParser.d.ts +162 -0
  315. package/dist/parser.cjs +36 -20
  316. package/dist/parser.js +13 -9
  317. package/dist/plugin-manifest/ManifestAutoLoader.d.ts +35 -0
  318. package/dist/plugin-manifest/PluginManifest.d.ts +156 -0
  319. package/dist/plugin-manifest/index.cjs +25 -0
  320. package/dist/plugin-manifest/index.d.ts +2 -0
  321. package/dist/plugin-manifest/index.js +4 -0
  322. package/dist/plugin-solver-contract/PluginSolverContract.d.ts +288 -0
  323. package/dist/plugin-solver-contract/index.cjs +41 -0
  324. package/dist/plugin-solver-contract/index.d.ts +1 -0
  325. package/dist/plugin-solver-contract/index.js +4 -0
  326. package/dist/policy/ContentPolicyGate.d.ts +51 -0
  327. package/dist/policy/PolicyPack.d.ts +120 -0
  328. package/dist/policy/blocklist.d.ts +32 -0
  329. package/dist/policy/defaults.d.ts +44 -0
  330. package/dist/policy/index.cjs +106 -0
  331. package/dist/policy/index.d.ts +17 -0
  332. package/dist/policy/index.js +5 -0
  333. package/dist/policy/jsonLogic.d.ts +31 -0
  334. package/dist/policy/types.d.ts +174 -0
  335. package/dist/proof-composition/ProofCompositionLaw.d.ts +93 -0
  336. package/dist/proof-composition/index.cjs +25 -0
  337. package/dist/proof-composition/index.d.ts +1 -0
  338. package/dist/proof-composition/index.js +4 -0
  339. package/dist/receipts/hash-policy.d.ts +85 -0
  340. package/dist/reconstruction/index.cjs +75 -47
  341. package/dist/reconstruction/index.js +5 -5
  342. package/dist/runtime/plugin-trait-registrar.d.ts +36 -0
  343. package/dist/runtime.cjs +81 -79
  344. package/dist/runtime.js +9 -7
  345. package/dist/scene-presets-EDKYZ5GW.js +4 -0
  346. package/dist/scene-presets-NCW2CFRS.cjs +17 -0
  347. package/dist/self-improvement/index.cjs +1 -1
  348. package/dist/self-improvement/index.js +1 -1
  349. package/dist/{src-PT2FERDV.cjs → src-G3D7ZATQ.cjs} +545 -21
  350. package/dist/{src-J6CM4AUR.js → src-UXYA7HM6.js} +539 -16
  351. package/dist/storage/index.cjs +10 -10
  352. package/dist/storage/index.js +3 -3
  353. package/dist/testing.cjs +1 -1
  354. package/dist/testing.js +1 -1
  355. package/dist/tools/index.cjs +3631 -0
  356. package/dist/tools/index.js +3581 -0
  357. package/dist/traitDocs/traitDocs.cjs +9 -9
  358. package/dist/traitDocs/traitDocs.d.ts +1 -0
  359. package/dist/traitDocs/traitDocs.js +3 -3
  360. package/dist/traits/ControlLoopTrait.d.ts +154 -0
  361. package/dist/traits/KinematicChainTrait.d.ts +116 -0
  362. package/dist/traits/SensorSamplingTrait.d.ts +154 -0
  363. package/dist/traits/TraitTypes.d.ts +270 -0
  364. package/dist/traits/TransactionTrait.d.ts +121 -0
  365. package/dist/traits/botanical-lotus.cjs +54 -50
  366. package/dist/traits/botanical-lotus.js +2 -5
  367. package/dist/traits/control-loop.cjs +21 -0
  368. package/dist/traits/control-loop.d.ts +1 -0
  369. package/dist/traits/control-loop.js +4 -0
  370. package/dist/traits/engines/cloth-verlet.d.ts +65 -0
  371. package/dist/traits/engines/index.cjs +19 -19
  372. package/dist/traits/engines/index.d.ts +15 -275
  373. package/dist/traits/engines/index.js +3 -3
  374. package/dist/traits/engines/motion-data-schema.d.ts +119 -0
  375. package/dist/traits/engines/motion-matching.d.ts +102 -0
  376. package/dist/traits/engines/noise.d.ts +25 -0
  377. package/dist/traits/engines/onnx-adapter.d.ts +173 -0
  378. package/dist/traits/engines/onnx-motion-matching.d.ts +163 -0
  379. package/dist/traits/engines/pfnn-network.d.ts +92 -0
  380. package/dist/traits/engines/synthetic-walk-cycle.d.ts +38 -0
  381. package/dist/traits/engines/tensor-ops.d.ts +15 -0
  382. package/dist/traits/index.cjs +2789 -1259
  383. package/dist/traits/index.d.ts +35 -0
  384. package/dist/traits/index.js +1692 -411
  385. package/dist/traits/kinematic-chain.cjs +25 -0
  386. package/dist/traits/kinematic-chain.d.ts +1 -0
  387. package/dist/traits/kinematic-chain.js +4 -0
  388. package/dist/traits/sensor-sampling.cjs +33 -0
  389. package/dist/traits/sensor-sampling.d.ts +1 -0
  390. package/dist/traits/sensor-sampling.js +4 -0
  391. package/dist/traits/simulation-solver-factory.cjs +1 -1
  392. package/dist/traits/simulation-solver-factory.js +1 -1
  393. package/dist/traits/transaction.cjs +29 -0
  394. package/dist/traits/transaction.d.ts +1 -0
  395. package/dist/traits/transaction.js +4 -0
  396. package/dist/traits/webcam-gaze.cjs +1 -1
  397. package/dist/traits/webcam-gaze.js +1 -1
  398. package/dist/type-checker.cjs +7 -6
  399. package/dist/type-checker.js +5 -4
  400. package/dist/types/AdvancedTypeSystem.d.ts +489 -0
  401. package/dist/types/HoloScriptPlus.d.ts +810 -0
  402. package/dist/types/base.d.ts +248 -0
  403. package/dist/types.d.ts +799 -0
  404. package/dist/world/index.cjs +3 -4
  405. package/dist/world/index.js +3 -4
  406. package/dist/world-model/index.cjs +1 -1
  407. package/dist/world-model/index.js +1 -1
  408. package/dist/wot/index.cjs +1 -1
  409. package/dist/wot/index.js +1 -1
  410. package/package.json +113 -46
  411. package/dist/GLTFPipeline-3EJLL3TS.cjs +0 -38
  412. package/dist/GLTFPipeline-3OWJV2VK.js +0 -17
  413. package/dist/HoloScriptPlusParser-ADWRY5OS.cjs +0 -698
  414. package/dist/HoloScriptPlusParser-JLJDXHSC.js +0 -693
  415. package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +0 -27
  416. package/dist/HoloScriptPlusParser-WENAFEFV.js +0 -10
  417. package/dist/HoloScriptRuntime-GGRVEU4T.cjs +0 -19
  418. package/dist/HoloScriptRuntime-GJK6VJPH.js +0 -10
  419. package/dist/chunk-22Q5A6RV.js +0 -979
  420. package/dist/chunk-4C57PR42.js +0 -468
  421. package/dist/chunk-4W5G5QVL.cjs +0 -847
  422. package/dist/chunk-5ET6L4NS.js +0 -487
  423. package/dist/chunk-C4GSLCHE.cjs +0 -7153
  424. package/dist/chunk-F2G6CWFT.js +0 -7089
  425. package/dist/chunk-G6PNEASF.cjs +0 -814
  426. package/dist/chunk-GTA4Q3A3.js +0 -1491
  427. package/dist/chunk-HCCQLAA4.cjs +0 -74
  428. package/dist/chunk-HFSVMKM3.cjs +0 -72
  429. package/dist/chunk-KAIVDEIG.cjs +0 -4539
  430. package/dist/chunk-KQU64CIX.cjs +0 -1508
  431. package/dist/chunk-MSYSQ2AJ.js +0 -4533
  432. package/dist/chunk-NHJLP37F.js +0 -70
  433. package/dist/chunk-NHYRRAGI.cjs +0 -490
  434. package/dist/chunk-OIQYIIO3.cjs +0 -473
  435. package/dist/chunk-OL46QLBJ.js +0 -61
  436. package/dist/chunk-SKZPC5AG.cjs +0 -984
  437. package/dist/chunk-SLHLXUMO.js +0 -445
  438. package/dist/chunk-UOIGFQXC.cjs +0 -9750
  439. package/dist/chunk-UOL6Y5TD.cjs +0 -759
  440. package/dist/chunk-UVFI7XIR.cjs +0 -452
  441. package/dist/chunk-VEPGBETF.js +0 -844
  442. package/dist/chunk-XQ5MWMP2.js +0 -756
  443. package/dist/chunk-XT6JY5W5.js +0 -9684
  444. package/dist/chunk-YRRAUB35.js +0 -811
  445. package/dist/compiler/GasOptimizationAnalyzer.d.ts +0 -73
  446. package/dist/compiler/NFTMarketplaceCompiler.d.ts +0 -23
  447. package/dist/compiler/ar.cjs +0 -23
  448. package/dist/compiler/ar.js +0 -11
  449. package/dist/compiler/babylon.cjs +0 -21
  450. package/dist/compiler/babylon.js +0 -15
  451. package/dist/compiler/multi-layer.cjs +0 -24
  452. package/dist/compiler/multi-layer.js +0 -15
  453. package/dist/compiler/playcanvas.cjs +0 -19
  454. package/dist/compiler/playcanvas.js +0 -13
  455. package/dist/compiler/r3f.cjs +0 -39
  456. package/dist/compiler/r3f.d.ts +0 -22
  457. package/dist/compiler/r3f.js +0 -17
  458. package/dist/compiler/vrr.cjs +0 -24
  459. package/dist/compiler/vrr.js +0 -12
  460. package/dist/parser/NFTMarketplaceTypes.d.ts +0 -191
  461. package/dist/playwright-3AT3AKTV.cjs +0 -98673
  462. package/dist/playwright-VZPDVUEQ.js +0 -98660
@@ -0,0 +1,761 @@
1
+ 'use strict';
2
+
3
+ var chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
4
+
5
+ // src/color/perceptualColor.ts
6
+ function srgbToLinearChannel(c) {
7
+ return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
8
+ }
9
+ function linearToSrgbChannel(c) {
10
+ return c <= 31308e-7 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055;
11
+ }
12
+ function srgbToLinear([r, g, b]) {
13
+ return [srgbToLinearChannel(r), srgbToLinearChannel(g), srgbToLinearChannel(b)];
14
+ }
15
+ function linearToSrgb([r, g, b]) {
16
+ return [linearToSrgbChannel(r), linearToSrgbChannel(g), linearToSrgbChannel(b)];
17
+ }
18
+ function linearRgbToXyz([r, g, b]) {
19
+ const x = (0.4124564 * r + 0.3575761 * g + 0.1804375 * b) * 100;
20
+ const y = (0.2126729 * r + 0.7151522 * g + 0.072175 * b) * 100;
21
+ const z = (0.0193339 * r + 0.119192 * g + 0.9503041 * b) * 100;
22
+ return [x, y, z];
23
+ }
24
+ function xyzToLinearRgb([x, y, z]) {
25
+ const xs = x / 100;
26
+ const ys = y / 100;
27
+ const zs = z / 100;
28
+ const r = 3.2404542 * xs - 1.5371385 * ys - 0.4985314 * zs;
29
+ const g = -0.969266 * xs + 1.8760108 * ys + 0.041556 * zs;
30
+ const b = 0.0556434 * xs - 0.2040259 * ys + 1.0572252 * zs;
31
+ return [r, g, b];
32
+ }
33
+ function labF(t) {
34
+ return t > LAB_EPS ? Math.cbrt(t) : (LAB_KAPPA * t + 16) / 116;
35
+ }
36
+ function labFInv(t) {
37
+ const t3 = t * t * t;
38
+ return t3 > LAB_EPS ? t3 : (116 * t - 16) / LAB_KAPPA;
39
+ }
40
+ function xyzToLab([x, y, z]) {
41
+ const fx = labF(x / Xn);
42
+ const fy = labF(y / Yn);
43
+ const fz = labF(z / Zn);
44
+ return { L: 116 * fy - 16, a: 500 * (fx - fy), b: 200 * (fy - fz) };
45
+ }
46
+ function labToXyz({ L, a, b }) {
47
+ const fy = (L + 16) / 116;
48
+ const fx = fy + a / 500;
49
+ const fz = fy - b / 200;
50
+ return [Xn * labFInv(fx), Yn * labFInv(fy), Zn * labFInv(fz)];
51
+ }
52
+ function srgbToLab(rgb) {
53
+ return xyzToLab(linearRgbToXyz(srgbToLinear(rgb)));
54
+ }
55
+ function labToSrgb(lab) {
56
+ return linearToSrgb(xyzToLinearRgb(labToXyz(lab)));
57
+ }
58
+ function deltaE2000(lab1, lab2) {
59
+ const { L: L1, a: a1, b: b1 } = lab1;
60
+ const { L: L2, a: a2, b: b2 } = lab2;
61
+ const C1 = Math.hypot(a1, b1);
62
+ const C2 = Math.hypot(a2, b2);
63
+ const Cbar = (C1 + C2) / 2;
64
+ const Cbar7 = Math.pow(Cbar, 7);
65
+ const G = 0.5 * (1 - Math.sqrt(Cbar7 / (Cbar7 + 6103515625)));
66
+ const a1p = (1 + G) * a1;
67
+ const a2p = (1 + G) * a2;
68
+ const C1p = Math.hypot(a1p, b1);
69
+ const C2p = Math.hypot(a2p, b2);
70
+ const h1p = hueAngleDeg(a1p, b1);
71
+ const h2p = hueAngleDeg(a2p, b2);
72
+ const dLp = L2 - L1;
73
+ const dCp = C2p - C1p;
74
+ let dhp;
75
+ if (C1p * C2p === 0) {
76
+ dhp = 0;
77
+ } else if (Math.abs(h2p - h1p) <= 180) {
78
+ dhp = h2p - h1p;
79
+ } else if (h2p - h1p > 180) {
80
+ dhp = h2p - h1p - 360;
81
+ } else {
82
+ dhp = h2p - h1p + 360;
83
+ }
84
+ const dHp = 2 * Math.sqrt(C1p * C2p) * Math.sin(dhp * DEG2RAD / 2);
85
+ const Lbarp = (L1 + L2) / 2;
86
+ const Cbarp = (C1p + C2p) / 2;
87
+ let hbarp;
88
+ if (C1p * C2p === 0) {
89
+ hbarp = h1p + h2p;
90
+ } else if (Math.abs(h1p - h2p) <= 180) {
91
+ hbarp = (h1p + h2p) / 2;
92
+ } else if (h1p + h2p < 360) {
93
+ hbarp = (h1p + h2p + 360) / 2;
94
+ } else {
95
+ hbarp = (h1p + h2p - 360) / 2;
96
+ }
97
+ const T = 1 - 0.17 * Math.cos((hbarp - 30) * DEG2RAD) + 0.24 * Math.cos(2 * hbarp * DEG2RAD) + 0.32 * Math.cos((3 * hbarp + 6) * DEG2RAD) - 0.2 * Math.cos((4 * hbarp - 63) * DEG2RAD);
98
+ const dTheta = 30 * Math.exp(-(((hbarp - 275) / 25) ** 2));
99
+ const Cbarp7 = Math.pow(Cbarp, 7);
100
+ const Rc = 2 * Math.sqrt(Cbarp7 / (Cbarp7 + 6103515625));
101
+ const Lbarp50sq = (Lbarp - 50) ** 2;
102
+ const Sl = 1 + 0.015 * Lbarp50sq / Math.sqrt(20 + Lbarp50sq);
103
+ const Sc = 1 + 0.045 * Cbarp;
104
+ const Sh = 1 + 0.015 * Cbarp * T;
105
+ const Rt = -Math.sin(2 * dTheta * DEG2RAD) * Rc;
106
+ const dL = dLp / Sl;
107
+ const dC = dCp / Sc;
108
+ const dH = dHp / Sh;
109
+ return Math.sqrt(dL * dL + dC * dC + dH * dH + Rt * dC * dH);
110
+ }
111
+ function hueAngleDeg(a, b) {
112
+ if (a === 0 && b === 0) return 0;
113
+ const deg = Math.atan2(b, a) * RAD2DEG;
114
+ return deg >= 0 ? deg : deg + 360;
115
+ }
116
+ function dampen(x, tau = exports.DEFAULT_DAMPENING) {
117
+ if (!isFinite(tau)) return x;
118
+ return tau * Math.log1p(x / tau);
119
+ }
120
+ function arcLengthDeltaE2000(A, B, steps = 24) {
121
+ const n = Math.max(1, Math.floor(steps));
122
+ let total = 0;
123
+ let prev = A;
124
+ for (let i = 1; i <= n; i++) {
125
+ const t = i / n;
126
+ const cur = {
127
+ L: A.L + (B.L - A.L) * t,
128
+ a: A.a + (B.a - A.a) * t,
129
+ b: A.b + (B.b - A.b) * t
130
+ };
131
+ total += deltaE2000(prev, cur);
132
+ prev = cur;
133
+ }
134
+ return total;
135
+ }
136
+ function offsetLab(c, offsets) {
137
+ return { L: c.L + offsets[0], a: c.a + offsets[1], b: c.b + offsets[2] };
138
+ }
139
+ function squaredDeltaAtOffset(center, offsets) {
140
+ const d = deltaE2000(center, offsetLab(center, offsets));
141
+ return d * d;
142
+ }
143
+ function clampLabPoint(c) {
144
+ return {
145
+ L: Math.min(100, Math.max(0, c.L)),
146
+ a: Math.min(200, Math.max(-200, c.a)),
147
+ b: Math.min(200, Math.max(-200, c.b))
148
+ };
149
+ }
150
+ function interpolateLab(A, B, t) {
151
+ return {
152
+ L: A.L + (B.L - A.L) * t,
153
+ a: A.a + (B.a - A.a) * t,
154
+ b: A.b + (B.b - A.b) * t
155
+ };
156
+ }
157
+ function labDelta(A, B) {
158
+ return [B.L - A.L, B.a - A.a, B.b - A.b];
159
+ }
160
+ function metricTensorDeltaE2000(center, options = {}) {
161
+ const epsilon = Math.max(Math.abs(options.epsilon ?? 1e-3), 1e-9);
162
+ const regularization = Math.max(0, options.regularization ?? 1e-12);
163
+ const epsilonSq = epsilon * epsilon;
164
+ const metric = [
165
+ [0, 0, 0],
166
+ [0, 0, 0],
167
+ [0, 0, 0]
168
+ ];
169
+ for (let i = 0; i < 3; i++) {
170
+ const plus = [0, 0, 0];
171
+ const minus = [0, 0, 0];
172
+ plus[i] = epsilon;
173
+ minus[i] = -epsilon;
174
+ metric[i][i] = (squaredDeltaAtOffset(center, plus) + squaredDeltaAtOffset(center, minus)) / (2 * epsilonSq) + regularization;
175
+ }
176
+ for (let i = 0; i < 3; i++) {
177
+ for (let j = i + 1; j < 3; j++) {
178
+ const pp = [0, 0, 0];
179
+ const pm = [0, 0, 0];
180
+ const mp = [0, 0, 0];
181
+ const mm = [0, 0, 0];
182
+ pp[i] = epsilon;
183
+ pp[j] = epsilon;
184
+ pm[i] = epsilon;
185
+ pm[j] = -epsilon;
186
+ mp[i] = -epsilon;
187
+ mp[j] = epsilon;
188
+ mm[i] = -epsilon;
189
+ mm[j] = -epsilon;
190
+ const gij = (squaredDeltaAtOffset(center, pp) + squaredDeltaAtOffset(center, mm) - squaredDeltaAtOffset(center, pm) - squaredDeltaAtOffset(center, mp)) / (8 * epsilonSq);
191
+ metric[i][j] = gij;
192
+ metric[j][i] = gij;
193
+ }
194
+ }
195
+ return metric;
196
+ }
197
+ function labMetricQuadraticForm(vector, metric) {
198
+ let total = 0;
199
+ for (let i = 0; i < 3; i++) {
200
+ for (let j = 0; j < 3; j++) total += vector[i] * metric[i][j] * vector[j];
201
+ }
202
+ return total;
203
+ }
204
+ function metricTensorArcLengthDeltaE2000(A, B, steps = 24, options = {}) {
205
+ const n = Math.max(1, Math.floor(steps));
206
+ let total = 0;
207
+ let prev = A;
208
+ for (let i = 1; i <= n; i++) {
209
+ const cur = interpolateLab(A, B, i / n);
210
+ const mid = interpolateLab(prev, cur, 0.5);
211
+ const metric = metricTensorDeltaE2000(mid, options);
212
+ total += Math.sqrt(Math.max(0, labMetricQuadraticForm(labDelta(prev, cur), metric)));
213
+ prev = cur;
214
+ }
215
+ return total;
216
+ }
217
+ function metricSegmentEnergy(A, B, options = {}) {
218
+ const mid = interpolateLab(A, B, 0.5);
219
+ const metric = metricTensorDeltaE2000(mid, options);
220
+ return Math.max(0, labMetricQuadraticForm(labDelta(A, B), metric));
221
+ }
222
+ function metricPathEnergy(path, options) {
223
+ let total = 0;
224
+ for (let i = 1; i < path.length; i++) total += metricSegmentEnergy(path[i - 1], path[i], options);
225
+ return total;
226
+ }
227
+ function metricPathLength(path, options) {
228
+ let total = 0;
229
+ for (let i = 1; i < path.length; i++) {
230
+ total += Math.sqrt(metricSegmentEnergy(path[i - 1], path[i], options));
231
+ }
232
+ return total;
233
+ }
234
+ function withCoordinate(c, coordinate, value) {
235
+ return coordinate === "L" ? { ...c, L: value } : coordinate === "a" ? { ...c, a: value } : { ...c, b: value };
236
+ }
237
+ function perturbPathCoordinate(path, index, coordinate, delta, clamp) {
238
+ const next = path.slice();
239
+ const point = path[index];
240
+ const value = coordinate === "L" ? point.L : coordinate === "a" ? point.a : point.b;
241
+ const moved = withCoordinate(point, coordinate, value + delta);
242
+ next[index] = clamp ? clampLabPoint(moved) : moved;
243
+ return next;
244
+ }
245
+ function solveDeltaE2000Geodesic(A, B, options = {}) {
246
+ const segments = Math.max(1, Math.floor(options.segments ?? 12));
247
+ const iterations = Math.max(0, Math.floor(options.iterations ?? 40));
248
+ const stepSize = Math.max(0, options.stepSize ?? 0.02);
249
+ const gradientStep = Math.max(1e-6, options.gradientStep ?? 0.05);
250
+ const maxCoordinateStep = Math.max(0, options.maxCoordinateStep ?? 0.35);
251
+ const clamp = options.clampLab ?? true;
252
+ const metricOptions = {
253
+ epsilon: options.epsilon,
254
+ regularization: options.regularization
255
+ };
256
+ const path = [];
257
+ for (let i = 0; i <= segments; i++) path.push(interpolateLab(A, B, i / segments));
258
+ for (let iteration = 0; iteration < iterations; iteration++) {
259
+ let accepted = 0;
260
+ for (let i = 1; i < path.length - 1; i++) {
261
+ const before = metricPathEnergy(path, metricOptions);
262
+ let candidatePoint = path[i];
263
+ for (const coordinate of LAB_COORDINATES) {
264
+ const plus = perturbPathCoordinate(path, i, coordinate, gradientStep, clamp);
265
+ const minus = perturbPathCoordinate(path, i, coordinate, -gradientStep, clamp);
266
+ const gradient = (metricPathEnergy(plus, metricOptions) - metricPathEnergy(minus, metricOptions)) / (2 * gradientStep);
267
+ const rawMove = -stepSize * gradient;
268
+ const move = Math.min(maxCoordinateStep, Math.max(-maxCoordinateStep, rawMove));
269
+ const value = coordinate === "L" ? candidatePoint.L : coordinate === "a" ? candidatePoint.a : candidatePoint.b;
270
+ candidatePoint = withCoordinate(candidatePoint, coordinate, value + move);
271
+ if (clamp) candidatePoint = clampLabPoint(candidatePoint);
272
+ }
273
+ const candidate = path.slice();
274
+ candidate[i] = candidatePoint;
275
+ if (metricPathEnergy(candidate, metricOptions) <= before + 1e-12) {
276
+ path[i] = candidatePoint;
277
+ accepted++;
278
+ }
279
+ }
280
+ if (accepted === 0) break;
281
+ }
282
+ return {
283
+ path,
284
+ length: metricPathLength(path, metricOptions),
285
+ straightLength: metricTensorArcLengthDeltaE2000(A, B, segments, metricOptions),
286
+ energy: metricPathEnergy(path, metricOptions),
287
+ iterations
288
+ };
289
+ }
290
+ function erfApprox(x) {
291
+ const sign = x < 0 ? -1 : 1;
292
+ const absX = Math.abs(x);
293
+ const a1 = 0.254829592;
294
+ const a2 = -0.284496736;
295
+ const a3 = 1.421413741;
296
+ const a4 = -1.453152027;
297
+ const a5 = 1.061405429;
298
+ const p = 0.3275911;
299
+ const t = 1 / (1 + p * absX);
300
+ const y = 1 - ((((a5 * t + a4) * t + a3) * t + a2) * t + a1) * t * Math.exp(-absX * absX);
301
+ return sign * y;
302
+ }
303
+ function normalCdf(x) {
304
+ return 0.5 * (1 + erfApprox(x / Math.SQRT2));
305
+ }
306
+ function clampProbability(p) {
307
+ return Math.min(1 - 1e-12, Math.max(1e-12, p));
308
+ }
309
+ function lanlGrayChoiceProbability(row, options = {}) {
310
+ const dampening = options.dampening ?? exports.DEFAULT_DAMPENING;
311
+ const noise = Math.max(1e-9, Math.abs(options.noise ?? exports.DEFAULT_LANL_GRAY_NOISE));
312
+ const d1 = Math.abs(row.Ls - row.Lt1);
313
+ const d2 = Math.abs(row.Ls - row.Lt2);
314
+ return clampProbability(normalCdf((dampen(d2, dampening) - dampen(d1, dampening)) / noise));
315
+ }
316
+ function lanlGrayNegativeLogLikelihood(rows, options = {}) {
317
+ let total = 0;
318
+ for (const row of rows) {
319
+ if (row.count <= 0) continue;
320
+ const choseT2 = Math.min(row.count, Math.max(0, row.choseT2));
321
+ const p = lanlGrayChoiceProbability(row, options);
322
+ total -= choseT2 * Math.log(p) + (row.count - choseT2) * Math.log(1 - p);
323
+ }
324
+ return total;
325
+ }
326
+ function lanlGrayMeanAccuracy(rows, options = {}) {
327
+ let weightedAccuracy = 0;
328
+ let totalCount = 0;
329
+ for (const row of rows) {
330
+ if (row.count <= 0) continue;
331
+ const predictedT2 = lanlGrayChoiceProbability(row, options) * row.count;
332
+ weightedAccuracy += row.count * (1 - Math.abs(row.choseT2 - predictedT2) / row.count);
333
+ totalCount += row.count;
334
+ }
335
+ return totalCount > 0 ? weightedAccuracy / totalCount : 0;
336
+ }
337
+ function fitLanlGrayAchromaticModel(rows, options = {}) {
338
+ if (rows.length === 0) {
339
+ throw new Error("fitLanlGrayAchromaticModel requires at least one aggregate row");
340
+ }
341
+ const dampeningCandidates = options.dampeningCandidates ?? [
342
+ 10,
343
+ 15,
344
+ 20,
345
+ 30,
346
+ 45,
347
+ 60,
348
+ 90,
349
+ exports.DAMPENING_OFF
350
+ ];
351
+ const noiseCandidates = options.noiseCandidates ?? [4, 6, 8, 10, 12, 15, 20];
352
+ let best;
353
+ for (const dampening of dampeningCandidates) {
354
+ for (const noise of noiseCandidates) {
355
+ const negativeLogLikelihood = lanlGrayNegativeLogLikelihood(rows, { dampening, noise });
356
+ if (!best || negativeLogLikelihood < best.negativeLogLikelihood) {
357
+ best = {
358
+ dampening,
359
+ noise,
360
+ negativeLogLikelihood,
361
+ meanAccuracy: lanlGrayMeanAccuracy(rows, { dampening, noise }),
362
+ rows: rows.length
363
+ };
364
+ }
365
+ }
366
+ }
367
+ if (!best) {
368
+ throw new Error("fitLanlGrayAchromaticModel requires at least one dampening and noise candidate");
369
+ }
370
+ return best;
371
+ }
372
+ function perceptualDistance(a, b, options = {}) {
373
+ const { dampening = exports.DEFAULT_DAMPENING, steps = 24 } = options;
374
+ const g = arcLengthDeltaE2000(srgbToLab(a), srgbToLab(b), steps);
375
+ return dampen(g, dampening);
376
+ }
377
+ function nearestNeutral(c) {
378
+ const lab = srgbToLab(c);
379
+ return labToSrgb({ L: lab.L, a: 0, b: 0 });
380
+ }
381
+ function lightness(c) {
382
+ return srgbToLab(c).L;
383
+ }
384
+ function chroma(c) {
385
+ const lab = srgbToLab(c);
386
+ return Math.hypot(lab.a, lab.b);
387
+ }
388
+ function hue(c) {
389
+ const lab = srgbToLab(c);
390
+ return hueAngleDeg(lab.a, lab.b);
391
+ }
392
+ function perceptualLerp(a, b, t) {
393
+ const la = srgbToLab(a);
394
+ const lb = srgbToLab(b);
395
+ const u = Math.min(1, Math.max(0, t));
396
+ return labToSrgb({
397
+ L: la.L + (lb.L - la.L) * u,
398
+ a: la.a + (lb.a - la.a) * u,
399
+ b: la.b + (lb.b - la.b) * u
400
+ });
401
+ }
402
+ exports.DAMPENING_OFF = void 0; exports.DEFAULT_DAMPENING = void 0; exports.DEFAULT_LANL_GRAY_NOISE = void 0; var Xn, Yn, Zn, LAB_EPS, LAB_KAPPA, DEG2RAD, RAD2DEG, LAB_COORDINATES;
403
+ var init_perceptualColor = chunkZHPMP447_cjs.__esm({
404
+ "src/color/perceptualColor.ts"() {
405
+ exports.DAMPENING_OFF = Number.POSITIVE_INFINITY;
406
+ exports.DEFAULT_DAMPENING = 30;
407
+ exports.DEFAULT_LANL_GRAY_NOISE = 10;
408
+ Xn = 95.047;
409
+ Yn = 100;
410
+ Zn = 108.883;
411
+ LAB_EPS = 216 / 24389;
412
+ LAB_KAPPA = 24389 / 27;
413
+ DEG2RAD = Math.PI / 180;
414
+ RAD2DEG = 180 / Math.PI;
415
+ LAB_COORDINATES = ["L", "a", "b"];
416
+ }
417
+ });
418
+
419
+ // src/color/reference/lanlGrayAchromatic.ts
420
+ exports.LANL_GRAY_ACHROMATIC_SOURCE = void 0; exports.LANL_GRAY_ACHROMATIC_AGGREGATES = void 0;
421
+ var init_lanlGrayAchromatic = chunkZHPMP447_cjs.__esm({
422
+ "src/color/reference/lanlGrayAchromatic.ts"() {
423
+ exports.LANL_GRAY_ACHROMATIC_SOURCE = {
424
+ repo: "https://github.com/lanl/color",
425
+ dataUrl: "https://raw.githubusercontent.com/lanl/color/main/Gray_Experiment/data/gray_complete_data_release.csv",
426
+ path: "Gray_Experiment/data/gray_complete_data_release.csv",
427
+ sha: "37fe92222edd4e081ed142ce3d7ca7ed40b6e4dc",
428
+ columns: ["trial", "Ls", "Lt1", "Lt2", "R"],
429
+ license: "BSD-3-Clause",
430
+ deposited: "2022-01-28",
431
+ note: "Compact aggregate fixture sampled from the official LANL achromatic gray-axis response data; the full CSV stays upstream."
432
+ };
433
+ exports.LANL_GRAY_ACHROMATIC_AGGREGATES = [
434
+ { Ls: 30, Lt1: 15, Lt2: 35, count: 287, choseT2: 37 },
435
+ { Ls: 30, Lt1: 25, Lt2: 45, count: 249, choseT2: 166 },
436
+ { Ls: 30, Lt1: 12.5, Lt2: 37.5, count: 304, choseT2: 69 },
437
+ { Ls: 30, Lt1: 22.5, Lt2: 47.5, count: 304, choseT2: 158 },
438
+ { Ls: 30, Lt1: 10, Lt2: 40, count: 249, choseT2: 74 },
439
+ { Ls: 30, Lt1: 20, Lt2: 50, count: 249, choseT2: 121 },
440
+ { Ls: 30, Lt1: 7.5, Lt2: 42.5, count: 299, choseT2: 73 },
441
+ { Ls: 30, Lt1: 17.5, Lt2: 52.5, count: 299, choseT2: 127 },
442
+ { Ls: 30, Lt1: 5, Lt2: 45, count: 304, choseT2: 72 },
443
+ { Ls: 30, Lt1: 15, Lt2: 55, count: 304, choseT2: 123 },
444
+ { Ls: 30, Lt1: 2.5, Lt2: 47.5, count: 299, choseT2: 62 },
445
+ { Ls: 30, Lt1: 12.5, Lt2: 57.5, count: 299, choseT2: 126 },
446
+ { Ls: 30, Lt1: 0, Lt2: 50, count: 287, choseT2: 59 },
447
+ { Ls: 30, Lt1: 10, Lt2: 60, count: 249, choseT2: 111 },
448
+ { Ls: 50, Lt1: 35, Lt2: 55, count: 287, choseT2: 51 },
449
+ { Ls: 50, Lt1: 45, Lt2: 65, count: 249, choseT2: 175 },
450
+ { Ls: 50, Lt1: 32.5, Lt2: 57.5, count: 299, choseT2: 69 },
451
+ { Ls: 50, Lt1: 42.5, Lt2: 67.5, count: 299, choseT2: 222 },
452
+ { Ls: 50, Lt1: 30, Lt2: 60, count: 249, choseT2: 84 },
453
+ { Ls: 50, Lt1: 40, Lt2: 70, count: 249, choseT2: 179 },
454
+ { Ls: 50, Lt1: 27.5, Lt2: 62.5, count: 299, choseT2: 80 },
455
+ { Ls: 50, Lt1: 37.5, Lt2: 72.5, count: 304, choseT2: 198 },
456
+ { Ls: 50, Lt1: 25, Lt2: 65, count: 299, choseT2: 75 },
457
+ { Ls: 50, Lt1: 35, Lt2: 75, count: 299, choseT2: 204 },
458
+ { Ls: 50, Lt1: 22.5, Lt2: 67.5, count: 304, choseT2: 82 },
459
+ { Ls: 50, Lt1: 32.5, Lt2: 77.5, count: 299, choseT2: 187 },
460
+ { Ls: 50, Lt1: 20, Lt2: 70, count: 287, choseT2: 57 },
461
+ { Ls: 50, Lt1: 30, Lt2: 80, count: 249, choseT2: 155 },
462
+ { Ls: 70, Lt1: 55, Lt2: 75, count: 287, choseT2: 76 },
463
+ { Ls: 70, Lt1: 65, Lt2: 85, count: 249, choseT2: 192 },
464
+ { Ls: 70, Lt1: 52.5, Lt2: 77.5, count: 299, choseT2: 115 },
465
+ { Ls: 70, Lt1: 62.5, Lt2: 87.5, count: 304, choseT2: 239 },
466
+ { Ls: 70, Lt1: 50, Lt2: 80, count: 249, choseT2: 102 },
467
+ { Ls: 70, Lt1: 60, Lt2: 90, count: 249, choseT2: 185 },
468
+ { Ls: 70, Lt1: 47.5, Lt2: 82.5, count: 299, choseT2: 104 },
469
+ { Ls: 70, Lt1: 57.5, Lt2: 92.5, count: 299, choseT2: 215 },
470
+ { Ls: 70, Lt1: 45, Lt2: 85, count: 304, choseT2: 126 },
471
+ { Ls: 70, Lt1: 55, Lt2: 95, count: 304, choseT2: 232 },
472
+ { Ls: 70, Lt1: 42.5, Lt2: 87.5, count: 299, choseT2: 133 },
473
+ { Ls: 70, Lt1: 52.5, Lt2: 97.5, count: 304, choseT2: 223 },
474
+ { Ls: 70, Lt1: 40, Lt2: 90, count: 287, choseT2: 108 },
475
+ { Ls: 70, Lt1: 50, Lt2: 100, count: 249, choseT2: 173 }
476
+ ];
477
+ }
478
+ });
479
+
480
+ // src/color/index.ts
481
+ var init_color = chunkZHPMP447_cjs.__esm({
482
+ "src/color/index.ts"() {
483
+ init_perceptualColor();
484
+ init_lanlGrayAchromatic();
485
+ }
486
+ });
487
+
488
+ // src/compiler/PerceptualColorPass.ts
489
+ function clamp01(value) {
490
+ return Math.max(0, Math.min(1, value));
491
+ }
492
+ function clampByte(value) {
493
+ return Math.max(0, Math.min(255, Math.round(value)));
494
+ }
495
+ function normalizeHexColor(color) {
496
+ const trimmed = color.trim();
497
+ const match = /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(trimmed);
498
+ if (!match) {
499
+ throw new Error(`Unsupported color format: ${color}`);
500
+ }
501
+ const hex = match[1];
502
+ if (hex.length === 3) {
503
+ return `#${hex.split("").map((c) => c + c).join("")}`.toUpperCase();
504
+ }
505
+ return `#${hex}`.toUpperCase();
506
+ }
507
+ function hexToSrgb(color) {
508
+ const hex = normalizeHexColor(color).slice(1);
509
+ return [
510
+ Number.parseInt(hex.slice(0, 2), 16) / 255,
511
+ Number.parseInt(hex.slice(2, 4), 16) / 255,
512
+ Number.parseInt(hex.slice(4, 6), 16) / 255
513
+ ];
514
+ }
515
+ function srgbToHex(rgb) {
516
+ const [r, g, b] = rgb.map((c) => clampByte(clamp01(c) * 255));
517
+ return `#${[r, g, b].map((c) => c.toString(16).padStart(2, "0")).join("")}`.toUpperCase();
518
+ }
519
+ function finiteNumber(value, fallback) {
520
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
521
+ }
522
+ function normalizedStops(stops, warnings) {
523
+ if (stops.length === 0) {
524
+ warnings.push("No colors supplied; using viridis fallback.");
525
+ return normalizedStops(exports.SCIENTIFIC_COLOR_MAPS.viridis, warnings);
526
+ }
527
+ const rawStops = stops.map((stop, index) => {
528
+ if (typeof stop === "string") {
529
+ return {
530
+ t: stops.length === 1 ? 0 : index / (stops.length - 1),
531
+ color: stop
532
+ };
533
+ }
534
+ return stop;
535
+ });
536
+ const normalized = [];
537
+ for (const stop of rawStops) {
538
+ try {
539
+ normalized.push({
540
+ t: clamp01(finiteNumber(stop.t, 0)),
541
+ color: normalizeHexColor(stop.color)
542
+ });
543
+ } catch (error) {
544
+ warnings.push(error instanceof Error ? error.message : "Invalid color stop skipped.");
545
+ }
546
+ }
547
+ if (normalized.length === 0) {
548
+ warnings.push("All supplied colors were invalid; using viridis fallback.");
549
+ return normalizedStops(exports.SCIENTIFIC_COLOR_MAPS.viridis, warnings);
550
+ }
551
+ if (normalized.length === 1) {
552
+ normalized.push({ t: 1, color: normalized[0].color });
553
+ }
554
+ normalized.sort((a, b) => a.t - b.t);
555
+ normalized[0] = { ...normalized[0], t: 0 };
556
+ normalized[normalized.length - 1] = { ...normalized[normalized.length - 1], t: 1 };
557
+ return normalized;
558
+ }
559
+ function findSegment(stops, t) {
560
+ for (let i = 0; i < stops.length - 1; i++) {
561
+ if (t >= stops[i].t && t <= stops[i + 1].t) {
562
+ return [stops[i], stops[i + 1]];
563
+ }
564
+ }
565
+ return [stops[stops.length - 2], stops[stops.length - 1]];
566
+ }
567
+ function deltas(colors, options) {
568
+ const values = [];
569
+ for (let i = 1; i < colors.length; i++) {
570
+ values.push(perceptualDistance(hexToSrgb(colors[i - 1]), hexToSrgb(colors[i]), options));
571
+ }
572
+ return values;
573
+ }
574
+ function stats(values) {
575
+ if (values.length === 0) return { minDeltaE: 0, maxDeltaE: 0, meanDeltaE: 0 };
576
+ const minDeltaE = Math.min(...values);
577
+ const maxDeltaE = Math.max(...values);
578
+ const meanDeltaE = values.reduce((sum, value) => sum + value, 0) / values.length;
579
+ return { minDeltaE, maxDeltaE, meanDeltaE };
580
+ }
581
+ function buildPerceptualGradient(stops, options = {}) {
582
+ const warnings = [];
583
+ const normalized = normalizedStops(stops, warnings);
584
+ const steps = Math.max(2, Math.floor(finiteNumber(options.steps, 7)));
585
+ const colors = [];
586
+ const sampledStops = [];
587
+ for (let i = 0; i < steps; i++) {
588
+ const t = steps === 1 ? 0 : i / (steps - 1);
589
+ const [a, b] = findSegment(normalized, t);
590
+ const localT = b.t === a.t ? 0 : (t - a.t) / (b.t - a.t);
591
+ const color = t <= 0 ? a.color : t >= 1 ? b.color : srgbToHex(perceptualLerp(hexToSrgb(a.color), hexToSrgb(b.color), localT));
592
+ colors.push(color);
593
+ sampledStops.push({ t, color });
594
+ }
595
+ const distanceOptions = {
596
+ dampening: options.dampening ?? exports.DEFAULT_DAMPENING,
597
+ steps: options.arcSteps ?? 24
598
+ };
599
+ const deltaE = deltas(colors, distanceOptions);
600
+ return {
601
+ stops: sampledStops,
602
+ colors,
603
+ deltaE,
604
+ ...stats(deltaE)
605
+ };
606
+ }
607
+ function buildPerceptualPalette(colors, options = {}) {
608
+ const warnings = [];
609
+ const normalized = normalizedStops(colors, warnings).map((stop) => stop.color);
610
+ const distanceOptions = {
611
+ dampening: options.dampening ?? exports.DEFAULT_DAMPENING,
612
+ steps: options.arcSteps ?? 24
613
+ };
614
+ const pairwiseDeltaE = deltas(normalized, distanceOptions);
615
+ const neutral = options.neutralAxis === true ? normalized.map((color) => srgbToHex(nearestNeutral(hexToSrgb(color)))) : void 0;
616
+ return {
617
+ colors: normalized,
618
+ pairwiseDeltaE,
619
+ ...stats(pairwiseDeltaE),
620
+ nearestNeutral: neutral
621
+ };
622
+ }
623
+ function resolveColorMap(colorMap, warnings) {
624
+ if (typeof colorMap === "string") {
625
+ const key = colorMap.trim().toLowerCase();
626
+ const stops = exports.SCIENTIFIC_COLOR_MAPS[key];
627
+ if (stops) return { name: key, stops };
628
+ warnings.push(`Unknown color map "${colorMap}"; using viridis.`);
629
+ return { name: "viridis", stops: exports.SCIENTIFIC_COLOR_MAPS.viridis };
630
+ }
631
+ if (Array.isArray(colorMap)) {
632
+ return { name: "custom", stops: colorMap };
633
+ }
634
+ return void 0;
635
+ }
636
+ function metricWarnings(result, targetDeltaE) {
637
+ if (targetDeltaE <= 0) return [];
638
+ const minDeltaE = result.minDeltaE;
639
+ if (minDeltaE === 0 || minDeltaE >= targetDeltaE) return [];
640
+ return [
641
+ `Minimum adjacent perceptual distance ${minDeltaE.toFixed(2)} is below target ${targetDeltaE}.`
642
+ ];
643
+ }
644
+ function analyzePerceptualColor(color) {
645
+ const normalized = normalizeHexColor(color);
646
+ const rgb = hexToSrgb(normalized);
647
+ return {
648
+ color: normalized,
649
+ lightness: lightness(rgb),
650
+ chroma: chroma(rgb),
651
+ hue: hue(rgb),
652
+ nearestNeutral: srgbToHex(nearestNeutral(rgb))
653
+ };
654
+ }
655
+ function applyPerceptualColorPass(input) {
656
+ const warnings = [];
657
+ const targetDeltaE = finiteNumber(input.targetDeltaE, 8);
658
+ const options = {
659
+ steps: input.steps,
660
+ dampening: input.dampening ?? exports.DEFAULT_DAMPENING,
661
+ arcSteps: input.arcSteps,
662
+ neutralAxis: input.neutralAxis
663
+ };
664
+ const resolvedMap = resolveColorMap(input.colorMap, warnings);
665
+ if (resolvedMap) {
666
+ const gradient2 = buildPerceptualGradient(resolvedMap.stops, options);
667
+ const colorMap = { name: resolvedMap.name, ...gradient2 };
668
+ warnings.push(...metricWarnings(gradient2, targetDeltaE));
669
+ return {
670
+ algorithm: "perceptual_lerp_delta_e2000",
671
+ source: "color_map",
672
+ scientific: input.scientific ?? true,
673
+ targetDeltaE,
674
+ dampening: options.dampening ?? exports.DEFAULT_DAMPENING,
675
+ gradient: gradient2,
676
+ colorMap,
677
+ warnings
678
+ };
679
+ }
680
+ if (input.gradient) {
681
+ const gradient2 = buildPerceptualGradient(input.gradient, options);
682
+ warnings.push(...metricWarnings(gradient2, targetDeltaE));
683
+ return {
684
+ algorithm: "perceptual_lerp_delta_e2000",
685
+ source: "gradient",
686
+ scientific: input.scientific ?? false,
687
+ targetDeltaE,
688
+ dampening: options.dampening ?? exports.DEFAULT_DAMPENING,
689
+ gradient: gradient2,
690
+ warnings
691
+ };
692
+ }
693
+ const palette = buildPerceptualPalette(input.palette ?? exports.SCIENTIFIC_COLOR_MAPS.viridis, options);
694
+ const shouldSamplePalette = input.steps !== void 0 && input.steps > palette.colors.length;
695
+ const gradient = shouldSamplePalette ? buildPerceptualGradient(palette.colors, options) : void 0;
696
+ warnings.push(...metricWarnings(gradient ?? palette, targetDeltaE));
697
+ return {
698
+ algorithm: "perceptual_lerp_delta_e2000",
699
+ source: "palette",
700
+ scientific: input.scientific ?? false,
701
+ targetDeltaE,
702
+ dampening: options.dampening ?? exports.DEFAULT_DAMPENING,
703
+ palette,
704
+ gradient,
705
+ warnings
706
+ };
707
+ }
708
+ exports.SCIENTIFIC_COLOR_MAPS = void 0;
709
+ var init_PerceptualColorPass = chunkZHPMP447_cjs.__esm({
710
+ "src/compiler/PerceptualColorPass.ts"() {
711
+ init_color();
712
+ exports.SCIENTIFIC_COLOR_MAPS = {
713
+ viridis: ["#440154", "#3b528b", "#21918c", "#5ec962", "#fde725"],
714
+ plasma: ["#0d0887", "#7e03a8", "#cc4778", "#f89540", "#f0f921"],
715
+ magma: ["#000004", "#3b0f70", "#8c2981", "#de4968", "#fcfdbf"],
716
+ inferno: ["#000004", "#420a68", "#932667", "#dd513a", "#fcffa4"],
717
+ cividis: ["#00204c", "#31456b", "#666970", "#a69c75", "#ffe945"],
718
+ turbo: ["#30123b", "#466be3", "#1bcfd4", "#a4fc3c", "#faba39", "#7a0403"],
719
+ thermal: ["#102040", "#1f77b4", "#31a354", "#ffbf00", "#d62728"]
720
+ };
721
+ }
722
+ });
723
+
724
+ exports.analyzePerceptualColor = analyzePerceptualColor;
725
+ exports.applyPerceptualColorPass = applyPerceptualColorPass;
726
+ exports.arcLengthDeltaE2000 = arcLengthDeltaE2000;
727
+ exports.buildPerceptualGradient = buildPerceptualGradient;
728
+ exports.buildPerceptualPalette = buildPerceptualPalette;
729
+ exports.chroma = chroma;
730
+ exports.dampen = dampen;
731
+ exports.deltaE2000 = deltaE2000;
732
+ exports.fitLanlGrayAchromaticModel = fitLanlGrayAchromaticModel;
733
+ exports.hexToSrgb = hexToSrgb;
734
+ exports.hue = hue;
735
+ exports.init_PerceptualColorPass = init_PerceptualColorPass;
736
+ exports.init_color = init_color;
737
+ exports.labMetricQuadraticForm = labMetricQuadraticForm;
738
+ exports.labToSrgb = labToSrgb;
739
+ exports.labToXyz = labToXyz;
740
+ exports.lanlGrayChoiceProbability = lanlGrayChoiceProbability;
741
+ exports.lanlGrayMeanAccuracy = lanlGrayMeanAccuracy;
742
+ exports.lanlGrayNegativeLogLikelihood = lanlGrayNegativeLogLikelihood;
743
+ exports.lightness = lightness;
744
+ exports.linearRgbToXyz = linearRgbToXyz;
745
+ exports.linearToSrgb = linearToSrgb;
746
+ exports.linearToSrgbChannel = linearToSrgbChannel;
747
+ exports.metricTensorArcLengthDeltaE2000 = metricTensorArcLengthDeltaE2000;
748
+ exports.metricTensorDeltaE2000 = metricTensorDeltaE2000;
749
+ exports.nearestNeutral = nearestNeutral;
750
+ exports.normalizeHexColor = normalizeHexColor;
751
+ exports.perceptualDistance = perceptualDistance;
752
+ exports.perceptualLerp = perceptualLerp;
753
+ exports.solveDeltaE2000Geodesic = solveDeltaE2000Geodesic;
754
+ exports.srgbToHex = srgbToHex;
755
+ exports.srgbToLab = srgbToLab;
756
+ exports.srgbToLinear = srgbToLinear;
757
+ exports.srgbToLinearChannel = srgbToLinearChannel;
758
+ exports.xyzToLab = xyzToLab;
759
+ exports.xyzToLinearRgb = xyzToLinearRgb;
760
+ //# sourceMappingURL=chunk-VHORVGCG.cjs.map
761
+ //# sourceMappingURL=chunk-VHORVGCG.cjs.map