openspecui 2.1.3 → 2.1.5

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 (836) hide show
  1. package/dist/cli.mjs +5 -4
  2. package/dist/index.mjs +1 -1
  3. package/dist/src-DglsnBxF.mjs +26067 -0
  4. package/package.json +1 -1
  5. package/web/assets/BufferResource-DKNednNt.js +185 -0
  6. package/web/assets/CanvasRenderer-Dl9FZnWi.js +1 -0
  7. package/web/assets/Geometry-CNDxiJq_.js +22 -0
  8. package/web/assets/ImageSource-DsthkIsU.js +1 -0
  9. package/web/assets/RenderTargetSystem-CLQIFvVz.js +388 -0
  10. package/web/assets/WebGLRenderer-Z8aGBluV.js +1 -0
  11. package/web/assets/WebGPURenderer-BKedQdM5.js +1 -0
  12. package/web/assets/__vite-browser-external-2447137e-BjPw0NZ_.js +0 -0
  13. package/web/assets/abap-Bu0T6Al_.js +1 -0
  14. package/web/assets/actionscript-3-CRpSnB5s.js +1 -0
  15. package/web/assets/ada-CFBoRA9T.js +1 -0
  16. package/web/assets/andromeeda-DgY5bL_s.js +1 -0
  17. package/web/assets/angular-html-BngumzOu.js +1 -0
  18. package/web/assets/angular-ts-C6vKMqNQ.js +1 -0
  19. package/web/assets/apache-R7xc0G73.js +1 -0
  20. package/web/assets/apex-DEkce9NE.js +1 -0
  21. package/web/assets/apl-CJPt5sW7.js +1 -0
  22. package/web/assets/apl-CanOX78I.js +1 -0
  23. package/web/assets/applescript-C_3LmUl6.js +1 -0
  24. package/web/assets/ara-CV-W5Hgd.js +1 -0
  25. package/web/assets/asciiarmor-D0oCypDs.js +1 -0
  26. package/web/assets/asciidoc-D-6cF97z.js +1 -0
  27. package/web/assets/asm-DYZMpR5h.js +1 -0
  28. package/web/assets/asn1-8xgVfRoq.js +1 -0
  29. package/web/assets/asterisk-B5kv5AQp.js +1 -0
  30. package/web/assets/astro-D3RhqyEX.js +1 -0
  31. package/web/assets/aurora-x-CzNZBXLA.js +1 -0
  32. package/web/assets/awk-CtGnqBgi.js +1 -0
  33. package/web/assets/ayu-dark-BEuJhx09.js +1 -0
  34. package/web/assets/ballerina-FF_I4_FO.js +1 -0
  35. package/web/assets/bat-BrvgUmWp.js +1 -0
  36. package/web/assets/beancount-BXL8T_UG.js +1 -0
  37. package/web/assets/berry-CIKKfJQu.js +1 -0
  38. package/web/assets/bibtex-Cjz3iUeg.js +1 -0
  39. package/web/assets/bicep-BcfLCnJ8.js +1 -0
  40. package/web/assets/blade-DL2UFKF3.js +1 -0
  41. package/web/assets/brainfuck-Dh7M1Ucz.js +1 -0
  42. package/web/assets/browserAll-DE1N916u.js +1 -0
  43. package/web/assets/bsl-baasCE8P.js +1 -0
  44. package/web/assets/c-BOqe9lRQ.js +1 -0
  45. package/web/assets/cadence-C8mWZDXU.js +1 -0
  46. package/web/assets/cairo-BkvliMUx.js +1 -0
  47. package/web/assets/catppuccin-frappe-DenhEhc7.js +1 -0
  48. package/web/assets/catppuccin-latte-DBjZqKjK.js +1 -0
  49. package/web/assets/catppuccin-macchiato-DsXr7TPP.js +1 -0
  50. package/web/assets/catppuccin-mocha-DmPmnX9r.js +1 -0
  51. package/web/assets/chunk-DECur_0Z.js +1 -0
  52. package/web/assets/clarity-CSJ2rDuE.js +1 -0
  53. package/web/assets/clike-zYz_LEkw.js +1 -0
  54. package/web/assets/clojure-BcrkjbX1.js +1 -0
  55. package/web/assets/clojure-CdWlIeQh.js +1 -0
  56. package/web/assets/cmake-BHzgnx8G.js +1 -0
  57. package/web/assets/cmake-wWuF5ifR.js +1 -0
  58. package/web/assets/cobol-Bh6VT3qK.js +1 -0
  59. package/web/assets/cobol-D3WLbLVy.js +1 -0
  60. package/web/assets/codeowners-DEui52l1.js +1 -0
  61. package/web/assets/codeql-DV6BvMBu.js +1 -0
  62. package/web/assets/coffee-B0QZgCFK.js +1 -0
  63. package/web/assets/coffeescript-DRtt-5a2.js +1 -0
  64. package/web/assets/common-lisp-xYiRwqZH.js +1 -0
  65. package/web/assets/commonlisp-DJV75lsU.js +1 -0
  66. package/web/assets/coq-C_yPIhZC.js +1 -0
  67. package/web/assets/cpp-K7si_9PA.js +1 -0
  68. package/web/assets/crystal-C7mEw92C.js +1 -0
  69. package/web/assets/crystal-CkrKPPPJ.js +1 -0
  70. package/web/assets/csharp-_SaU5MOa.js +1 -0
  71. package/web/assets/css-MgOOddo9.js +1 -0
  72. package/web/assets/css-_6KgQwpu.js +1 -0
  73. package/web/assets/csv-DkOKkcud.js +1 -0
  74. package/web/assets/cue-Bc7aFG0x.js +1 -0
  75. package/web/assets/cypher-B3uWx7jm.js +1 -0
  76. package/web/assets/cypher-DJ7FXmKn.js +1 -0
  77. package/web/assets/d-C_e6FFTd.js +1 -0
  78. package/web/assets/d-D3kOh3JF.js +1 -0
  79. package/web/assets/dark-plus-CR_9xkOf.js +1 -0
  80. package/web/assets/dart-DpnlYij3.js +1 -0
  81. package/web/assets/dax-BGp0L71d.js +1 -0
  82. package/web/assets/desktop-9sZJLqKg.js +1 -0
  83. package/web/assets/diff-CoamybWh.js +1 -0
  84. package/web/assets/diff-Eg5NxGYi.js +1 -0
  85. package/web/assets/dist--FTL3P_Y.js +23 -0
  86. package/web/assets/dist-2FkkoD3P.js +1 -0
  87. package/web/assets/dist-7p71ej3g.js +1 -0
  88. package/web/assets/dist-AwPcfIRI.js +1 -0
  89. package/web/assets/dist-BARtys-s.js +1 -0
  90. package/web/assets/dist-BGaHY1kO.js +1 -0
  91. package/web/assets/dist-BHPSfyFv.js +1 -0
  92. package/web/assets/dist-BMjoDAB2.js +1 -0
  93. package/web/assets/dist-BNF0fuPB.js +1 -0
  94. package/web/assets/dist-BiexWhMB.js +1 -0
  95. package/web/assets/dist-Byni_J74.js +1 -0
  96. package/web/assets/dist-CLKxKEQH.js +11 -0
  97. package/web/assets/dist-CRs-U2qz.js +1 -0
  98. package/web/assets/dist-CbIYKZT0.js +1 -0
  99. package/web/assets/dist-DAFWNF79.js +1 -0
  100. package/web/assets/dist-DDlcRW9M.js +1 -0
  101. package/web/assets/dist-DVFW0GyF.js +2 -0
  102. package/web/assets/dist-DXCnQn33.js +1 -0
  103. package/web/assets/dist-DltQmFDE.js +1 -0
  104. package/web/assets/dist-ExQdmG6u.js +9 -0
  105. package/web/assets/dist-G-xlN3tL.js +1 -0
  106. package/web/assets/dist-I1IZGogH.js +1 -0
  107. package/web/assets/dist-QUHuPJsA.js +13 -0
  108. package/web/assets/docker-B1k24ONt.js +1 -0
  109. package/web/assets/dockerfile-Ci0-ApQC.js +1 -0
  110. package/web/assets/dotenv-37x23HEd.js +1 -0
  111. package/web/assets/dracula-CxQ11msU.js +1 -0
  112. package/web/assets/dracula-soft-DZQDoc4v.js +1 -0
  113. package/web/assets/dream-maker-kAD9OQQF.js +1 -0
  114. package/web/assets/dtd-BjGQwMWL.js +1 -0
  115. package/web/assets/dylan-B9W3X2GI.js +1 -0
  116. package/web/assets/ebnf-d5D0otVn.js +1 -0
  117. package/web/assets/ecl-C5Q_IBPt.js +1 -0
  118. package/web/assets/edge-QC_gsDDT.js +1 -0
  119. package/web/assets/eiffel-BQA_6I3b.js +1 -0
  120. package/web/assets/elixir-CLr7lZvD.js +1 -0
  121. package/web/assets/elm-C7vdad3p.js +1 -0
  122. package/web/assets/elm-unPS17vB.js +1 -0
  123. package/web/assets/emacs-lisp-VSqiU67A.js +1 -0
  124. package/web/assets/erb-CpyGfXUh.js +1 -0
  125. package/web/assets/erlang-R8nOsUTx.js +1 -0
  126. package/web/assets/erlang-vfCdWglx.js +1 -0
  127. package/web/assets/everforest-dark-B5yeWra_.js +1 -0
  128. package/web/assets/everforest-light-B4NKIpuT.js +1 -0
  129. package/web/assets/factor-DMvifS-k.js +1 -0
  130. package/web/assets/fcl-CVAfW9wK.js +1 -0
  131. package/web/assets/fennel-CFfxI1rI.js +1 -0
  132. package/web/assets/fish-DwEMo9K0.js +1 -0
  133. package/web/assets/fluent-Dsn20KHK.js +1 -0
  134. package/web/assets/forth-DHbsK8X8.js +1 -0
  135. package/web/assets/fortran-4jMwxW9-.js +1 -0
  136. package/web/assets/fortran-fixed-form-eRZkDVxE.js +1 -0
  137. package/web/assets/fortran-free-form-dGWJP-PE.js +1 -0
  138. package/web/assets/fsharp-lKBUVRnt.js +1 -0
  139. package/web/assets/gas-zC_XGrQT.js +1 -0
  140. package/web/assets/gdresource-C_R0x-CQ.js +1 -0
  141. package/web/assets/gdscript-CW6S_vBb.js +1 -0
  142. package/web/assets/gdshader-BqnlaYeo.js +1 -0
  143. package/web/assets/genie-DpK7PEre.js +1 -0
  144. package/web/assets/getTextureBatchBindGroup-CqvclRGr.js +1 -0
  145. package/web/assets/gherkin-CPBQou3u.js +1 -0
  146. package/web/assets/gherkin-Do-rHwCg.js +1 -0
  147. package/web/assets/ghostty-web-PKDWDihc.js +13 -0
  148. package/web/assets/git-commit-SMAxcXsl.js +1 -0
  149. package/web/assets/git-rebase-3yOGJ52K.js +1 -0
  150. package/web/assets/github-dark-BNWfKer2.js +1 -0
  151. package/web/assets/github-dark-default-Dd3JR36E.js +1 -0
  152. package/web/assets/github-dark-dimmed-CtNE8tZH.js +1 -0
  153. package/web/assets/github-dark-high-contrast-DmAdH_w8.js +1 -0
  154. package/web/assets/github-light-CUv7VR5J.js +1 -0
  155. package/web/assets/github-light-default-CZlC_y8X.js +1 -0
  156. package/web/assets/github-light-high-contrast-Cpzf_dNN.js +1 -0
  157. package/web/assets/gleam-DC5ARhDs.js +1 -0
  158. package/web/assets/glimmer-js-B4B76dDY.js +1 -0
  159. package/web/assets/glimmer-ts-DQpCtGkl.js +1 -0
  160. package/web/assets/glsl-COhnwF2O.js +1 -0
  161. package/web/assets/gnuplot-DSp3nTIV.js +1 -0
  162. package/web/assets/go-qASC_aC8.js +1 -0
  163. package/web/assets/graphql-DKIR2AFZ.js +1 -0
  164. package/web/assets/groovy-CAKGLWL8.js +1 -0
  165. package/web/assets/groovy-Cqopym0q.js +1 -0
  166. package/web/assets/gruvbox-dark-hard-Dlubl6r4.js +1 -0
  167. package/web/assets/gruvbox-dark-medium-Bys2crvl.js +1 -0
  168. package/web/assets/gruvbox-dark-soft-D5JVdD_T.js +1 -0
  169. package/web/assets/gruvbox-light-hard-okzwij0Q.js +1 -0
  170. package/web/assets/gruvbox-light-medium-CKptZdRG.js +1 -0
  171. package/web/assets/gruvbox-light-soft-DVSSH44h.js +1 -0
  172. package/web/assets/hack-483kQD0h.js +1 -0
  173. package/web/assets/haml-BwSG8gbZ.js +1 -0
  174. package/web/assets/handlebars-BTt4M9z6.js +1 -0
  175. package/web/assets/haskell-BKk-Kl5_.js +1 -0
  176. package/web/assets/haskell-imzbNPgF.js +1 -0
  177. package/web/assets/haxe-BPFrQPtj.js +1 -0
  178. package/web/assets/haxe-Doh225Ku.js +1 -0
  179. package/web/assets/hcl-BH96BnDR.js +1 -0
  180. package/web/assets/hjson-BMjtlQGM.js +1 -0
  181. package/web/assets/hlsl-g9gCsmqR.js +1 -0
  182. package/web/assets/houston-CL5fNb0m.js +1 -0
  183. package/web/assets/html-UgL0pUTh.js +1 -0
  184. package/web/assets/html-derivative-CWqzWmfe.js +1 -0
  185. package/web/assets/http-XCrN_CGn.js +1 -0
  186. package/web/assets/http-j4R5uEso.js +1 -0
  187. package/web/assets/hurl-CfAoEXjj.js +1 -0
  188. package/web/assets/hxml-BNnDhNNK.js +1 -0
  189. package/web/assets/hy-C4Qxxvge.js +1 -0
  190. package/web/assets/idl-l9d1__Hj.js +1 -0
  191. package/web/assets/imba-BMCGEjtx.js +1 -0
  192. package/web/assets/index-DeFiKoWH.css +1 -0
  193. package/web/assets/index-HFZM23sv.js +1541 -0
  194. package/web/assets/ini-CiVvBUuJ.js +1 -0
  195. package/web/assets/init-B6-kNDaG.js +1 -0
  196. package/web/assets/java-CJzioqY5.js +1 -0
  197. package/web/assets/javascript-BcqCeS4O.js +1 -0
  198. package/web/assets/javascript-DweALdcl.js +1 -0
  199. package/web/assets/jinja-CAumwAh3.js +1 -0
  200. package/web/assets/jison-DXiwFEpC.js +1 -0
  201. package/web/assets/json-BsydYQ7o.js +1 -0
  202. package/web/assets/json5-CLu_sBvv.js +1 -0
  203. package/web/assets/jsonc-BtCrUwnt.js +1 -0
  204. package/web/assets/jsonl-DCgn6lTZ.js +1 -0
  205. package/web/assets/jsonnet-f86dBoR6.js +1 -0
  206. package/web/assets/jssm-C9wYN-Un.js +1 -0
  207. package/web/assets/jsx-DfCzNrFp.js +1 -0
  208. package/web/assets/julia-BU0qBb1w.js +1 -0
  209. package/web/assets/julia-D_rxuOJz.js +1 -0
  210. package/web/assets/kanagawa-dragon-j2mqGXO-.js +1 -0
  211. package/web/assets/kanagawa-lotus-DkcquZHv.js +1 -0
  212. package/web/assets/kanagawa-wave-CC8Oc_s3.js +1 -0
  213. package/web/assets/kdl-DzBG_i-5.js +1 -0
  214. package/web/assets/kotlin-DIZwIusw.js +1 -0
  215. package/web/assets/kusto-DNbnBPvH.js +1 -0
  216. package/web/assets/laserwave-CVoxTCdH.js +1 -0
  217. package/web/assets/latex-D0WE8LAX.js +1 -0
  218. package/web/assets/lean-Dlfurqwe.js +1 -0
  219. package/web/assets/less-BZZ-PLfd.js +1 -0
  220. package/web/assets/light-plus-BeMZ11-X.js +1 -0
  221. package/web/assets/liquid-CBi5ZjV2.js +1 -0
  222. package/web/assets/livescript-uk34VDGK.js +1 -0
  223. package/web/assets/llvm-CdR1gjlo.js +1 -0
  224. package/web/assets/log-iTn25_BO.js +1 -0
  225. package/web/assets/logo-BcHhJD22.js +1 -0
  226. package/web/assets/lua-Cl7HpIv3.js +1 -0
  227. package/web/assets/lua-ClQGOv84.js +1 -0
  228. package/web/assets/luau-4FcpJ0Mb.js +1 -0
  229. package/web/assets/make-BG0ZJ6Bw.js +1 -0
  230. package/web/assets/markdown-jQZFZ3m0.js +1 -0
  231. package/web/assets/marko-Wx-5ycuy.js +1 -0
  232. package/web/assets/material-theme-C5C8C9wY.js +1 -0
  233. package/web/assets/material-theme-darker-CxXF5p3u.js +1 -0
  234. package/web/assets/material-theme-lighter-CN3_ew41.js +1 -0
  235. package/web/assets/material-theme-ocean-DOr1uqH8.js +1 -0
  236. package/web/assets/material-theme-palenight-BjejtMhX.js +1 -0
  237. package/web/assets/mathematica-BDmKpvRN.js +1 -0
  238. package/web/assets/matlab-DeaiNlNF.js +1 -0
  239. package/web/assets/mbox-T5kA6jAQ.js +1 -0
  240. package/web/assets/mdc-Cnw__bfS.js +1 -0
  241. package/web/assets/mdx-ST4v-vi3.js +1 -0
  242. package/web/assets/mermaid-BAjGqWD-.js +1 -0
  243. package/web/assets/min-dark-DhWD_LA8.js +1 -0
  244. package/web/assets/min-light-TFk_TRdA.js +1 -0
  245. package/web/assets/mipsasm-Cs1MOJEB.js +1 -0
  246. package/web/assets/mirc-DRRKKkcJ.js +1 -0
  247. package/web/assets/mllike-iZXopbca.js +1 -0
  248. package/web/assets/modelica-DP8T2DKM.js +1 -0
  249. package/web/assets/mojo-Dhum44Vp.js +1 -0
  250. package/web/assets/monokai-zQwYTSXE.js +1 -0
  251. package/web/assets/move-DDQwygay.js +1 -0
  252. package/web/assets/mscgen-DXIRw2qg.js +1 -0
  253. package/web/assets/mumps-BKUS05-y.js +1 -0
  254. package/web/assets/narrat-DbhadX58.js +1 -0
  255. package/web/assets/nextflow-Knih_yDk.js +1 -0
  256. package/web/assets/nginx-CSLtRIGs.js +1 -0
  257. package/web/assets/nginx-CzYOtr2G.js +1 -0
  258. package/web/assets/night-owl-DLGGnVs3.js +1 -0
  259. package/web/assets/nim-Bl94tPNK.js +1 -0
  260. package/web/assets/nix-Baz5UHw4.js +1 -0
  261. package/web/assets/nord-C3wm8E4I.js +1 -0
  262. package/web/assets/nsis-BbRIeGvl.js +1 -0
  263. package/web/assets/ntriples-ZgZuaYbW.js +1 -0
  264. package/web/assets/nushell-D5-473hD.js +1 -0
  265. package/web/assets/objective-c-BI6SNMJ5.js +1 -0
  266. package/web/assets/objective-cpp-DAlvnJVe.js +1 -0
  267. package/web/assets/ocaml-CEGFuihZ.js +1 -0
  268. package/web/assets/octave-CnOndUN3.js +1 -0
  269. package/web/assets/one-dark-pro-B6FJ0zvF.js +1 -0
  270. package/web/assets/one-light-B2XUBJF_.js +1 -0
  271. package/web/assets/openscad-t-6iF15O.js +1 -0
  272. package/web/assets/oz-DjW322Rn.js +1 -0
  273. package/web/assets/pascal-BHLTdjhR.js +1 -0
  274. package/web/assets/pascal-BdeW5uRX.js +1 -0
  275. package/web/assets/perl-AQuNRAmj.js +1 -0
  276. package/web/assets/perl-_CDvIe1D.js +1 -0
  277. package/web/assets/php-Bm5VHYVk.js +1 -0
  278. package/web/assets/pig-inWo_B4W.js +1 -0
  279. package/web/assets/pkl-zHHuHn_z.js +1 -0
  280. package/web/assets/plastic-BRO-85T7.js +1 -0
  281. package/web/assets/plsql-VRcuhvv-.js +1 -0
  282. package/web/assets/po-CResul3s.js +1 -0
  283. package/web/assets/poimandres-DCo9RR46.js +1 -0
  284. package/web/assets/polar-CakhKjn-.js +1 -0
  285. package/web/assets/postcss-BtHn3WbL.js +1 -0
  286. package/web/assets/powerquery-1rYvKCYD.js +1 -0
  287. package/web/assets/powershell-CO5KWJsy.js +1 -0
  288. package/web/assets/powershell-DE8KuUJ5.js +1 -0
  289. package/web/assets/prisma-Z141y9Vf.js +1 -0
  290. package/web/assets/prolog-Dxo_24BF.js +1 -0
  291. package/web/assets/properties-CjVp4a6M.js +1 -0
  292. package/web/assets/proto-BFlW3M8m.js +1 -0
  293. package/web/assets/protobuf-DybFT2KT.js +1 -0
  294. package/web/assets/pug-D1ZtszdL.js +1 -0
  295. package/web/assets/pug-Qd0aeXah.js +1 -0
  296. package/web/assets/puppet-CEsvHObS.js +1 -0
  297. package/web/assets/puppet-Dw_NDgko.js +1 -0
  298. package/web/assets/purescript-BICOMc_6.js +1 -0
  299. package/web/assets/python-2pwcWoy7.js +1 -0
  300. package/web/assets/python-B0QK5ArY.js +1 -0
  301. package/web/assets/q-C47l8kdS.js +1 -0
  302. package/web/assets/qml-DdPnfnAH.js +1 -0
  303. package/web/assets/qmldir-CPo3sDuO.js +1 -0
  304. package/web/assets/qss-D8trd40O.js +1 -0
  305. package/web/assets/r-BmcXGVZ5.js +1 -0
  306. package/web/assets/r-Bxdh_Vt4.js +1 -0
  307. package/web/assets/racket-BfOZs-VM.js +1 -0
  308. package/web/assets/raku-lci39Tgk.js +1 -0
  309. package/web/assets/razor-BIPGoiD9.js +1 -0
  310. package/web/assets/red-Ih7tMgXP.js +1 -0
  311. package/web/assets/reg-K8cH8FkV.js +1 -0
  312. package/web/assets/regexp-ClEH90rn.js +1 -0
  313. package/web/assets/rel-DxH5YkUl.js +1 -0
  314. package/web/assets/riscv-DNTTjOwX.js +1 -0
  315. package/web/assets/rose-pine-CBcSv8_z.js +1 -0
  316. package/web/assets/rose-pine-dawn-DsFTrjAP.js +1 -0
  317. package/web/assets/rose-pine-moon-DSRrHXqB.js +1 -0
  318. package/web/assets/rosmsg-D94pSJ6t.js +1 -0
  319. package/web/assets/rpm-Cm0x5xT_.js +1 -0
  320. package/web/assets/rst-C5Xv_6wF.js +1 -0
  321. package/web/assets/ruby-D8NfXwCK.js +1 -0
  322. package/web/assets/ruby-Dl-I4pxG.js +1 -0
  323. package/web/assets/rust-BaX7heYs.js +1 -0
  324. package/web/assets/sas-Bxkg4GVX.js +1 -0
  325. package/web/assets/sas-DTaGstnC.js +1 -0
  326. package/web/assets/sass-MHYUMeyd.js +1 -0
  327. package/web/assets/scala-0toQGra_.js +1 -0
  328. package/web/assets/scheme-B5NPj6KX.js +1 -0
  329. package/web/assets/scheme-CO3zogua.js +1 -0
  330. package/web/assets/scss-CPtRJnQJ.js +1 -0
  331. package/web/assets/sdbl-lyJ_q2qY.js +1 -0
  332. package/web/assets/shaderlab-DhaYSNG2.js +1 -0
  333. package/web/assets/shell-gYrTvBTP.js +1 -0
  334. package/web/assets/shellscript-BO8cBTbG.js +1 -0
  335. package/web/assets/shellsession-mh7kK8rm.js +1 -0
  336. package/web/assets/sieve-COX4Kn1X.js +1 -0
  337. package/web/assets/simple-mode-kdHrpFjq.js +1 -0
  338. package/web/assets/slack-dark-DJYHgMC5.js +1 -0
  339. package/web/assets/slack-ochin-DMZh8xHM.js +1 -0
  340. package/web/assets/smalltalk-DS2N8CIT.js +1 -0
  341. package/web/assets/smalltalk-Dma1z5eE.js +1 -0
  342. package/web/assets/snazzy-light-CWz9pGNQ.js +1 -0
  343. package/web/assets/solarized-dark-D9XpTy8q.js +1 -0
  344. package/web/assets/solarized-light-CbOIwuI-.js +1 -0
  345. package/web/assets/solidity-Dt295RBh.js +1 -0
  346. package/web/assets/solr-BvhcdkNH.js +1 -0
  347. package/web/assets/soy-Y4jbujLe.js +1 -0
  348. package/web/assets/sparql-CbwLv0Nv.js +1 -0
  349. package/web/assets/sparql-gX7W9xeh.js +1 -0
  350. package/web/assets/splunk-DPuGGZIX.js +1 -0
  351. package/web/assets/spreadsheet-BnlQRxWz.js +1 -0
  352. package/web/assets/sql-C-Fa9hzb.js +1 -0
  353. package/web/assets/sql-CwA10oIk.js +1 -0
  354. package/web/assets/ssh-config-81Puc665.js +1 -0
  355. package/web/assets/stata-DGls8UgY.js +1 -0
  356. package/web/assets/stex-DhLUylSV.js +1 -0
  357. package/web/assets/stylus-9ZGSp3KB.js +1 -0
  358. package/web/assets/stylus-DBx-JbUM.js +1 -0
  359. package/web/assets/svelte-gQr6WDsc.js +1 -0
  360. package/web/assets/swift-CurfpLXH.js +1 -0
  361. package/web/assets/swift-LIGMYdoY.js +1 -0
  362. package/web/assets/synthwave-84-BnPKtV8a.js +1 -0
  363. package/web/assets/system-verilog-DhhazFNi.js +1 -0
  364. package/web/assets/systemd-Cvp21r3-.js +1 -0
  365. package/web/assets/talonscript-Ex_ZAXWk.js +1 -0
  366. package/web/assets/tasl-C6wcXx0u.js +1 -0
  367. package/web/assets/tcl-BPvzXR-t.js +1 -0
  368. package/web/assets/tcl-CMtw19Y3.js +1 -0
  369. package/web/assets/templ-CAmLeg1s.js +1 -0
  370. package/web/assets/terraform-BFKovB2a.js +1 -0
  371. package/web/assets/tex-BJpc6dbv.js +1 -0
  372. package/web/assets/textile-BUq3vgBH.js +1 -0
  373. package/web/assets/tiddlywiki-DRR6E4hS.js +1 -0
  374. package/web/assets/tiki-C1XMixgx.js +1 -0
  375. package/web/assets/tokyo-night-ByryBNMy.js +1 -0
  376. package/web/assets/toml-2TD737C5.js +1 -0
  377. package/web/assets/toml-BQjoWSzq.js +1 -0
  378. package/web/assets/troff-DbgTp3Cj.js +1 -0
  379. package/web/assets/trpc-Btt9QJAM.js +1 -0
  380. package/web/assets/ts-tags-CTBvtuWV.js +1 -0
  381. package/web/assets/tsv-B4GEmyrY.js +1 -0
  382. package/web/assets/tsx-D6BgBzWj.js +1 -0
  383. package/web/assets/ttcn-1OxchGWH.js +1 -0
  384. package/web/assets/ttcn-cfg-CC8OhyHu.js +1 -0
  385. package/web/assets/turtle-CrO-XU5O.js +1 -0
  386. package/web/assets/turtle-D1WjVU4-.js +1 -0
  387. package/web/assets/twig-BC4BZrit.js +1 -0
  388. package/web/assets/typescript-C5zt0SwC.js +1 -0
  389. package/web/assets/typespec-BlhpafUo.js +1 -0
  390. package/web/assets/typst-BFytn-nF.js +1 -0
  391. package/web/assets/v-QsV0mqFY.js +1 -0
  392. package/web/assets/vala-2OEMaeCr.js +1 -0
  393. package/web/assets/vb-Bf-XXYNJ.js +1 -0
  394. package/web/assets/vb-D9JlZMQx.js +1 -0
  395. package/web/assets/vbscript-HeSyWuOi.js +1 -0
  396. package/web/assets/velocity-CUkiDsJQ.js +1 -0
  397. package/web/assets/verilog-BFxB5RAN.js +1 -0
  398. package/web/assets/verilog-D04WYu-9.js +1 -0
  399. package/web/assets/vesper-RapGiuFK.js +1 -0
  400. package/web/assets/vhdl-BJUXQE-6.js +1 -0
  401. package/web/assets/vhdl-BmN7pPc4.js +1 -0
  402. package/web/assets/viml-CgKKOlcK.js +1 -0
  403. package/web/assets/vitesse-black-CK3sbzcK.js +1 -0
  404. package/web/assets/vitesse-dark-D1-w1Fr7.js +1 -0
  405. package/web/assets/vitesse-light-D7Ky4DHb.js +1 -0
  406. package/web/assets/vue-CWweBK92.js +1 -0
  407. package/web/assets/vue-html-B29OwJ5K.js +1 -0
  408. package/web/assets/vue-vine-Caa--IjA.js +1 -0
  409. package/web/assets/vyper-DyC3s8t1.js +1 -0
  410. package/web/assets/wasm-D0KG-h38.js +1 -0
  411. package/web/assets/wasm-HmdyAy9e.js +1 -0
  412. package/web/assets/webidl-advQMGTP.js +1 -0
  413. package/web/assets/webworkerAll-B7LwJl0z.js +1 -0
  414. package/web/assets/wenyan-2PUFg5JI.js +1 -0
  415. package/web/assets/wgsl-CN7jA0x_.js +1 -0
  416. package/web/assets/wikitext-jh9pTKmw.js +1 -0
  417. package/web/assets/wit-DlUr23eQ.js +1 -0
  418. package/web/assets/wolfram-BunKvAKE.js +1 -0
  419. package/web/assets/xml-DY6OW6fx.js +1 -0
  420. package/web/assets/xquery-CNzoFgd7.js +1 -0
  421. package/web/assets/xsl-CAbj-pad.js +1 -0
  422. package/web/assets/yacas-BsmlDKac.js +1 -0
  423. package/web/assets/yaml-hSl-jO2_.js +1 -0
  424. package/web/assets/z80-Bnez4vZ_.js +1 -0
  425. package/web/assets/zenscript-NGWkhbj8.js +1 -0
  426. package/web/assets/zig-B-X7Vv3F.js +1 -0
  427. package/web/index.html +11 -2
  428. package/dist/src-DFu4IXMV.mjs +0 -26051
  429. package/web/assets/BufferResource-CYUkNl6e.js +0 -185
  430. package/web/assets/CanvasRenderer-B3FZcTbO.js +0 -1
  431. package/web/assets/Filter-B6m1PS4e.js +0 -1
  432. package/web/assets/RenderTargetSystem-D-tQO-WR.js +0 -172
  433. package/web/assets/WebGLRenderer-CJA_VvyN.js +0 -156
  434. package/web/assets/WebGPURenderer-CL8THZq8.js +0 -41
  435. package/web/assets/abap-BdImnpbu.js +0 -1
  436. package/web/assets/actionscript-3-CfeIJUat.js +0 -1
  437. package/web/assets/ada-bCR0ucgS.js +0 -1
  438. package/web/assets/andromeeda-C-Jbm3Hp.js +0 -1
  439. package/web/assets/angular-html-CU67Zn6k.js +0 -1
  440. package/web/assets/angular-ts-BwZT4LLn.js +0 -1
  441. package/web/assets/apache-Pmp26Uib.js +0 -1
  442. package/web/assets/apex-DDbsPZ6N.js +0 -1
  443. package/web/assets/apl-B4CMkyY2.js +0 -1
  444. package/web/assets/apl-dKokRX4l.js +0 -1
  445. package/web/assets/applescript-Co6uUVPk.js +0 -1
  446. package/web/assets/ara-BRHolxvo.js +0 -1
  447. package/web/assets/asciiarmor-Df11BRmG.js +0 -1
  448. package/web/assets/asciidoc-Dv7Oe6Be.js +0 -1
  449. package/web/assets/asm-D_Q5rh1f.js +0 -1
  450. package/web/assets/asn1-EdZsLKOL.js +0 -1
  451. package/web/assets/asterisk-B-8jnY81.js +0 -1
  452. package/web/assets/astro-CbQHKStN.js +0 -1
  453. package/web/assets/aurora-x-D-2ljcwZ.js +0 -1
  454. package/web/assets/awk-DMzUqQB5.js +0 -1
  455. package/web/assets/ayu-dark-Cv9koXgw.js +0 -1
  456. package/web/assets/ballerina-BFfxhgS-.js +0 -1
  457. package/web/assets/bat-BkioyH1T.js +0 -1
  458. package/web/assets/beancount-k_qm7-4y.js +0 -1
  459. package/web/assets/berry-uYugtg8r.js +0 -1
  460. package/web/assets/bibtex-CHM0blh-.js +0 -1
  461. package/web/assets/bicep-Bmn6On1c.js +0 -1
  462. package/web/assets/blade-DVc8C-J4.js +0 -1
  463. package/web/assets/brainfuck-C4LP7Hcl.js +0 -1
  464. package/web/assets/browserAll-Bp7d2QAW.js +0 -14
  465. package/web/assets/bsl-BO_Y6i37.js +0 -1
  466. package/web/assets/c-BIGW1oBm.js +0 -1
  467. package/web/assets/cadence-Bv_4Rxtq.js +0 -1
  468. package/web/assets/cairo-KRGpt6FW.js +0 -1
  469. package/web/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  470. package/web/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  471. package/web/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  472. package/web/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  473. package/web/assets/clarity-D53aC0YG.js +0 -1
  474. package/web/assets/clike-B9uivgTg.js +0 -1
  475. package/web/assets/clojure-BMjYHr_A.js +0 -1
  476. package/web/assets/clojure-P80f7IUj.js +0 -1
  477. package/web/assets/cmake-BQqOBYOt.js +0 -1
  478. package/web/assets/cmake-D1j8_8rp.js +0 -1
  479. package/web/assets/cobol-CWcv1MsR.js +0 -1
  480. package/web/assets/cobol-nwyudZeR.js +0 -1
  481. package/web/assets/codeowners-Bp6g37R7.js +0 -1
  482. package/web/assets/codeql-DsOJ9woJ.js +0 -1
  483. package/web/assets/coffee-Ch7k5sss.js +0 -1
  484. package/web/assets/coffeescript-S37ZYGWr.js +0 -1
  485. package/web/assets/common-lisp-Cg-RD9OK.js +0 -1
  486. package/web/assets/commonlisp-DBKNyK5s.js +0 -1
  487. package/web/assets/coq-DkFqJrB1.js +0 -1
  488. package/web/assets/cpp-CofmeUqb.js +0 -1
  489. package/web/assets/crystal-SjHAIU92.js +0 -1
  490. package/web/assets/crystal-tKQVLTB8.js +0 -1
  491. package/web/assets/csharp-K5feNrxe.js +0 -1
  492. package/web/assets/css-BnMrqG3P.js +0 -1
  493. package/web/assets/css-DPfMkruS.js +0 -1
  494. package/web/assets/csv-fuZLfV_i.js +0 -1
  495. package/web/assets/cue-D82EKSYY.js +0 -1
  496. package/web/assets/cypher-COkxafJQ.js +0 -1
  497. package/web/assets/cypher-C_CwsFkJ.js +0 -1
  498. package/web/assets/d-85-TOEBH.js +0 -1
  499. package/web/assets/d-pRatUO7H.js +0 -1
  500. package/web/assets/dark-plus-C3mMm8J8.js +0 -1
  501. package/web/assets/dart-CF10PKvl.js +0 -1
  502. package/web/assets/dax-CEL-wOlO.js +0 -1
  503. package/web/assets/desktop-BmXAJ9_W.js +0 -1
  504. package/web/assets/diff-D97Zzqfu.js +0 -1
  505. package/web/assets/diff-DbItnlRl.js +0 -1
  506. package/web/assets/docker-BcOcwvcX.js +0 -1
  507. package/web/assets/dockerfile-BKs6k2Af.js +0 -1
  508. package/web/assets/dotenv-Da5cRb03.js +0 -1
  509. package/web/assets/dracula-BzJJZx-M.js +0 -1
  510. package/web/assets/dracula-soft-BXkSAIEj.js +0 -1
  511. package/web/assets/dream-maker-BtqSS_iP.js +0 -1
  512. package/web/assets/dtd-DF_7sFjM.js +0 -1
  513. package/web/assets/dylan-DwRh75JA.js +0 -1
  514. package/web/assets/ebnf-CDyGwa7X.js +0 -1
  515. package/web/assets/ecl-Cabwm37j.js +0 -1
  516. package/web/assets/edge-BkV0erSs.js +0 -1
  517. package/web/assets/eiffel-CnydiIhH.js +0 -1
  518. package/web/assets/elixir-CDX3lj18.js +0 -1
  519. package/web/assets/elm-DbKCFpqz.js +0 -1
  520. package/web/assets/elm-vLlmbW-K.js +0 -1
  521. package/web/assets/emacs-lisp-C9XAeP06.js +0 -1
  522. package/web/assets/erb-BOJIQeun.js +0 -1
  523. package/web/assets/erlang-BNw1qcRV.js +0 -1
  524. package/web/assets/erlang-DsQrWhSR.js +0 -1
  525. package/web/assets/everforest-dark-BgDCqdQA.js +0 -1
  526. package/web/assets/everforest-light-C8M2exoo.js +0 -1
  527. package/web/assets/factor-kuTfRLto.js +0 -1
  528. package/web/assets/fcl-Kvtd6kyn.js +0 -1
  529. package/web/assets/fennel-BYunw83y.js +0 -1
  530. package/web/assets/fish-BvzEVeQv.js +0 -1
  531. package/web/assets/fluent-C4IJs8-o.js +0 -1
  532. package/web/assets/forth-Ffai-XNe.js +0 -1
  533. package/web/assets/fortran-DYz_wnZ1.js +0 -1
  534. package/web/assets/fortran-fixed-form-BZjJHVRy.js +0 -1
  535. package/web/assets/fortran-free-form-D22FLkUw.js +0 -1
  536. package/web/assets/fsharp-CXgrBDvD.js +0 -1
  537. package/web/assets/gas-Bneqetm1.js +0 -1
  538. package/web/assets/gdresource-B7Tvp0Sc.js +0 -1
  539. package/web/assets/gdscript-DTMYz4Jt.js +0 -1
  540. package/web/assets/gdshader-DkwncUOv.js +0 -1
  541. package/web/assets/genie-D0YGMca9.js +0 -1
  542. package/web/assets/gherkin-DyxjwDmM.js +0 -1
  543. package/web/assets/gherkin-heZmZLOM.js +0 -1
  544. package/web/assets/ghostty-web-Dn3qPWne.js +0 -13
  545. package/web/assets/git-commit-F4YmCXRG.js +0 -1
  546. package/web/assets/git-rebase-r7XF79zn.js +0 -1
  547. package/web/assets/github-dark-DHJKELXO.js +0 -1
  548. package/web/assets/github-dark-default-Cuk6v7N8.js +0 -1
  549. package/web/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  550. package/web/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  551. package/web/assets/github-light-DAi9KRSo.js +0 -1
  552. package/web/assets/github-light-default-D7oLnXFd.js +0 -1
  553. package/web/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  554. package/web/assets/gleam-BspZqrRM.js +0 -1
  555. package/web/assets/glimmer-js-Rg0-pVw9.js +0 -1
  556. package/web/assets/glimmer-ts-U6CK756n.js +0 -1
  557. package/web/assets/glsl-DplSGwfg.js +0 -1
  558. package/web/assets/gnuplot-DdkO51Og.js +0 -1
  559. package/web/assets/go-Dn2_MT6a.js +0 -1
  560. package/web/assets/graphql-ChdNCCLP.js +0 -1
  561. package/web/assets/groovy-D9Dt4D0W.js +0 -1
  562. package/web/assets/groovy-gcz8RCvz.js +0 -1
  563. package/web/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  564. package/web/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  565. package/web/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  566. package/web/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  567. package/web/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  568. package/web/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  569. package/web/assets/hack-CaT9iCJl.js +0 -1
  570. package/web/assets/haml-B8DHNrY2.js +0 -1
  571. package/web/assets/handlebars-BL8al0AC.js +0 -1
  572. package/web/assets/haskell-Cw1EW3IL.js +0 -1
  573. package/web/assets/haskell-Df6bDoY_.js +0 -1
  574. package/web/assets/haxe-CzTSHFRz.js +0 -1
  575. package/web/assets/haxe-H-WmDvRZ.js +0 -1
  576. package/web/assets/hcl-BWvSN4gD.js +0 -1
  577. package/web/assets/hjson-D5-asLiD.js +0 -1
  578. package/web/assets/hlsl-D3lLCCz7.js +0 -1
  579. package/web/assets/houston-DnULxvSX.js +0 -1
  580. package/web/assets/html-GMplVEZG.js +0 -1
  581. package/web/assets/html-derivative-BFtXZ54Q.js +0 -1
  582. package/web/assets/http-DBlCnlav.js +0 -1
  583. package/web/assets/http-jrhK8wxY.js +0 -1
  584. package/web/assets/hurl-irOxFIW8.js +0 -1
  585. package/web/assets/hxml-Bvhsp5Yf.js +0 -1
  586. package/web/assets/hy-DFXneXwc.js +0 -1
  587. package/web/assets/idl-BEugSyMb.js +0 -1
  588. package/web/assets/imba-DGztddWO.js +0 -1
  589. package/web/assets/index--lAEzTl3.js +0 -1
  590. package/web/assets/index-B_QlxcT9.js +0 -1
  591. package/web/assets/index-CKG6_6g8.js +0 -1
  592. package/web/assets/index-CXQzuBsO.js +0 -1
  593. package/web/assets/index-CeCKFMBL.js +0 -1
  594. package/web/assets/index-Cy7P7qsp.js +0 -1546
  595. package/web/assets/index-D3_KWKkX.js +0 -7
  596. package/web/assets/index-D64umkMM.js +0 -1
  597. package/web/assets/index-D7SV9jDS.js +0 -1
  598. package/web/assets/index-D8ZU3Gye.css +0 -1
  599. package/web/assets/index-DF-P0r8_.js +0 -1
  600. package/web/assets/index-DIk8Jt_d.js +0 -3
  601. package/web/assets/index-DVQLid3N.js +0 -1
  602. package/web/assets/index-DbAAfBjU.js +0 -1
  603. package/web/assets/index-G43sk1RJ.js +0 -1
  604. package/web/assets/index-QwKm9rik.js +0 -2
  605. package/web/assets/index-oMDefHHq.js +0 -1
  606. package/web/assets/ini-BEwlwnbL.js +0 -1
  607. package/web/assets/java-CylS5w8V.js +0 -1
  608. package/web/assets/javascript-iXu5QeM3.js +0 -1
  609. package/web/assets/javascript-wDzz0qaB.js +0 -1
  610. package/web/assets/jinja-4LBKfQ-Z.js +0 -1
  611. package/web/assets/jison-wvAkD_A8.js +0 -1
  612. package/web/assets/json-Cp-IABpG.js +0 -1
  613. package/web/assets/json5-C9tS-k6U.js +0 -1
  614. package/web/assets/jsonc-Des-eS-w.js +0 -1
  615. package/web/assets/jsonl-DcaNXYhu.js +0 -1
  616. package/web/assets/jsonnet-DFQXde-d.js +0 -1
  617. package/web/assets/jssm-C2t-YnRu.js +0 -1
  618. package/web/assets/jsx-g9-lgVsj.js +0 -1
  619. package/web/assets/julia-C8NyazO9.js +0 -1
  620. package/web/assets/julia-DuME0IfC.js +0 -1
  621. package/web/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  622. package/web/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  623. package/web/assets/kanagawa-wave-DWedfzmr.js +0 -1
  624. package/web/assets/kdl-DV7GczEv.js +0 -1
  625. package/web/assets/kotlin-BdnUsdx6.js +0 -1
  626. package/web/assets/kusto-BvAqAH-y.js +0 -1
  627. package/web/assets/laserwave-DUszq2jm.js +0 -1
  628. package/web/assets/latex-BdAV_C_H.js +0 -1
  629. package/web/assets/lean-Bc6EcWN3.js +0 -1
  630. package/web/assets/less-B1dDrJ26.js +0 -1
  631. package/web/assets/light-plus-B7mTdjB0.js +0 -1
  632. package/web/assets/liquid-DYVedYrR.js +0 -1
  633. package/web/assets/livescript-BwQOo05w.js +0 -1
  634. package/web/assets/llvm-BtvRca6l.js +0 -1
  635. package/web/assets/log-2UxHyX5q.js +0 -1
  636. package/web/assets/logo-BtOb2qkB.js +0 -1
  637. package/web/assets/lua-BbnMAYS6.js +0 -1
  638. package/web/assets/lua-BgMRiT3U.js +0 -1
  639. package/web/assets/luau-CXu1NL6O.js +0 -1
  640. package/web/assets/make-CHLpvVh8.js +0 -1
  641. package/web/assets/markdown-Cvjx9yec.js +0 -1
  642. package/web/assets/marko-CPi9NSCl.js +0 -1
  643. package/web/assets/material-theme-D5KoaKCx.js +0 -1
  644. package/web/assets/material-theme-darker-BfHTSMKl.js +0 -1
  645. package/web/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  646. package/web/assets/material-theme-ocean-CyktbL80.js +0 -1
  647. package/web/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  648. package/web/assets/mathematica-DTrFuWx2.js +0 -1
  649. package/web/assets/matlab-D7o27uSR.js +0 -1
  650. package/web/assets/mbox-CNhZ1qSd.js +0 -1
  651. package/web/assets/mdc-DUICxH0z.js +0 -1
  652. package/web/assets/mdx-Cmh6b_Ma.js +0 -1
  653. package/web/assets/mermaid-DKYwYmdq.js +0 -1
  654. package/web/assets/min-dark-CafNBF8u.js +0 -1
  655. package/web/assets/min-light-CTRr51gU.js +0 -1
  656. package/web/assets/mipsasm-CKIfxQSi.js +0 -1
  657. package/web/assets/mirc-CjQqDB4T.js +0 -1
  658. package/web/assets/mllike-CXdrOF99.js +0 -1
  659. package/web/assets/modelica-Dc1JOy9r.js +0 -1
  660. package/web/assets/mojo-1DNp92w6.js +0 -1
  661. package/web/assets/monokai-D4h5O-jR.js +0 -1
  662. package/web/assets/move-Bu9oaDYs.js +0 -1
  663. package/web/assets/mscgen-BA5vi2Kp.js +0 -1
  664. package/web/assets/mumps-BT43cFF4.js +0 -1
  665. package/web/assets/narrat-DRg8JJMk.js +0 -1
  666. package/web/assets/nextflow-BrzmwbiE.js +0 -1
  667. package/web/assets/nginx-DdIZxoE0.js +0 -1
  668. package/web/assets/nginx-DknmC5AR.js +0 -1
  669. package/web/assets/night-owl-C39BiMTA.js +0 -1
  670. package/web/assets/nim-CVrawwO9.js +0 -1
  671. package/web/assets/nix-c8nO5XWb.js +0 -1
  672. package/web/assets/nord-Ddv68eIx.js +0 -1
  673. package/web/assets/nsis-LdVXkNf5.js +0 -1
  674. package/web/assets/ntriples-BfvgReVJ.js +0 -1
  675. package/web/assets/nushell-C-sUppwS.js +0 -1
  676. package/web/assets/objective-c-DXmwc3jG.js +0 -1
  677. package/web/assets/objective-cpp-CLxacb5B.js +0 -1
  678. package/web/assets/ocaml-C0hk2d4L.js +0 -1
  679. package/web/assets/octave-Ck1zUtKM.js +0 -1
  680. package/web/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  681. package/web/assets/one-light-PoHY5YXO.js +0 -1
  682. package/web/assets/openscad-C4EeE6gA.js +0 -1
  683. package/web/assets/oz-BzwKVEFT.js +0 -1
  684. package/web/assets/pascal--L3eBynH.js +0 -1
  685. package/web/assets/pascal-D93ZcfNL.js +0 -1
  686. package/web/assets/perl-C0TMdlhV.js +0 -1
  687. package/web/assets/perl-CdXCOZ3F.js +0 -1
  688. package/web/assets/php-CDn_0X-4.js +0 -1
  689. package/web/assets/pig-CevX1Tat.js +0 -1
  690. package/web/assets/pkl-u5AG7uiY.js +0 -1
  691. package/web/assets/plastic-3e1v2bzS.js +0 -1
  692. package/web/assets/plsql-ChMvpjG-.js +0 -1
  693. package/web/assets/po-BTJTHyun.js +0 -1
  694. package/web/assets/poimandres-CS3Unz2-.js +0 -1
  695. package/web/assets/polar-C0HS_06l.js +0 -1
  696. package/web/assets/postcss-CXtECtnM.js +0 -1
  697. package/web/assets/powerquery-CEu0bR-o.js +0 -1
  698. package/web/assets/powershell-CFHJl5sT.js +0 -1
  699. package/web/assets/powershell-Dpen1YoG.js +0 -1
  700. package/web/assets/prisma-Dd19v3D-.js +0 -1
  701. package/web/assets/prolog-CbFg5uaA.js +0 -1
  702. package/web/assets/properties-C78fOPTZ.js +0 -1
  703. package/web/assets/proto-DyJlTyXw.js +0 -1
  704. package/web/assets/protobuf-ChK-085T.js +0 -1
  705. package/web/assets/pug-CGlum2m_.js +0 -1
  706. package/web/assets/pug-DeIclll2.js +0 -1
  707. package/web/assets/puppet-BMWR74SV.js +0 -1
  708. package/web/assets/puppet-DMA9R1ak.js +0 -1
  709. package/web/assets/purescript-CklMAg4u.js +0 -1
  710. package/web/assets/python-B6aJPvgy.js +0 -1
  711. package/web/assets/python-BuPzkPfP.js +0 -1
  712. package/web/assets/q-pXgVlZs6.js +0 -1
  713. package/web/assets/qml-3beO22l8.js +0 -1
  714. package/web/assets/qmldir-C8lEn-DE.js +0 -1
  715. package/web/assets/qss-IeuSbFQv.js +0 -1
  716. package/web/assets/r-B6wPVr8A.js +0 -1
  717. package/web/assets/r-DiinP2Uv.js +0 -1
  718. package/web/assets/racket-BqYA7rlc.js +0 -1
  719. package/web/assets/raku-DXvB9xmW.js +0 -1
  720. package/web/assets/razor-CE9lU5zL.js +0 -1
  721. package/web/assets/red-bN70gL4F.js +0 -1
  722. package/web/assets/reg-C-SQnVFl.js +0 -1
  723. package/web/assets/regexp-CDVJQ6XC.js +0 -1
  724. package/web/assets/rel-C3B-1QV4.js +0 -1
  725. package/web/assets/riscv-BM1_JUlF.js +0 -1
  726. package/web/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  727. package/web/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  728. package/web/assets/rose-pine-qdsjHGoJ.js +0 -1
  729. package/web/assets/rosmsg-BJDFO7_C.js +0 -1
  730. package/web/assets/rpm-CTu-6PCP.js +0 -1
  731. package/web/assets/rst-B0xPkSld.js +0 -1
  732. package/web/assets/ruby-B2Rjki9n.js +0 -1
  733. package/web/assets/ruby-BvKwtOVI.js +0 -1
  734. package/web/assets/rust-B1yitclQ.js +0 -1
  735. package/web/assets/sas-B4kiWyti.js +0 -1
  736. package/web/assets/sas-cz2c8ADy.js +0 -1
  737. package/web/assets/sass-Cj5Yp3dK.js +0 -1
  738. package/web/assets/scala-C151Ov-r.js +0 -1
  739. package/web/assets/scheme-C41bIUwD.js +0 -1
  740. package/web/assets/scheme-C98Dy4si.js +0 -1
  741. package/web/assets/scss-OYdSNvt2.js +0 -1
  742. package/web/assets/sdbl-DVxCFoDh.js +0 -1
  743. package/web/assets/shaderlab-Dg9Lc6iA.js +0 -1
  744. package/web/assets/shell-CjFT_Tl9.js +0 -1
  745. package/web/assets/shellscript-Yzrsuije.js +0 -1
  746. package/web/assets/shellsession-BADoaaVG.js +0 -1
  747. package/web/assets/sieve-C3Gn_uJK.js +0 -1
  748. package/web/assets/simple-mode-GW_nhZxv.js +0 -1
  749. package/web/assets/slack-dark-BthQWCQV.js +0 -1
  750. package/web/assets/slack-ochin-DqwNpetd.js +0 -1
  751. package/web/assets/smalltalk-BERRCDM3.js +0 -1
  752. package/web/assets/smalltalk-CnHTOXQT.js +0 -1
  753. package/web/assets/snazzy-light-Bw305WKR.js +0 -1
  754. package/web/assets/solarized-dark-DXbdFlpD.js +0 -1
  755. package/web/assets/solarized-light-L9t79GZl.js +0 -1
  756. package/web/assets/solidity-rGO070M0.js +0 -1
  757. package/web/assets/solr-DehyRSwq.js +0 -1
  758. package/web/assets/soy-Brmx7dQM.js +0 -1
  759. package/web/assets/sparql-DkYu6x3z.js +0 -1
  760. package/web/assets/sparql-rVzFXLq3.js +0 -1
  761. package/web/assets/splunk-BtCnVYZw.js +0 -1
  762. package/web/assets/spreadsheet-BCZA_wO0.js +0 -1
  763. package/web/assets/sql-BLtJtn59.js +0 -1
  764. package/web/assets/sql-D0XecflT.js +0 -1
  765. package/web/assets/ssh-config-_ykCGR6B.js +0 -1
  766. package/web/assets/stata-BH5u7GGu.js +0 -1
  767. package/web/assets/stex-C3f8Ysf7.js +0 -1
  768. package/web/assets/stylus-B533Al4x.js +0 -1
  769. package/web/assets/stylus-BEDo0Tqx.js +0 -1
  770. package/web/assets/svelte-3Dk4HxPD.js +0 -1
  771. package/web/assets/swift-BzpIVaGY.js +0 -1
  772. package/web/assets/swift-Dg5xB15N.js +0 -1
  773. package/web/assets/synthwave-84-CbfX1IO0.js +0 -1
  774. package/web/assets/system-verilog-CnnmHF94.js +0 -1
  775. package/web/assets/systemd-4A_iFExJ.js +0 -1
  776. package/web/assets/talonscript-CkByrt1z.js +0 -1
  777. package/web/assets/tasl-QIJgUcNo.js +0 -1
  778. package/web/assets/tcl-DVfN8rqt.js +0 -1
  779. package/web/assets/tcl-dwOrl1Do.js +0 -1
  780. package/web/assets/templ-W15q3VgB.js +0 -1
  781. package/web/assets/terraform-BETggiCN.js +0 -1
  782. package/web/assets/tex-CxkMU7Pf.js +0 -1
  783. package/web/assets/textile-CnDTJFAw.js +0 -1
  784. package/web/assets/tiddlywiki-DO-Gjzrf.js +0 -1
  785. package/web/assets/tiki-DGYXhP31.js +0 -1
  786. package/web/assets/tokyo-night-hegEt444.js +0 -1
  787. package/web/assets/toml-Bm5Em-hy.js +0 -1
  788. package/web/assets/toml-vGWfd6FD.js +0 -1
  789. package/web/assets/troff-wAsdV37c.js +0 -1
  790. package/web/assets/ts-tags-zn1MmPIZ.js +0 -1
  791. package/web/assets/tsv-B_m7g4N7.js +0 -1
  792. package/web/assets/tsx-COt5Ahok.js +0 -1
  793. package/web/assets/ttcn-CfJYG6tj.js +0 -1
  794. package/web/assets/ttcn-cfg-B9xdYoR4.js +0 -1
  795. package/web/assets/turtle-B1tBg_DP.js +0 -1
  796. package/web/assets/turtle-BsS91CYL.js +0 -1
  797. package/web/assets/twig-CO9l9SDP.js +0 -1
  798. package/web/assets/typescript-BPQ3VLAy.js +0 -1
  799. package/web/assets/typespec-BGHnOYBU.js +0 -1
  800. package/web/assets/typst-DHCkPAjA.js +0 -1
  801. package/web/assets/v-BcVCzyr7.js +0 -1
  802. package/web/assets/vala-CsfeWuGM.js +0 -1
  803. package/web/assets/vb-CmGdzxic.js +0 -1
  804. package/web/assets/vb-D17OF-Vu.js +0 -1
  805. package/web/assets/vbscript-BuJXcnF6.js +0 -1
  806. package/web/assets/velocity-D8B20fx6.js +0 -1
  807. package/web/assets/verilog-BQ8w6xss.js +0 -1
  808. package/web/assets/verilog-C6RDOZhf.js +0 -1
  809. package/web/assets/vesper-DU1UobuO.js +0 -1
  810. package/web/assets/vhdl-CeAyd5Ju.js +0 -1
  811. package/web/assets/vhdl-lSbBsy5d.js +0 -1
  812. package/web/assets/viml-CJc9bBzg.js +0 -1
  813. package/web/assets/vitesse-black-Bkuqu6BP.js +0 -1
  814. package/web/assets/vitesse-dark-D0r3Knsf.js +0 -1
  815. package/web/assets/vitesse-light-CVO1_9PV.js +0 -1
  816. package/web/assets/vue-DnHKYNfI.js +0 -1
  817. package/web/assets/vue-html-CChd_i61.js +0 -1
  818. package/web/assets/vue-vine-8moa0y9V.js +0 -1
  819. package/web/assets/vyper-CDx5xZoG.js +0 -1
  820. package/web/assets/wasm-CG6Dc4jp.js +0 -1
  821. package/web/assets/wasm-MzD3tlZU.js +0 -1
  822. package/web/assets/webidl-ZXfAyPTL.js +0 -1
  823. package/web/assets/webworkerAll-iiZBXOCn.js +0 -83
  824. package/web/assets/wenyan-BV7otONQ.js +0 -1
  825. package/web/assets/wgsl-Dx-B1_4e.js +0 -1
  826. package/web/assets/wikitext-BhOHFoWU.js +0 -1
  827. package/web/assets/wit-5i3qLPDT.js +0 -1
  828. package/web/assets/wolfram-lXgVvXCa.js +0 -1
  829. package/web/assets/xml-sdJ4AIDG.js +0 -1
  830. package/web/assets/xquery-DzFWVndE.js +0 -1
  831. package/web/assets/xsl-CtQFsRM5.js +0 -1
  832. package/web/assets/yacas-BJ4BC0dw.js +0 -1
  833. package/web/assets/yaml-Buea-lGh.js +0 -1
  834. package/web/assets/z80-Hz9HOZM7.js +0 -1
  835. package/web/assets/zenscript-DVFEvuxE.js +0 -1
  836. package/web/assets/zig-VOosw3JB.js +0 -1
@@ -1,156 +0,0 @@
1
- import{K as R,r as F,T as d,a9 as P,F as B,y as b,z,u as Be,S as O,V as S,aJ as ye,ae as q,aK as Ne,A as g,aA as V,$ as y,ad as N,af as M,R as Z,aL as J,aM as Ce,aN as De,aO as Q,aP as Ie,a0 as Ge,a1 as Ue,a2 as A}from"./index-Cy7P7qsp.js";import{e as Fe,G as Pe,c as Oe,b as Me,U as Le,B as ee,d as C,f as te,g as we}from"./BufferResource-CYUkNl6e.js";import{R as He,S as Ve,d as Xe}from"./RenderTargetSystem-D-tQO-WR.js";import"./Filter-B6m1PS4e.js";function ke(){const{userAgent:t}=R.get().getNavigator();return/^((?!chrome|android).)*safari/i.test(t)}class re{constructor(){this._tempState=F.for2d(),this._didUploadHash={}}init(e){e.renderer.runners.contextChange.add(this)}contextChange(){this._didUploadHash={}}start(e,r,n){const s=e.renderer,a=this._didUploadHash[n.uid];s.shader.bind(n,a),a||(this._didUploadHash[n.uid]=!0),s.shader.updateUniformGroup(s.globalUniforms.uniformGroup),s.geometry.bind(r,n.glProgram)}execute(e,r){const n=e.renderer;this._tempState.blendMode=r.blendMode,n.state.set(this._tempState);const s=r.textures.textures;for(let a=0;a<r.textures.count;a++)n.texture.bind(s[a],a);n.geometry.draw(r.topology,r.size,r.start)}}re.extension={type:[d.WebGLPipesAdaptor],name:"batch"};var v=(t=>(t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t))(v||{});class We{constructor(e,r){this._lastBindBaseLocation=-1,this._lastBindCallId=-1,this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.type=r}destroy(){this.buffer=null,this.updateID=-1,this.byteLength=-1,this.type=-1,this._lastBindBaseLocation=-1,this._lastBindCallId=-1}}class ne{constructor(e){this._boundBufferBases=Object.create(null),this._minBaseLocation=0,this._nextBindBaseIndex=this._minBaseLocation,this._bindCallId=0,this._renderer=e,this._managedBuffers=new P({renderer:e,type:"resource",onUnload:this.onBufferUnload.bind(this),name:"glBuffer"})}destroy(){this._managedBuffers.destroy(),this._renderer=null,this._gl=null,this._boundBufferBases={}}contextChange(){this._gl=this._renderer.gl,this.destroyAll(!0),this._maxBindings=this._renderer.limits.maxUniformBindings}getGlBuffer(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]||this.createGLBuffer(e)}bind(e){const{_gl:r}=this,n=this.getGlBuffer(e);r.bindBuffer(n.type,n.buffer)}bindBufferBase(e,r){const{_gl:n}=this;this._boundBufferBases[r]!==e&&(this._boundBufferBases[r]=e,e._lastBindBaseLocation=r,n.bindBufferBase(n.UNIFORM_BUFFER,r,e.buffer))}nextBindBase(e){this._bindCallId++,this._minBaseLocation=0,e&&(this._boundBufferBases[0]=null,this._minBaseLocation=1,this._nextBindBaseIndex<1&&(this._nextBindBaseIndex=1))}freeLocationForBufferBase(e){let r=this.getLastBindBaseLocation(e);if(r>=this._minBaseLocation)return e._lastBindCallId=this._bindCallId,r;let n=0,s=this._nextBindBaseIndex;for(;n<2;){s>=this._maxBindings&&(s=this._minBaseLocation,n++);const a=this._boundBufferBases[s];if(a&&a._lastBindCallId===this._bindCallId){s++;continue}break}return r=s,this._nextBindBaseIndex=s+1,n>=2?-1:(e._lastBindCallId=this._bindCallId,this._boundBufferBases[r]=null,r)}getLastBindBaseLocation(e){const r=e._lastBindBaseLocation;return this._boundBufferBases[r]===e?r:-1}bindBufferRange(e,r,n,s){const{_gl:a}=this;n||(n=0),r||(r=0),this._boundBufferBases[r]=null,a.bindBufferRange(a.UNIFORM_BUFFER,r||0,e.buffer,n*256,s||256)}updateBuffer(e){const{_gl:r}=this,n=this.getGlBuffer(e);if(e._updateID===n.updateID)return n;n.updateID=e._updateID,r.bindBuffer(n.type,n.buffer);const s=e.data,a=e.descriptor.usage&B.STATIC?r.STATIC_DRAW:r.DYNAMIC_DRAW;return s?n.byteLength>=s.byteLength?r.bufferSubData(n.type,0,s,0,e._updateSize/s.BYTES_PER_ELEMENT):(n.byteLength=s.byteLength,r.bufferData(n.type,s,a)):(n.byteLength=e.descriptor.size,r.bufferData(n.type,n.byteLength,a)),n}destroyAll(e=!1){this._managedBuffers.removeAll(e)}onBufferUnload(e,r=!1){const n=e._gpuData[this._renderer.uid];n&&(r||this._gl.deleteBuffer(n.buffer))}createGLBuffer(e){const{_gl:r}=this;let n=v.ARRAY_BUFFER;e.descriptor.usage&B.INDEX?n=v.ELEMENT_ARRAY_BUFFER:e.descriptor.usage&B.UNIFORM&&(n=v.UNIFORM_BUFFER);const s=new We(r.createBuffer(),n);return e._gpuData[this._renderer.uid]=s,this._managedBuffers.add(e),s}resetState(){this._boundBufferBases=Object.create(null)}}ne.extension={type:[d.WebGLSystem],name:"buffer"};const L=class se{constructor(e){this.supports={uint32Indices:!0,uniformBufferObject:!0,vertexArrayObject:!0,srgbTextures:!0,nonPowOf2wrapping:!0,msaa:!0,nonPowOf2mipmaps:!0},this._renderer=e,this.extensions=Object.create(null),this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(e){this.gl=e,this._renderer.gl=e}init(e){e={...se.defaultOptions,...e};let r=this.multiView=e.multiView;if(e.context&&r&&(b("Renderer created with both a context and multiview enabled. Disabling multiView as both cannot work together."),r=!1),r?this.canvas=R.get().createCanvas(this._renderer.canvas.width,this._renderer.canvas.height):this.canvas=this._renderer.view.canvas,e.context)this.initFromContext(e.context);else{const n=this._renderer.background.alpha<1,s=e.premultipliedAlpha??!0,a=e.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(e.preferWebGLVersion,{alpha:n,premultipliedAlpha:s,antialias:a,stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:e.powerPreference??"default"})}}ensureCanvasSize(e){if(!this.multiView){e!==this.canvas&&b("multiView is disabled, but targetCanvas is not the main canvas");return}const{canvas:r}=this;(r.width<e.width||r.height<e.height)&&(r.width=Math.max(e.width,e.width),r.height=Math.max(e.height,e.height))}initFromContext(e){this.gl=e,this.webGLVersion=e instanceof R.get().getWebGLRenderingContext()?1:2,this.getExtensions(),this.validateContext(e),this._renderer.runners.contextChange.emit(e);const r=this._renderer.view.canvas;r.addEventListener("webglcontextlost",this.handleContextLost,!1),r.addEventListener("webglcontextrestored",this.handleContextRestored,!1)}createContext(e,r){let n;const s=this.canvas;if(e===2&&(n=s.getContext("webgl2",r)),!n&&(n=s.getContext("webgl",r),!n))throw new Error("This browser does not support WebGL. Try using the canvas renderer");this.gl=n,this.initFromContext(this.gl)}getExtensions(){const{gl:e}=this,r={anisotropicFiltering:e.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),s3tc:e.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:e.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:e.getExtension("WEBGL_compressed_texture_etc"),etc1:e.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:e.getExtension("WEBGL_compressed_texture_atc"),astc:e.getExtension("WEBGL_compressed_texture_astc"),bptc:e.getExtension("EXT_texture_compression_bptc"),rgtc:e.getExtension("EXT_texture_compression_rgtc"),loseContext:e.getExtension("WEBGL_lose_context")};if(this.webGLVersion===1)this.extensions={...r,drawBuffers:e.getExtension("WEBGL_draw_buffers"),depthTexture:e.getExtension("WEBGL_depth_texture"),vertexArrayObject:e.getExtension("OES_vertex_array_object")||e.getExtension("MOZ_OES_vertex_array_object")||e.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:e.getExtension("OES_element_index_uint"),floatTexture:e.getExtension("OES_texture_float"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),textureHalfFloat:e.getExtension("OES_texture_half_float"),textureHalfFloatLinear:e.getExtension("OES_texture_half_float_linear"),vertexAttribDivisorANGLE:e.getExtension("ANGLE_instanced_arrays"),srgb:e.getExtension("EXT_sRGB")};else{this.extensions={...r,colorBufferFloat:e.getExtension("EXT_color_buffer_float")};const n=e.getExtension("WEBGL_provoking_vertex");n&&n.provokingVertexWEBGL(n.FIRST_VERTEX_CONVENTION_WEBGL)}}handleContextLost(e){e.preventDefault(),this._contextLossForced&&(this._contextLossForced=!1,setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext?.restoreContext()},0))}handleContextRestored(){this.getExtensions(),this._renderer.runners.contextChange.emit(this.gl)}destroy(){const e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext?.loseContext()}forceContextLoss(){this.extensions.loseContext?.loseContext(),this._contextLossForced=!0}validateContext(e){const r=e.getContextAttributes();r&&!r.stencil&&b("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const n=this.supports,s=this.webGLVersion===2,a=this.extensions;n.uint32Indices=s||!!a.uint32ElementIndex,n.uniformBufferObject=s,n.vertexArrayObject=s||!!a.vertexArrayObject,n.srgbTextures=s||!!a.srgb,n.nonPowOf2wrapping=s,n.nonPowOf2mipmaps=s,n.msaa=s,n.uint32Indices||b("Provided WebGL context does not support 32 index buffer, large scenes may not render correctly")}};L.extension={type:[d.WebGLSystem],name:"context"};L.defaultOptions={context:null,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:void 0,preferWebGLVersion:2,multiView:!1};let je=L;var G=(t=>(t[t.RGBA=6408]="RGBA",t[t.RGB=6407]="RGB",t[t.RG=33319]="RG",t[t.RED=6403]="RED",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.ALPHA=6406]="ALPHA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t))(G||{}),w=(t=>(t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t))(w||{}),l=(t=>(t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.BYTE=5120]="BYTE",t[t.SHORT=5122]="SHORT",t[t.INT=5124]="INT",t[t.FLOAT=5126]="FLOAT",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.HALF_FLOAT=36193]="HALF_FLOAT",t))(l||{});const X={uint8x2:l.UNSIGNED_BYTE,uint8x4:l.UNSIGNED_BYTE,sint8x2:l.BYTE,sint8x4:l.BYTE,unorm8x2:l.UNSIGNED_BYTE,unorm8x4:l.UNSIGNED_BYTE,snorm8x2:l.BYTE,snorm8x4:l.BYTE,uint16x2:l.UNSIGNED_SHORT,uint16x4:l.UNSIGNED_SHORT,sint16x2:l.SHORT,sint16x4:l.SHORT,unorm16x2:l.UNSIGNED_SHORT,unorm16x4:l.UNSIGNED_SHORT,snorm16x2:l.SHORT,snorm16x4:l.SHORT,float16x2:l.HALF_FLOAT,float16x4:l.HALF_FLOAT,float32:l.FLOAT,float32x2:l.FLOAT,float32x3:l.FLOAT,float32x4:l.FLOAT,uint32:l.UNSIGNED_INT,uint32x2:l.UNSIGNED_INT,uint32x3:l.UNSIGNED_INT,uint32x4:l.UNSIGNED_INT,sint32:l.INT,sint32x2:l.INT,sint32x3:l.INT,sint32x4:l.INT};function Ke(t){return X[t]??X.float32}const $e={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5};class Ye{constructor(){this.vaoCache=Object.create(null)}destroy(){this.vaoCache=Object.create(null)}}class ae{constructor(e){this._renderer=e,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this._managedGeometries=new P({renderer:e,type:"resource",onUnload:this.onGeometryUnload.bind(this),name:"glGeometry"})}contextChange(){const e=this.gl=this._renderer.gl;if(!this._renderer.context.supports.vertexArrayObject)throw new Error("[PixiJS] Vertex Array Objects are not supported on this device");this.destroyAll(!0);const r=this._renderer.context.extensions.vertexArrayObject;r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.bindVertexArray=s=>r.bindVertexArrayOES(s),e.deleteVertexArray=s=>r.deleteVertexArrayOES(s));const n=this._renderer.context.extensions.vertexAttribDivisorANGLE;n&&(e.drawArraysInstanced=(s,a,i,o)=>{n.drawArraysInstancedANGLE(s,a,i,o)},e.drawElementsInstanced=(s,a,i,o,c)=>{n.drawElementsInstancedANGLE(s,a,i,o,c)},e.vertexAttribDivisor=(s,a)=>n.vertexAttribDivisorANGLE(s,a)),this._activeGeometry=null,this._activeVao=null}bind(e,r){const n=this.gl;this._activeGeometry=e;const s=this.getVao(e,r);this._activeVao!==s&&(this._activeVao=s,n.bindVertexArray(s)),this.updateBuffers()}resetState(){this.unbind()}updateBuffers(){const e=this._activeGeometry,r=this._renderer.buffer;for(let n=0;n<e.buffers.length;n++){const s=e.buffers[n];r.updateBuffer(s)}e._gcLastUsed=this._renderer.gc.now}checkCompatibility(e,r){const n=e.attributes,s=r._attributeData;for(const a in s)if(!n[a])throw new Error(`shader and geometry incompatible, geometry missing the "${a}" attribute`)}getSignature(e,r){const n=e.attributes,s=r._attributeData,a=["g",e.uid];for(const i in n)s[i]&&a.push(i,s[i].location);return a.join("-")}getVao(e,r){return e._gpuData[this._renderer.uid]?.vaoCache[r._key]||this.initGeometryVao(e,r)}initGeometryVao(e,r,n=!0){const s=this._renderer.gl,a=this._renderer.buffer;this._renderer.shader._getProgramData(r),this.checkCompatibility(e,r);const i=this.getSignature(e,r);let o=e._gpuData[this._renderer.uid];o||(o=new Ye,e._gpuData[this._renderer.uid]=o,this._managedGeometries.add(e));const c=o.vaoCache;let u=c[i];if(u)return c[r._key]=u,u;Fe(e,r._attributeData);const _=e.buffers;u=s.createVertexArray(),s.bindVertexArray(u);for(let f=0;f<_.length;f++){const h=_[f];a.bind(h)}return this.activateVao(e,r),c[r._key]=u,c[i]=u,s.bindVertexArray(null),u}onGeometryUnload(e,r=!1){const n=e._gpuData[this._renderer.uid];if(!n)return;const s=n.vaoCache;if(!r)for(const a in s)this._activeVao!==s[a]&&this.resetState(),this.gl.deleteVertexArray(s[a])}destroyAll(e=!1){this._managedGeometries.removeAll(e)}activateVao(e,r){const n=this._renderer.gl,s=this._renderer.buffer,a=e.attributes;e.indexBuffer&&s.bind(e.indexBuffer);let i=null;for(const o in a){const c=a[o],u=c.buffer,_=s.getGlBuffer(u),f=r._attributeData[o];if(f){i!==_&&(s.bind(u),i=_);const h=f.location;n.enableVertexAttribArray(h);const m=z(c.format),p=Ke(c.format);if(f.format?.substring(1,4)==="int"?n.vertexAttribIPointer(h,m.size,p,c.stride,c.offset):n.vertexAttribPointer(h,m.size,p,m.normalised,c.stride,c.offset),c.instance)if(this.hasInstance){const E=c.divisor??1;n.vertexAttribDivisor(h,E)}else throw new Error("geometry error, GPU Instancing is not supported on this device")}}}draw(e,r,n,s){const{gl:a}=this._renderer,i=this._activeGeometry,o=$e[e||i.topology];if(s??(s=i.instanceCount),i.indexBuffer){const c=i.indexBuffer.data.BYTES_PER_ELEMENT,u=c===2?a.UNSIGNED_SHORT:a.UNSIGNED_INT;s!==1?a.drawElementsInstanced(o,r||i.indexBuffer.data.length,u,(n||0)*c,s):a.drawElements(o,r||i.indexBuffer.data.length,u,(n||0)*c)}else s!==1?a.drawArraysInstanced(o,n||0,r||i.getSize(),s):a.drawArrays(o,n||0,r||i.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this._managedGeometries.destroy(),this._renderer=null,this.gl=null,this._activeVao=null,this._activeGeometry=null}}ae.extension={type:[d.WebGLSystem],name:"geometry"};const ze=new ye({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),H=class ie{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(e={}){const{useBackBuffer:r,antialias:n}={...ie.defaultOptions,...e};this.useBackBuffer=r,this._antialias=n,this._renderer.context.supports.msaa||(b("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=F.for2d();const s=new Be({vertex:`
2
- attribute vec2 aPosition;
3
- out vec2 vUv;
4
-
5
- void main() {
6
- gl_Position = vec4(aPosition, 0.0, 1.0);
7
-
8
- vUv = (aPosition + 1.0) / 2.0;
9
-
10
- // flip dem UVs
11
- vUv.y = 1.0 - vUv.y;
12
- }`,fragment:`
13
- in vec2 vUv;
14
- out vec4 finalColor;
15
-
16
- uniform sampler2D uTexture;
17
-
18
- void main() {
19
- finalColor = texture(uTexture, vUv);
20
- }`,name:"big-triangle"});this._bigTriangleShader=new O({glProgram:s,resources:{uTexture:S.WHITE.source}})}renderStart(e){const r=this._renderer.renderTarget.getRenderTarget(e.target);if(this._useBackBufferThisRender=this.useBackBuffer&&!!r.isRoot,this._useBackBufferThisRender){const n=this._renderer.renderTarget.getRenderTarget(e.target);this._targetTexture=n.colorTexture,e.target=this._getBackBufferTexture(n.colorTexture)}}renderEnd(){this._presentBackBuffer()}_presentBackBuffer(){const e=this._renderer;e.renderTarget.finishRenderPass(),this._useBackBufferThisRender&&(e.renderTarget.bind(this._targetTexture,!1),this._bigTriangleShader.resources.uTexture=this._backBufferTexture.source,e.encoder.draw({geometry:ze,shader:this._bigTriangleShader,state:this._state}))}_getBackBufferTexture(e){return this._backBufferTexture=this._backBufferTexture||new S({source:new q({width:e.width,height:e.height,resolution:e._resolution,antialias:this._antialias})}),this._backBufferTexture.source.resize(e.width,e.height,e._resolution),this._backBufferTexture}destroy(){this._backBufferTexture&&(this._backBufferTexture.destroy(),this._backBufferTexture=null)}};H.extension={type:[d.WebGLSystem],name:"backBuffer",priority:1};H.defaultOptions={useBackBuffer:!1};let qe=H;class oe{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.gl.colorMask(!!(e&8),!!(e&4),!!(e&2),!!(e&1)))}}oe.extension={type:[d.WebGLSystem],name:"colorMask"};class ce{constructor(e){this.commandFinished=Promise.resolve(),this._renderer=e}setGeometry(e,r){this._renderer.geometry.bind(e,r.glProgram)}finishRenderPass(){}draw(e){const r=this._renderer,{geometry:n,shader:s,state:a,skipSync:i,topology:o,size:c,start:u,instanceCount:_}=e;r.shader.bind(s,i),r.geometry.bind(n,r.shader._activeProgram),a&&r.state.set(a),r.geometry.draw(o,c,u,_??n.instanceCount)}destroy(){this._renderer=null}}ce.extension={type:[d.WebGLSystem],name:"encoder"};class ue{constructor(e){this._renderer=e}contextChange(){const e=this._renderer.gl;this.maxTextures=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),this.maxBatchableTextures=Ne(this.maxTextures,e);const r=this._renderer.context.webGLVersion===2;this.maxUniformBindings=r?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0}destroy(){}}ue.extension={type:[d.WebGLSystem],name:"limits"};class Ze{constructor(){this.width=-1,this.height=-1,this.msaa=!1,this._attachedMipLevel=0,this._attachedLayer=0,this.msaaRenderBuffer=[]}}class _e{constructor(e){this._stencilCache={enabled:!1,stencilReference:0,stencilMode:g.NONE},this._renderTargetStencilState=Object.create(null),e.renderTarget.onRenderTargetChange.add(this)}contextChange(e){this._gl=e,this._comparisonFuncMapping={always:e.ALWAYS,never:e.NEVER,equal:e.EQUAL,"not-equal":e.NOTEQUAL,less:e.LESS,"less-equal":e.LEQUAL,greater:e.GREATER,"greater-equal":e.GEQUAL},this._stencilOpsMapping={keep:e.KEEP,zero:e.ZERO,replace:e.REPLACE,invert:e.INVERT,"increment-clamp":e.INCR,"decrement-clamp":e.DECR,"increment-wrap":e.INCR_WRAP,"decrement-wrap":e.DECR_WRAP},this.resetState()}onRenderTargetChange(e){if(this._activeRenderTarget===e)return;this._activeRenderTarget=e;let r=this._renderTargetStencilState[e.uid];r||(r=this._renderTargetStencilState[e.uid]={stencilMode:g.DISABLED,stencilReference:0}),this.setStencilMode(r.stencilMode,r.stencilReference)}resetState(){this._stencilCache.enabled=!1,this._stencilCache.stencilMode=g.NONE,this._stencilCache.stencilReference=0}setStencilMode(e,r){const n=this._renderTargetStencilState[this._activeRenderTarget.uid],s=this._gl,a=Pe[e],i=this._stencilCache;if(n.stencilMode=e,n.stencilReference=r,e===g.DISABLED){this._stencilCache.enabled&&(this._stencilCache.enabled=!1,s.disable(s.STENCIL_TEST));return}this._stencilCache.enabled||(this._stencilCache.enabled=!0,s.enable(s.STENCIL_TEST)),(e!==i.stencilMode||i.stencilReference!==r)&&(i.stencilMode=e,i.stencilReference=r,s.stencilFunc(this._comparisonFuncMapping[a.stencilBack.compare],r,255),s.stencilOp(s.KEEP,s.KEEP,this._stencilOpsMapping[a.stencilBack.passOp]))}}_e.extension={type:[d.WebGLSystem],name:"stencil"};const fe={f32:4,i32:4,"vec2<f32>":8,"vec3<f32>":12,"vec4<f32>":16,"vec2<i32>":8,"vec3<i32>":12,"vec4<i32>":16,"mat2x2<f32>":32,"mat3x3<f32>":48,"mat4x4<f32>":64};function Je(t){const e=t.map(a=>({data:a,offset:0,size:0})),r=16;let n=0,s=0;for(let a=0;a<e.length;a++){const i=e[a];if(n=fe[i.data.type],!n)throw new Error(`Unknown type ${i.data.type}`);i.data.size>1&&(n=Math.max(n,r)*i.data.size);const o=n===12?16:n;i.size=n;const c=s%r;c>0&&r-c<o?s+=(r-c)%16:s+=(n-c%n)%n,i.offset=s,s+=n}return s=Math.ceil(s/16)*16,{uboElements:e,size:s}}function Qe(t,e){const r=Math.max(fe[t.data.type]/16,1),n=t.data.value.length/t.data.size,s=(4-n%4)%4,a=t.data.type.indexOf("i32")>=0?"dataInt32":"data";return`
21
- v = uv.${t.data.name};
22
- offset += ${e};
23
-
24
- arrayOffset = offset;
25
-
26
- t = 0;
27
-
28
- for(var i=0; i < ${t.data.size*r}; i++)
29
- {
30
- for(var j = 0; j < ${n}; j++)
31
- {
32
- ${a}[arrayOffset++] = v[t++];
33
- }
34
- ${s!==0?`arrayOffset += ${s};`:""}
35
- }
36
- `}function et(t){return Oe(t,"uboStd40",Qe,Me)}class he extends Le{constructor(){super({createUboElements:Je,generateUboSync:et})}}he.extension={type:[d.WebGLSystem],name:"ubo"};class tt{constructor(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new V}init(e,r){this._renderer=e,this._renderTargetSystem=r,e.runners.contextChange.add(this)}contextChange(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new V;const e=this._renderer.gl;this._drawBuffersCache=[];for(let r=1;r<=16;r++)this._drawBuffersCache[r]=Array.from({length:r},(n,s)=>e.COLOR_ATTACHMENT0+s)}copyToTexture(e,r,n,s,a){const i=this._renderTargetSystem,o=this._renderer,c=i.getGpuRenderTarget(e),u=o.gl;return this.finishRenderPass(e),u.bindFramebuffer(u.FRAMEBUFFER,c.resolveTargetFramebuffer),o.texture.bind(r,0),u.copyTexSubImage2D(u.TEXTURE_2D,0,a.x,a.y,n.x,n.y,s.width,s.height),r}startRenderPass(e,r=!0,n,s,a=0,i=0){const o=this._renderTargetSystem,c=e.colorTexture,u=o.getGpuRenderTarget(e);if(i!==0&&this._renderer.context.webGLVersion<2)throw new Error("[RenderTargetSystem] Rendering to array layers requires WebGL2.");if(a>0){if(u.msaa)throw new Error("[RenderTargetSystem] Rendering to mip levels is not supported with MSAA render targets.");if(this._renderer.context.webGLVersion<2)throw new Error("[RenderTargetSystem] Rendering to mip levels requires WebGL2.")}let _=s.y;e.isRoot&&(_=c.pixelHeight-s.height-s.y),e.colorTextures.forEach(m=>{this._renderer.texture.unbind(m)});const f=this._renderer.gl;f.bindFramebuffer(f.FRAMEBUFFER,u.framebuffer),!e.isRoot&&(u._attachedMipLevel!==a||u._attachedLayer!==i)&&(e.colorTextures.forEach((m,p)=>{const E=this._renderer.texture.getGlSource(m);if(E.target===f.TEXTURE_2D){if(i!==0)throw new Error("[RenderTargetSystem] layer must be 0 when rendering to 2D textures in WebGL.");f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0+p,f.TEXTURE_2D,E.texture,a)}else if(E.target===f.TEXTURE_2D_ARRAY){if(this._renderer.context.webGLVersion<2)throw new Error("[RenderTargetSystem] Rendering to 2D array textures requires WebGL2.");f.framebufferTextureLayer(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0+p,E.texture,a,i)}else if(E.target===f.TEXTURE_CUBE_MAP){if(i<0||i>5)throw new Error("[RenderTargetSystem] Cube map layer must be between 0 and 5.");f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0+p,f.TEXTURE_CUBE_MAP_POSITIVE_X+i,E.texture,a)}else throw new Error("[RenderTargetSystem] Unsupported texture target for render-to-layer in WebGL.")}),u._attachedMipLevel=a,u._attachedLayer=i),e.colorTextures.length>1&&this._setDrawBuffers(e,f);const h=this._viewPortCache;(h.x!==s.x||h.y!==_||h.width!==s.width||h.height!==s.height)&&(h.x=s.x,h.y=_,h.width=s.width,h.height=s.height,f.viewport(s.x,_,s.width,s.height)),!u.depthStencilRenderBuffer&&(e.stencil||e.depth)&&this._initStencil(u),this.clear(e,r,n)}finishRenderPass(e){const n=this._renderTargetSystem.getGpuRenderTarget(e);if(!n.msaa)return;const s=this._renderer.gl;s.bindFramebuffer(s.FRAMEBUFFER,n.resolveTargetFramebuffer),s.bindFramebuffer(s.READ_FRAMEBUFFER,n.framebuffer),s.blitFramebuffer(0,0,n.width,n.height,0,0,n.width,n.height,s.COLOR_BUFFER_BIT,s.NEAREST),s.bindFramebuffer(s.FRAMEBUFFER,n.framebuffer)}initGpuRenderTarget(e){const n=this._renderer.gl,s=new Ze;return s._attachedMipLevel=0,s._attachedLayer=0,e.colorTexture instanceof y?(this._renderer.context.ensureCanvasSize(e.colorTexture.resource),s.framebuffer=null,s):(this._initColor(e,s),n.bindFramebuffer(n.FRAMEBUFFER,null),s)}destroyGpuRenderTarget(e){const r=this._renderer.gl;e.framebuffer&&(r.deleteFramebuffer(e.framebuffer),e.framebuffer=null),e.resolveTargetFramebuffer&&(r.deleteFramebuffer(e.resolveTargetFramebuffer),e.resolveTargetFramebuffer=null),e.depthStencilRenderBuffer&&(r.deleteRenderbuffer(e.depthStencilRenderBuffer),e.depthStencilRenderBuffer=null),e.msaaRenderBuffer.forEach(n=>{r.deleteRenderbuffer(n)}),e.msaaRenderBuffer=null}clear(e,r,n,s,a=0,i=0){if(!r)return;if(i!==0)throw new Error("[RenderTargetSystem] Clearing array layers is not supported in WebGL renderer.");const o=this._renderTargetSystem;typeof r=="boolean"&&(r=r?N.ALL:N.NONE);const c=this._renderer.gl;if(r&N.COLOR){n??(n=o.defaultClearColor);const u=this._clearColorCache,_=n;(u[0]!==_[0]||u[1]!==_[1]||u[2]!==_[2]||u[3]!==_[3])&&(u[0]=_[0],u[1]=_[1],u[2]=_[2],u[3]=_[3],c.clearColor(_[0],_[1],_[2],_[3]))}c.clear(r)}resizeGpuRenderTarget(e){if(e.isRoot)return;const n=this._renderTargetSystem.getGpuRenderTarget(e);this._resizeColor(e,n),(e.stencil||e.depth)&&this._resizeStencil(n)}_initColor(e,r){const n=this._renderer,s=n.gl,a=s.createFramebuffer();if(r.resolveTargetFramebuffer=a,s.bindFramebuffer(s.FRAMEBUFFER,a),r.width=e.colorTexture.source.pixelWidth,r.height=e.colorTexture.source.pixelHeight,e.colorTextures.forEach((o,c)=>{const u=o.source;u.antialias&&(n.context.supports.msaa?r.msaa=!0:b("[RenderTexture] Antialiasing on textures is not supported in WebGL1")),n.texture.bindSource(u,0);const _=n.texture.getGlSource(u),f=_.texture;if(_.target===s.TEXTURE_2D)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+c,s.TEXTURE_2D,f,0);else if(_.target===s.TEXTURE_2D_ARRAY){if(n.context.webGLVersion<2)throw new Error("[RenderTargetSystem] TEXTURE_2D_ARRAY requires WebGL2.");s.framebufferTextureLayer(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+c,f,0,0)}else if(_.target===s.TEXTURE_CUBE_MAP)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+c,s.TEXTURE_CUBE_MAP_POSITIVE_X,f,0);else throw new Error("[RenderTargetSystem] Unsupported texture target for framebuffer attachment.")}),r.msaa){const o=s.createFramebuffer();r.framebuffer=o,s.bindFramebuffer(s.FRAMEBUFFER,o),e.colorTextures.forEach((c,u)=>{const _=s.createRenderbuffer();r.msaaRenderBuffer[u]=_})}else r.framebuffer=a;this._resizeColor(e,r)}_resizeColor(e,r){const n=e.colorTexture.source;if(r.width=n.pixelWidth,r.height=n.pixelHeight,r._attachedMipLevel=0,r._attachedLayer=0,e.colorTextures.forEach((s,a)=>{a!==0&&s.source.resize(n.width,n.height,n._resolution)}),r.msaa){const s=this._renderer,a=s.gl,i=r.framebuffer;a.bindFramebuffer(a.FRAMEBUFFER,i),e.colorTextures.forEach((o,c)=>{const u=o.source;s.texture.bindSource(u,0);const f=s.texture.getGlSource(u).internalFormat,h=r.msaaRenderBuffer[c];a.bindRenderbuffer(a.RENDERBUFFER,h),a.renderbufferStorageMultisample(a.RENDERBUFFER,4,f,u.pixelWidth,u.pixelHeight),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0+c,a.RENDERBUFFER,h)})}}_initStencil(e){if(e.framebuffer===null)return;const r=this._renderer.gl,n=r.createRenderbuffer();e.depthStencilRenderBuffer=n,r.bindRenderbuffer(r.RENDERBUFFER,n),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,n),this._resizeStencil(e)}_resizeStencil(e){const r=this._renderer.gl;r.bindRenderbuffer(r.RENDERBUFFER,e.depthStencilRenderBuffer),e.msaa?r.renderbufferStorageMultisample(r.RENDERBUFFER,4,r.DEPTH24_STENCIL8,e.width,e.height):r.renderbufferStorage(r.RENDERBUFFER,this._renderer.context.webGLVersion===2?r.DEPTH24_STENCIL8:r.DEPTH_STENCIL,e.width,e.height)}prerender(e){const r=e.colorTexture.resource;this._renderer.context.multiView&&y.test(r)&&this._renderer.context.ensureCanvasSize(r)}postrender(e){if(this._renderer.context.multiView&&y.test(e.colorTexture.resource)){const r=this._renderer.context.canvas,n=e.colorTexture;n.context2D.drawImage(r,0,n.pixelHeight-r.height)}}_setDrawBuffers(e,r){const n=e.colorTextures.length,s=this._drawBuffersCache[n];if(this._renderer.context.webGLVersion===1){const a=this._renderer.context.extensions.drawBuffers;a?a.drawBuffersWEBGL(s):b("[RenderTexture] This WebGL1 context does not support rendering to multiple targets")}else r.drawBuffers(s)}}class le extends He{constructor(e){super(e),this.adaptor=new tt,this.adaptor.init(e,this)}}le.extension={type:[d.WebGLSystem],name:"renderTarget"};function rt(t,e){const r=[],n=[`
37
- var g = s.groups;
38
- var sS = r.shader;
39
- var p = s.glProgram;
40
- var ugS = r.uniformGroup;
41
- var resources;
42
- `];let s=!1,a=0;const i=e._getProgramData(t.glProgram);for(const c in t.groups){const u=t.groups[c];r.push(`
43
- resources = g[${c}].resources;
44
- `);for(const _ in u.resources){const f=u.resources[_];if(f instanceof M)if(f.ubo){const h=t._uniformBindMap[c][Number(_)];r.push(`
45
- sS.bindUniformBlock(
46
- resources[${_}],
47
- '${h}',
48
- ${t.glProgram._uniformBlockData[h].index}
49
- );
50
- `)}else r.push(`
51
- ugS.updateUniformGroup(resources[${_}], p, sD);
52
- `);else if(f instanceof ee){const h=t._uniformBindMap[c][Number(_)];r.push(`
53
- sS.bindUniformBlock(
54
- resources[${_}],
55
- '${h}',
56
- ${t.glProgram._uniformBlockData[h].index}
57
- );
58
- `)}else if(f instanceof q){const h=t._uniformBindMap[c][_],m=i.uniformData[h];m&&(s||(s=!0,n.push(`
59
- var tS = r.texture;
60
- `)),e._gl.uniform1i(m.location,a),r.push(`
61
- tS.bind(resources[${_}], ${a});
62
- `),a++)}}}const o=[...n,...r].join(`
63
- `);return new Function("r","s","sD",o)}class nt{constructor(e,r){this.program=e,this.uniformData=r,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBlockBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBlockBindings=null,this.program=null}}function k(t,e,r){const n=t.createShader(e);return t.shaderSource(n,r),t.compileShader(n),n}function D(t){const e=new Array(t);for(let r=0;r<e.length;r++)e[r]=!1;return e}function de(t,e){switch(t){case"float":return 0;case"vec2":return new Float32Array(2*e);case"vec3":return new Float32Array(3*e);case"vec4":return new Float32Array(4*e);case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"ivec2":return new Int32Array(2*e);case"ivec3":return new Int32Array(3*e);case"ivec4":return new Int32Array(4*e);case"uvec2":return new Uint32Array(2*e);case"uvec3":return new Uint32Array(3*e);case"uvec4":return new Uint32Array(4*e);case"bool":return!1;case"bvec2":return D(2*e);case"bvec3":return D(3*e);case"bvec4":return D(4*e);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}let T=null;const W={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"},st={float:"float32",vec2:"float32x2",vec3:"float32x3",vec4:"float32x4",int:"sint32",ivec2:"sint32x2",ivec3:"sint32x3",ivec4:"sint32x4",uint:"uint32",uvec2:"uint32x2",uvec3:"uint32x3",uvec4:"uint32x4",bool:"uint32",bvec2:"uint32x2",bvec3:"uint32x3",bvec4:"uint32x4"};function me(t,e){if(!T){const r=Object.keys(W);T={};for(let n=0;n<r.length;++n){const s=r[n];T[t[s]]=W[s]}}return T[e]}function at(t,e){const r=me(t,e);return st[r]||"float32"}function it(t,e,r=!1){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let i=0;i<s;i++){const o=e.getActiveAttrib(t,i);if(o.name.startsWith("gl_"))continue;const c=at(e,o.type);n[o.name]={location:0,format:c,stride:z(c).stride,offset:0,instance:!1,start:0}}const a=Object.keys(n);if(r){a.sort((i,o)=>i>o?1:-1);for(let i=0;i<a.length;i++)n[a[i]].location=i,e.bindAttribLocation(t,i,a[i]);e.linkProgram(t)}else for(let i=0;i<a.length;i++)n[a[i]].location=e.getAttribLocation(t,a[i]);return n}function ot(t,e){if(!e.ACTIVE_UNIFORM_BLOCKS)return{};const r={},n=e.getProgramParameter(t,e.ACTIVE_UNIFORM_BLOCKS);for(let s=0;s<n;s++){const a=e.getActiveUniformBlockName(t,s),i=e.getUniformBlockIndex(t,a),o=e.getActiveUniformBlockParameter(t,s,e.UNIFORM_BLOCK_DATA_SIZE);r[a]={name:a,index:i,size:o}}return r}function ct(t,e){const r={},n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<n;s++){const a=e.getActiveUniform(t,s),i=a.name.replace(/\[.*?\]$/,""),o=!!a.name.match(/\[.*?\]$/),c=me(e,a.type);r[i]={name:i,index:s,type:c,size:a.size,isArray:o,value:de(c,a.size)}}return r}function j(t,e){const r=t.getShaderSource(e).split(`
64
- `).map((u,_)=>`${_}: ${u}`),n=t.getShaderInfoLog(e),s=n.split(`
65
- `),a={},i=s.map(u=>parseFloat(u.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(u=>u&&!a[u]?(a[u]=!0,!0):!1),o=[""];i.forEach(u=>{r[u-1]=`%c${r[u-1]}%c`,o.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});const c=r.join(`
66
- `);o[0]=c,console.error(n),console.groupCollapsed("click to view full shader code"),console.warn(...o),console.groupEnd()}function ut(t,e,r,n){t.getProgramParameter(e,t.LINK_STATUS)||(t.getShaderParameter(r,t.COMPILE_STATUS)||j(t,r),t.getShaderParameter(n,t.COMPILE_STATUS)||j(t,n),console.error("PixiJS Error: Could not initialize shader."),t.getProgramInfoLog(e)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",t.getProgramInfoLog(e)))}function _t(t,e){const r=k(t,t.VERTEX_SHADER,e.vertex),n=k(t,t.FRAGMENT_SHADER,e.fragment),s=t.createProgram();t.attachShader(s,r),t.attachShader(s,n);const a=e.transformFeedbackVaryings;a&&(typeof t.transformFeedbackVaryings!="function"?b("TransformFeedback is not supported but TransformFeedbackVaryings are given."):t.transformFeedbackVaryings(s,a.names,a.bufferMode==="separate"?t.SEPARATE_ATTRIBS:t.INTERLEAVED_ATTRIBS)),t.linkProgram(s),t.getProgramParameter(s,t.LINK_STATUS)||ut(t,s,r,n),e._attributeData=it(s,t,!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(e.vertex)),e._uniformData=ct(s,t),e._uniformBlockData=ot(s,t),t.deleteShader(r),t.deleteShader(n);const i={};for(const c in e._uniformData){const u=e._uniformData[c];i[c]={location:t.getUniformLocation(s,c),value:de(u.type,u.size)}}return new nt(s,i)}const x={textureCount:0,blockIndex:0};class Ee{constructor(e){this._activeProgram=null,this._programDataHash=Object.create(null),this._shaderSyncFunctions=Object.create(null),this._renderer=e}contextChange(e){this._gl=e,this._programDataHash=Object.create(null),this._shaderSyncFunctions=Object.create(null),this._activeProgram=null}bind(e,r){if(this._setProgram(e.glProgram),r)return;x.textureCount=0,x.blockIndex=0;let n=this._shaderSyncFunctions[e.glProgram._key];n||(n=this._shaderSyncFunctions[e.glProgram._key]=this._generateShaderSync(e,this)),this._renderer.buffer.nextBindBase(!!e.glProgram.transformFeedbackVaryings),n(this._renderer,e,x)}updateUniformGroup(e){this._renderer.uniformGroup.updateUniformGroup(e,this._activeProgram,x)}bindUniformBlock(e,r,n=0){const s=this._renderer.buffer,a=this._getProgramData(this._activeProgram),i=e._bufferResource;i||this._renderer.ubo.updateUniformGroup(e);const o=e.buffer,c=s.updateBuffer(o),u=s.freeLocationForBufferBase(c);if(i){const{offset:f,size:h}=e;f===0&&h===o.data.byteLength?s.bindBufferBase(c,u):s.bindBufferRange(c,u,f)}else s.getLastBindBaseLocation(c)!==u&&s.bindBufferBase(c,u);const _=this._activeProgram._uniformBlockData[r].index;a.uniformBlockBindings[n]!==u&&(a.uniformBlockBindings[n]=u,this._renderer.gl.uniformBlockBinding(a.program,_,u))}_setProgram(e){if(this._activeProgram===e)return;this._activeProgram=e;const r=this._getProgramData(e);this._gl.useProgram(r.program)}_getProgramData(e){return this._programDataHash[e._key]||this._createProgramData(e)}_createProgramData(e){const r=e._key;return this._programDataHash[r]=_t(this._gl,e),this._programDataHash[r]}destroy(){for(const e of Object.keys(this._programDataHash))this._programDataHash[e].destroy();this._programDataHash=null,this._shaderSyncFunctions=null,this._activeProgram=null,this._renderer=null,this._gl=null}_generateShaderSync(e,r){return rt(e,r)}resetState(){this._activeProgram=null}}Ee.extension={type:[d.WebGLSystem],name:"shader"};const ft={f32:`if (cv !== v) {
67
- cu.value = v;
68
- gl.uniform1f(location, v);
69
- }`,"vec2<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
70
- cv[0] = v[0];
71
- cv[1] = v[1];
72
- gl.uniform2f(location, v[0], v[1]);
73
- }`,"vec3<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
74
- cv[0] = v[0];
75
- cv[1] = v[1];
76
- cv[2] = v[2];
77
- gl.uniform3f(location, v[0], v[1], v[2]);
78
- }`,"vec4<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
79
- cv[0] = v[0];
80
- cv[1] = v[1];
81
- cv[2] = v[2];
82
- cv[3] = v[3];
83
- gl.uniform4f(location, v[0], v[1], v[2], v[3]);
84
- }`,i32:`if (cv !== v) {
85
- cu.value = v;
86
- gl.uniform1i(location, v);
87
- }`,"vec2<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
88
- cv[0] = v[0];
89
- cv[1] = v[1];
90
- gl.uniform2i(location, v[0], v[1]);
91
- }`,"vec3<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
92
- cv[0] = v[0];
93
- cv[1] = v[1];
94
- cv[2] = v[2];
95
- gl.uniform3i(location, v[0], v[1], v[2]);
96
- }`,"vec4<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
97
- cv[0] = v[0];
98
- cv[1] = v[1];
99
- cv[2] = v[2];
100
- cv[3] = v[3];
101
- gl.uniform4i(location, v[0], v[1], v[2], v[3]);
102
- }`,u32:`if (cv !== v) {
103
- cu.value = v;
104
- gl.uniform1ui(location, v);
105
- }`,"vec2<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
106
- cv[0] = v[0];
107
- cv[1] = v[1];
108
- gl.uniform2ui(location, v[0], v[1]);
109
- }`,"vec3<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
110
- cv[0] = v[0];
111
- cv[1] = v[1];
112
- cv[2] = v[2];
113
- gl.uniform3ui(location, v[0], v[1], v[2]);
114
- }`,"vec4<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
115
- cv[0] = v[0];
116
- cv[1] = v[1];
117
- cv[2] = v[2];
118
- cv[3] = v[3];
119
- gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
120
- }`,bool:`if (cv !== v) {
121
- cu.value = v;
122
- gl.uniform1i(location, v);
123
- }`,"vec2<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
124
- cv[0] = v[0];
125
- cv[1] = v[1];
126
- gl.uniform2i(location, v[0], v[1]);
127
- }`,"vec3<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
128
- cv[0] = v[0];
129
- cv[1] = v[1];
130
- cv[2] = v[2];
131
- gl.uniform3i(location, v[0], v[1], v[2]);
132
- }`,"vec4<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
133
- cv[0] = v[0];
134
- cv[1] = v[1];
135
- cv[2] = v[2];
136
- cv[3] = v[3];
137
- gl.uniform4i(location, v[0], v[1], v[2], v[3]);
138
- }`,"mat2x2<f32>":"gl.uniformMatrix2fv(location, false, v);","mat3x3<f32>":"gl.uniformMatrix3fv(location, false, v);","mat4x4<f32>":"gl.uniformMatrix4fv(location, false, v);"},ht={f32:"gl.uniform1fv(location, v);","vec2<f32>":"gl.uniform2fv(location, v);","vec3<f32>":"gl.uniform3fv(location, v);","vec4<f32>":"gl.uniform4fv(location, v);","mat2x2<f32>":"gl.uniformMatrix2fv(location, false, v);","mat3x3<f32>":"gl.uniformMatrix3fv(location, false, v);","mat4x4<f32>":"gl.uniformMatrix4fv(location, false, v);",i32:"gl.uniform1iv(location, v);","vec2<i32>":"gl.uniform2iv(location, v);","vec3<i32>":"gl.uniform3iv(location, v);","vec4<i32>":"gl.uniform4iv(location, v);",u32:"gl.uniform1iv(location, v);","vec2<u32>":"gl.uniform2iv(location, v);","vec3<u32>":"gl.uniform3iv(location, v);","vec4<u32>":"gl.uniform4iv(location, v);",bool:"gl.uniform1iv(location, v);","vec2<bool>":"gl.uniform2iv(location, v);","vec3<bool>":"gl.uniform3iv(location, v);","vec4<bool>":"gl.uniform4iv(location, v);"};function lt(t,e){const r=[`
139
- var v = null;
140
- var cv = null;
141
- var cu = null;
142
- var t = 0;
143
- var gl = renderer.gl;
144
- var name = null;
145
- `];for(const n in t.uniforms){if(!e[n]){t.uniforms[n]instanceof M?t.uniforms[n].ubo?r.push(`
146
- renderer.shader.bindUniformBlock(uv.${n}, "${n}");
147
- `):r.push(`
148
- renderer.shader.updateUniformGroup(uv.${n});
149
- `):t.uniforms[n]instanceof ee&&r.push(`
150
- renderer.shader.bindBufferResource(uv.${n}, "${n}");
151
- `);continue}const s=t.uniformStructures[n];let a=!1;for(let i=0;i<C.length;i++){const o=C[i];if(s.type===o.type&&o.test(s)){r.push(`name = "${n}";`,C[i].uniform),a=!0;break}}if(!a){const o=(s.size===1?ft:ht)[s.type].replace("location",`ud["${n}"].location`);r.push(`
152
- cu = ud["${n}"];
153
- cv = cu.value;
154
- v = uv["${n}"];
155
- ${o};`)}}return new Function("ud","uv","renderer","syncData",r.join(`
156
- `))}class be{constructor(e){this._cache={},this._uniformGroupSyncHash={},this._renderer=e,this.gl=null,this._cache={}}contextChange(e){this.gl=e}updateUniformGroup(e,r,n){const s=this._renderer.shader._getProgramData(r);(!e.isStatic||e._dirtyId!==s.uniformDirtyGroups[e.uid])&&(s.uniformDirtyGroups[e.uid]=e._dirtyId,this._getUniformSyncFunction(e,r)(s.uniformData,e.uniforms,this._renderer,n))}_getUniformSyncFunction(e,r){return this._uniformGroupSyncHash[e._signature]?.[r._key]||this._createUniformSyncFunction(e,r)}_createUniformSyncFunction(e,r){const n=this._uniformGroupSyncHash[e._signature]||(this._uniformGroupSyncHash[e._signature]={}),s=this._getSignature(e,r._uniformData,"u");return this._cache[s]||(this._cache[s]=this._generateUniformsSync(e,r._uniformData)),n[r._key]=this._cache[s],n[r._key]}_generateUniformsSync(e,r){return lt(e,r)}_getSignature(e,r,n){const s=e.uniforms,a=[`${n}-`];for(const i in s)a.push(i),r[i]&&a.push(r[i].type);return a.join("-")}destroy(){this._renderer=null,this._cache=null}}be.extension={type:[d.WebGLSystem],name:"uniformGroup"};function dt(t){const e={};if(e.normal=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e.add=[t.ONE,t.ONE],e.multiply=[t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA],e.screen=[t.ONE,t.ONE_MINUS_SRC_COLOR,t.ONE,t.ONE_MINUS_SRC_ALPHA],e.none=[0,0],e["normal-npm"]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA],e["add-npm"]=[t.SRC_ALPHA,t.ONE,t.ONE,t.ONE],e["screen-npm"]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_COLOR,t.ONE,t.ONE_MINUS_SRC_ALPHA],e.erase=[t.ZERO,t.ONE_MINUS_SRC_ALPHA],!(t instanceof R.get().getWebGLRenderingContext()))e.min=[t.ONE,t.ONE,t.ONE,t.ONE,t.MIN,t.MIN],e.max=[t.ONE,t.ONE,t.ONE,t.ONE,t.MAX,t.MAX];else{const n=t.getExtension("EXT_blend_minmax");n&&(e.min=[t.ONE,t.ONE,t.ONE,t.ONE,n.MIN_EXT,n.MIN_EXT],e.max=[t.ONE,t.ONE,t.ONE,t.ONE,n.MAX_EXT,n.MAX_EXT])}return e}const mt=0,Et=1,bt=2,pt=3,St=4,Rt=5,pe=class U{constructor(e){this._invertFrontFace=!1,this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode="none",this._blendEq=!1,this.map=[],this.map[mt]=this.setBlend,this.map[Et]=this.setOffset,this.map[bt]=this.setCullFace,this.map[pt]=this.setDepthTest,this.map[St]=this.setFrontFace,this.map[Rt]=this.setDepthMask,this.checks=[],this.defaultState=F.for2d(),e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){this._invertFrontFace=!e.isRoot,this._cullFace?this.setFrontFace(this._frontFace):this._frontFaceDirty=!0}contextChange(e){this.gl=e,this.blendModesMap=dt(e),this.resetState()}set(e){if(e||(e=this.defaultState),this.stateId!==e.data){let r=this.stateId^e.data,n=0;for(;r;)r&1&&this.map[n].call(this,!!(e.data&1<<n)),r>>=1,n++;this.stateId=e.data}for(let r=0;r<this.checks.length;r++)this.checks[r](this,e)}forceState(e){e||(e=this.defaultState);for(let r=0;r<this.map.length;r++)this.map[r].call(this,!!(e.data&1<<r));for(let r=0;r<this.checks.length;r++)this.checks[r](this,e);this.stateId=e.data}setBlend(e){this._updateCheck(U._checkBlendMode,e),this.gl[e?"enable":"disable"](this.gl.BLEND)}setOffset(e){this._updateCheck(U._checkPolygonOffset,e),this.gl[e?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)}setDepthTest(e){this.gl[e?"enable":"disable"](this.gl.DEPTH_TEST)}setDepthMask(e){this.gl.depthMask(e)}setCullFace(e){this._cullFace=e,this.gl[e?"enable":"disable"](this.gl.CULL_FACE),this._cullFace&&this._frontFaceDirty&&this.setFrontFace(this._frontFace)}setFrontFace(e){this._frontFace=e,this._frontFaceDirty=!1;const r=this._invertFrontFace?!e:e;this._glFrontFace!==r&&(this._glFrontFace=r,this.gl.frontFace(this.gl[r?"CW":"CCW"]))}setBlendMode(e){if(this.blendModesMap[e]||(e="normal"),e===this.blendMode)return;this.blendMode=e;const r=this.blendModesMap[e],n=this.gl;r.length===2?n.blendFunc(r[0],r[1]):n.blendFuncSeparate(r[0],r[1],r[2],r[3]),r.length===6?(this._blendEq=!0,n.blendEquationSeparate(r[4],r[5])):this._blendEq&&(this._blendEq=!1,n.blendEquationSeparate(n.FUNC_ADD,n.FUNC_ADD))}setPolygonOffset(e,r){this.gl.polygonOffset(e,r)}resetState(){this._glFrontFace=!1,this._frontFace=!1,this._cullFace=!1,this._frontFaceDirty=!1,this._invertFrontFace=!1,this.gl.frontFace(this.gl.CCW),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode="",this.setBlendMode("normal")}_updateCheck(e,r){const n=this.checks.indexOf(e);r&&n===-1?this.checks.push(e):!r&&n!==-1&&this.checks.splice(n,1)}static _checkBlendMode(e,r){e.setBlendMode(r.blendMode)}static _checkPolygonOffset(e,r){e.setPolygonOffset(1,r.polygonOffset)}destroy(){this.gl=null,this.checks.length=0}};pe.extension={type:[d.WebGLSystem],name:"state"};let gt=pe;class Tt{constructor(e){this.target=w.TEXTURE_2D,this._layerInitMask=0,this.texture=e,this.width=-1,this.height=-1,this.type=l.UNSIGNED_BYTE,this.internalFormat=G.RGBA,this.format=G.RGBA,this.samplerType=0}destroy(){}}const xt={id:"buffer",upload(t,e,r,n,s,a=!1){const i=s||e.target;!a&&e.width===t.width&&e.height===t.height?r.texSubImage2D(i,0,0,0,t.width,t.height,e.format,e.type,t.resource):r.texImage2D(i,0,e.internalFormat,t.width,t.height,0,e.format,e.type,t.resource),e.width=t.width,e.height=t.height}},vt={"bc1-rgba-unorm":!0,"bc1-rgba-unorm-srgb":!0,"bc2-rgba-unorm":!0,"bc2-rgba-unorm-srgb":!0,"bc3-rgba-unorm":!0,"bc3-rgba-unorm-srgb":!0,"bc4-r-unorm":!0,"bc4-r-snorm":!0,"bc5-rg-unorm":!0,"bc5-rg-snorm":!0,"bc6h-rgb-ufloat":!0,"bc6h-rgb-float":!0,"bc7-rgba-unorm":!0,"bc7-rgba-unorm-srgb":!0,"etc2-rgb8unorm":!0,"etc2-rgb8unorm-srgb":!0,"etc2-rgb8a1unorm":!0,"etc2-rgb8a1unorm-srgb":!0,"etc2-rgba8unorm":!0,"etc2-rgba8unorm-srgb":!0,"eac-r11unorm":!0,"eac-r11snorm":!0,"eac-rg11unorm":!0,"eac-rg11snorm":!0,"astc-4x4-unorm":!0,"astc-4x4-unorm-srgb":!0,"astc-5x4-unorm":!0,"astc-5x4-unorm-srgb":!0,"astc-5x5-unorm":!0,"astc-5x5-unorm-srgb":!0,"astc-6x5-unorm":!0,"astc-6x5-unorm-srgb":!0,"astc-6x6-unorm":!0,"astc-6x6-unorm-srgb":!0,"astc-8x5-unorm":!0,"astc-8x5-unorm-srgb":!0,"astc-8x6-unorm":!0,"astc-8x6-unorm-srgb":!0,"astc-8x8-unorm":!0,"astc-8x8-unorm-srgb":!0,"astc-10x5-unorm":!0,"astc-10x5-unorm-srgb":!0,"astc-10x6-unorm":!0,"astc-10x6-unorm-srgb":!0,"astc-10x8-unorm":!0,"astc-10x8-unorm-srgb":!0,"astc-10x10-unorm":!0,"astc-10x10-unorm-srgb":!0,"astc-12x10-unorm":!0,"astc-12x10-unorm-srgb":!0,"astc-12x12-unorm":!0,"astc-12x12-unorm-srgb":!0},At={id:"compressed",upload(t,e,r,n,s,a){const i=s??e.target;r.pixelStorei(r.UNPACK_ALIGNMENT,4);let o=t.pixelWidth,c=t.pixelHeight;const u=!!vt[t.format];for(let _=0;_<t.resource.length;_++){const f=t.resource[_];u?r.compressedTexImage2D(i,_,e.internalFormat,o,c,0,f):r.texImage2D(i,_,e.internalFormat,o,c,0,e.format,e.type,f),o=Math.max(o>>1,1),c=Math.max(c>>1,1)}}},K=["right","left","top","bottom","front","back"];function Bt(t){return{id:"cube",upload(e,r,n,s){const a=e.faces;for(let i=0;i<K.length;i++){const o=K[i],c=a[o];(t[c.uploadMethodId]||t.image).upload(c,r,n,s,w.TEXTURE_CUBE_MAP_POSITIVE_X+i,(r._layerInitMask&1<<i)===0),r._layerInitMask|=1<<i}r.width=e.pixelWidth,r.height=e.pixelHeight}}}const Se={id:"image",upload(t,e,r,n,s,a=!1){const i=s||e.target,o=t.pixelWidth,c=t.pixelHeight,u=t.resourceWidth,_=t.resourceHeight,f=n===2,h=a||e.width!==o||e.height!==c,m=u>=o&&_>=c,p=t.resource;(f?yt:Nt)(r,i,e,o,c,u,_,p,h,m),e.width=o,e.height=c}};function yt(t,e,r,n,s,a,i,o,c,u){if(!u){c&&t.texImage2D(e,0,r.internalFormat,n,s,0,r.format,r.type,null),t.texSubImage2D(e,0,0,0,a,i,r.format,r.type,o);return}if(!c){t.texSubImage2D(e,0,0,0,r.format,r.type,o);return}t.texImage2D(e,0,r.internalFormat,n,s,0,r.format,r.type,o)}function Nt(t,e,r,n,s,a,i,o,c,u){if(!u){c&&t.texImage2D(e,0,r.internalFormat,n,s,0,r.format,r.type,null),t.texSubImage2D(e,0,0,0,r.format,r.type,o);return}if(!c){t.texSubImage2D(e,0,0,0,r.format,r.type,o);return}t.texImage2D(e,0,r.internalFormat,r.format,r.type,o)}const Ct=ke(),Dt={id:"video",upload(t,e,r,n,s,a=Ct){if(!t.isValid){const i=s??e.target;r.texImage2D(i,0,e.internalFormat,1,1,0,e.format,e.type,null);return}Se.upload(t,e,r,n,s,a)}},$={linear:9729,nearest:9728},It={linear:{linear:9987,nearest:9985},nearest:{linear:9986,nearest:9984}},I={"clamp-to-edge":33071,repeat:10497,"mirror-repeat":33648},Gt={never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519};function Y(t,e,r,n,s,a,i,o){const c=a;if(!o||t.addressModeU!=="repeat"||t.addressModeV!=="repeat"||t.addressModeW!=="repeat"){const u=I[i?"clamp-to-edge":t.addressModeU],_=I[i?"clamp-to-edge":t.addressModeV],f=I[i?"clamp-to-edge":t.addressModeW];e[s](c,e.TEXTURE_WRAP_S,u),e[s](c,e.TEXTURE_WRAP_T,_),e.TEXTURE_WRAP_R&&e[s](c,e.TEXTURE_WRAP_R,f)}if((!o||t.magFilter!=="linear")&&e[s](c,e.TEXTURE_MAG_FILTER,$[t.magFilter]),r){if(!o||t.mipmapFilter!=="linear"){const u=It[t.minFilter][t.mipmapFilter];e[s](c,e.TEXTURE_MIN_FILTER,u)}}else e[s](c,e.TEXTURE_MIN_FILTER,$[t.minFilter]);if(n&&t.maxAnisotropy>1){const u=Math.min(t.maxAnisotropy,e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));e[s](c,n.TEXTURE_MAX_ANISOTROPY_EXT,u)}t.compare&&e[s](c,e.TEXTURE_COMPARE_FUNC,Gt[t.compare])}function Ut(t){return{r8unorm:t.RED,r8snorm:t.RED,r8uint:t.RED,r8sint:t.RED,r16uint:t.RED,r16sint:t.RED,r16float:t.RED,rg8unorm:t.RG,rg8snorm:t.RG,rg8uint:t.RG,rg8sint:t.RG,r32uint:t.RED,r32sint:t.RED,r32float:t.RED,rg16uint:t.RG,rg16sint:t.RG,rg16float:t.RG,rgba8unorm:t.RGBA,"rgba8unorm-srgb":t.RGBA,rgba8snorm:t.RGBA,rgba8uint:t.RGBA,rgba8sint:t.RGBA,bgra8unorm:t.RGBA,"bgra8unorm-srgb":t.RGBA,rgb9e5ufloat:t.RGB,rgb10a2unorm:t.RGBA,rg11b10ufloat:t.RGB,rg32uint:t.RG,rg32sint:t.RG,rg32float:t.RG,rgba16uint:t.RGBA,rgba16sint:t.RGBA,rgba16float:t.RGBA,rgba32uint:t.RGBA,rgba32sint:t.RGBA,rgba32float:t.RGBA,stencil8:t.STENCIL_INDEX8,depth16unorm:t.DEPTH_COMPONENT,depth24plus:t.DEPTH_COMPONENT,"depth24plus-stencil8":t.DEPTH_STENCIL,depth32float:t.DEPTH_COMPONENT,"depth32float-stencil8":t.DEPTH_STENCIL}}function Ft(t,e){let r={},n=t.RGBA;return t instanceof R.get().getWebGLRenderingContext()?e.srgb&&(r={"rgba8unorm-srgb":e.srgb.SRGB8_ALPHA8_EXT,"bgra8unorm-srgb":e.srgb.SRGB8_ALPHA8_EXT}):(r={"rgba8unorm-srgb":t.SRGB8_ALPHA8,"bgra8unorm-srgb":t.SRGB8_ALPHA8},n=t.RGBA8),{r8unorm:t.R8,r8snorm:t.R8_SNORM,r8uint:t.R8UI,r8sint:t.R8I,r16uint:t.R16UI,r16sint:t.R16I,r16float:t.R16F,rg8unorm:t.RG8,rg8snorm:t.RG8_SNORM,rg8uint:t.RG8UI,rg8sint:t.RG8I,r32uint:t.R32UI,r32sint:t.R32I,r32float:t.R32F,rg16uint:t.RG16UI,rg16sint:t.RG16I,rg16float:t.RG16F,rgba8unorm:t.RGBA,...r,rgba8snorm:t.RGBA8_SNORM,rgba8uint:t.RGBA8UI,rgba8sint:t.RGBA8I,bgra8unorm:n,rgb9e5ufloat:t.RGB9_E5,rgb10a2unorm:t.RGB10_A2,rg11b10ufloat:t.R11F_G11F_B10F,rg32uint:t.RG32UI,rg32sint:t.RG32I,rg32float:t.RG32F,rgba16uint:t.RGBA16UI,rgba16sint:t.RGBA16I,rgba16float:t.RGBA16F,rgba32uint:t.RGBA32UI,rgba32sint:t.RGBA32I,rgba32float:t.RGBA32F,stencil8:t.STENCIL_INDEX8,depth16unorm:t.DEPTH_COMPONENT16,depth24plus:t.DEPTH_COMPONENT24,"depth24plus-stencil8":t.DEPTH24_STENCIL8,depth32float:t.DEPTH_COMPONENT32F,"depth32float-stencil8":t.DEPTH32F_STENCIL8,...e.s3tc?{"bc1-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT1_EXT,"bc2-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT3_EXT,"bc3-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT5_EXT}:{},...e.s3tc_sRGB?{"bc1-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,"bc2-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,"bc3-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}:{},...e.rgtc?{"bc4-r-unorm":e.rgtc.COMPRESSED_RED_RGTC1_EXT,"bc4-r-snorm":e.rgtc.COMPRESSED_SIGNED_RED_RGTC1_EXT,"bc5-rg-unorm":e.rgtc.COMPRESSED_RED_GREEN_RGTC2_EXT,"bc5-rg-snorm":e.rgtc.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}:{},...e.bptc?{"bc6h-rgb-float":e.bptc.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,"bc6h-rgb-ufloat":e.bptc.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,"bc7-rgba-unorm":e.bptc.COMPRESSED_RGBA_BPTC_UNORM_EXT,"bc7-rgba-unorm-srgb":e.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT}:{},...e.etc?{"etc2-rgb8unorm":e.etc.COMPRESSED_RGB8_ETC2,"etc2-rgb8unorm-srgb":e.etc.COMPRESSED_SRGB8_ETC2,"etc2-rgb8a1unorm":e.etc.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgb8a1unorm-srgb":e.etc.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgba8unorm":e.etc.COMPRESSED_RGBA8_ETC2_EAC,"etc2-rgba8unorm-srgb":e.etc.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,"eac-r11unorm":e.etc.COMPRESSED_R11_EAC,"eac-rg11unorm":e.etc.COMPRESSED_SIGNED_RG11_EAC}:{},...e.astc?{"astc-4x4-unorm":e.astc.COMPRESSED_RGBA_ASTC_4x4_KHR,"astc-4x4-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,"astc-5x4-unorm":e.astc.COMPRESSED_RGBA_ASTC_5x4_KHR,"astc-5x4-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,"astc-5x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_5x5_KHR,"astc-5x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,"astc-6x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_6x5_KHR,"astc-6x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,"astc-6x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_6x6_KHR,"astc-6x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,"astc-8x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x5_KHR,"astc-8x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,"astc-8x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x6_KHR,"astc-8x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,"astc-8x8-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x8_KHR,"astc-8x8-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,"astc-10x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x5_KHR,"astc-10x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,"astc-10x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x6_KHR,"astc-10x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,"astc-10x8-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x8_KHR,"astc-10x8-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,"astc-10x10-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x10_KHR,"astc-10x10-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,"astc-12x10-unorm":e.astc.COMPRESSED_RGBA_ASTC_12x10_KHR,"astc-12x10-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,"astc-12x12-unorm":e.astc.COMPRESSED_RGBA_ASTC_12x12_KHR,"astc-12x12-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR}:{}}}function Pt(t){return{r8unorm:t.UNSIGNED_BYTE,r8snorm:t.BYTE,r8uint:t.UNSIGNED_BYTE,r8sint:t.BYTE,r16uint:t.UNSIGNED_SHORT,r16sint:t.SHORT,r16float:t.HALF_FLOAT,rg8unorm:t.UNSIGNED_BYTE,rg8snorm:t.BYTE,rg8uint:t.UNSIGNED_BYTE,rg8sint:t.BYTE,r32uint:t.UNSIGNED_INT,r32sint:t.INT,r32float:t.FLOAT,rg16uint:t.UNSIGNED_SHORT,rg16sint:t.SHORT,rg16float:t.HALF_FLOAT,rgba8unorm:t.UNSIGNED_BYTE,"rgba8unorm-srgb":t.UNSIGNED_BYTE,rgba8snorm:t.BYTE,rgba8uint:t.UNSIGNED_BYTE,rgba8sint:t.BYTE,bgra8unorm:t.UNSIGNED_BYTE,"bgra8unorm-srgb":t.UNSIGNED_BYTE,rgb9e5ufloat:t.UNSIGNED_INT_5_9_9_9_REV,rgb10a2unorm:t.UNSIGNED_INT_2_10_10_10_REV,rg11b10ufloat:t.UNSIGNED_INT_10F_11F_11F_REV,rg32uint:t.UNSIGNED_INT,rg32sint:t.INT,rg32float:t.FLOAT,rgba16uint:t.UNSIGNED_SHORT,rgba16sint:t.SHORT,rgba16float:t.HALF_FLOAT,rgba32uint:t.UNSIGNED_INT,rgba32sint:t.INT,rgba32float:t.FLOAT,stencil8:t.UNSIGNED_BYTE,depth16unorm:t.UNSIGNED_SHORT,depth24plus:t.UNSIGNED_INT,"depth24plus-stencil8":t.UNSIGNED_INT_24_8,depth32float:t.FLOAT,"depth32float-stencil8":t.FLOAT_32_UNSIGNED_INT_24_8_REV}}function Ot(t){return{"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP,"1d":null,"3d":t?.TEXTURE_3D||null,"2d-array":t?.TEXTURE_2D_ARRAY||null,"cube-array":t?.TEXTURE_CUBE_MAP_ARRAY||null}}const Mt=4;class Re{constructor(e){this._glSamplers=Object.create(null),this._boundTextures=[],this._activeTextureLocation=-1,this._boundSamplers=Object.create(null),this._premultiplyAlpha=!1,this._useSeparateSamplers=!1,this._renderer=e,this._managedTextures=new P({renderer:e,type:"resource",onUnload:this.onSourceUnload.bind(this),name:"glTexture"});const r={image:Se,buffer:xt,video:Dt,compressed:At};this._uploads={...r,cube:Bt(r)}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gl=e,this._mapFormatToInternalFormat||(this._mapFormatToInternalFormat=Ft(e,this._renderer.context.extensions),this._mapFormatToType=Pt(e),this._mapFormatToFormat=Ut(e),this._mapViewDimensionToGlTarget=Ot(e)),this._managedTextures.removeAll(!0),this._glSamplers=Object.create(null),this._boundSamplers=Object.create(null),this._premultiplyAlpha=!1;for(let r=0;r<16;r++)this.bind(S.EMPTY,r)}initSource(e){this.bind(e)}bind(e,r=0){const n=e.source;e?(this.bindSource(n,r),this._useSeparateSamplers&&this._bindSampler(n.style,r)):(this.bindSource(null,r),this._useSeparateSamplers&&this._bindSampler(null,r))}bindSource(e,r=0){const n=this._gl;if(e._gcLastUsed=this._renderer.gc.now,this._boundTextures[r]!==e){this._boundTextures[r]=e,this._activateLocation(r),e||(e=S.EMPTY.source);const s=this.getGlSource(e);n.bindTexture(s.target,s.texture)}}_bindSampler(e,r=0){const n=this._gl;if(!e){this._boundSamplers[r]=null,n.bindSampler(r,null);return}const s=this._getGlSampler(e);this._boundSamplers[r]!==s&&(this._boundSamplers[r]=s,n.bindSampler(r,s))}unbind(e){const r=e.source,n=this._boundTextures,s=this._gl;for(let a=0;a<n.length;a++)if(n[a]===r){this._activateLocation(a);const i=this.getGlSource(r);s.bindTexture(i.target,null),n[a]=null}}_activateLocation(e){this._activeTextureLocation!==e&&(this._activeTextureLocation=e,this._gl.activeTexture(this._gl.TEXTURE0+e))}_initSource(e){const r=this._gl,n=new Tt(r.createTexture());if(n.type=this._mapFormatToType[e.format],n.internalFormat=this._mapFormatToInternalFormat[e.format],n.format=this._mapFormatToFormat[e.format],n.target=this._mapViewDimensionToGlTarget[e.viewDimension],n.target===null)throw new Error(`Unsupported view dimension: ${e.viewDimension} with this webgl version: ${this._renderer.context.webGLVersion}`);if(e.uploadMethodId==="cube"&&(n.target=r.TEXTURE_CUBE_MAP),e.autoGenerateMipmaps&&(this._renderer.context.supports.nonPowOf2mipmaps||e.isPowerOfTwo)){const a=Math.max(e.width,e.height);e.mipLevelCount=Math.floor(Math.log2(a))+1}return e._gpuData[this._renderer.uid]=n,this._managedTextures.add(e)&&(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceUpdate,this),e.on("styleChange",this.onStyleChange,this),e.on("updateMipmaps",this.onUpdateMipmaps,this)),this.onSourceUpdate(e),this.updateStyle(e,!1),n}onStyleChange(e){this.updateStyle(e,!1)}updateStyle(e,r){const n=this._gl,s=this.getGlSource(e);n.bindTexture(s.target,s.texture),this._boundTextures[this._activeTextureLocation]=e,Y(e.style,n,e.mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"texParameteri",s.target,!this._renderer.context.supports.nonPowOf2wrapping&&!e.isPowerOfTwo,r)}onSourceUnload(e,r=!1){const n=e._gpuData[this._renderer.uid];n&&(r||(this.unbind(e),this._gl.deleteTexture(n.texture)),e.off("update",this.onSourceUpdate,this),e.off("resize",this.onSourceUpdate,this),e.off("styleChange",this.onStyleChange,this),e.off("updateMipmaps",this.onUpdateMipmaps,this))}onSourceUpdate(e){const r=this._gl,n=this.getGlSource(e);r.bindTexture(n.target,n.texture),this._boundTextures[this._activeTextureLocation]=e;const s=e.alphaMode==="premultiply-alpha-on-upload";if(this._premultiplyAlpha!==s&&(this._premultiplyAlpha=s,r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s)),this._uploads[e.uploadMethodId])this._uploads[e.uploadMethodId].upload(e,n,r,this._renderer.context.webGLVersion);else if(n.target===r.TEXTURE_2D)this._initEmptyTexture2D(n,e);else if(n.target===r.TEXTURE_2D_ARRAY)this._initEmptyTexture2DArray(n,e);else if(n.target===r.TEXTURE_CUBE_MAP)this._initEmptyTextureCube(n,e);else throw new Error("[GlTextureSystem] Unsupported texture target for empty allocation.");this._applyMipRange(n,e),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e,!1)}onUpdateMipmaps(e,r=!0){r&&this.bindSource(e,0);const n=this.getGlSource(e);this._gl.generateMipmap(n.target)}_initEmptyTexture2D(e,r){const n=this._gl;n.texImage2D(n.TEXTURE_2D,0,e.internalFormat,r.pixelWidth,r.pixelHeight,0,e.format,e.type,null);let s=Math.max(r.pixelWidth>>1,1),a=Math.max(r.pixelHeight>>1,1);for(let i=1;i<r.mipLevelCount;i++)n.texImage2D(n.TEXTURE_2D,i,e.internalFormat,s,a,0,e.format,e.type,null),s=Math.max(s>>1,1),a=Math.max(a>>1,1)}_initEmptyTexture2DArray(e,r){if(this._renderer.context.webGLVersion!==2)throw new Error("[GlTextureSystem] TEXTURE_2D_ARRAY requires WebGL2.");const n=this._gl,s=Math.max(r.arrayLayerCount|0,1);n.texImage3D(n.TEXTURE_2D_ARRAY,0,e.internalFormat,r.pixelWidth,r.pixelHeight,s,0,e.format,e.type,null);let a=Math.max(r.pixelWidth>>1,1),i=Math.max(r.pixelHeight>>1,1);for(let o=1;o<r.mipLevelCount;o++)n.texImage3D(n.TEXTURE_2D_ARRAY,o,e.internalFormat,a,i,s,0,e.format,e.type,null),a=Math.max(a>>1,1),i=Math.max(i>>1,1)}_initEmptyTextureCube(e,r){const n=this._gl,s=6;for(let o=0;o<s;o++)n.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+o,0,e.internalFormat,r.pixelWidth,r.pixelHeight,0,e.format,e.type,null);let a=Math.max(r.pixelWidth>>1,1),i=Math.max(r.pixelHeight>>1,1);for(let o=1;o<r.mipLevelCount;o++){for(let c=0;c<s;c++)n.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+c,o,e.internalFormat,a,i,0,e.format,e.type,null);a=Math.max(a>>1,1),i=Math.max(i>>1,1)}}_applyMipRange(e,r){if(this._renderer.context.webGLVersion!==2)return;const n=this._gl,s=Math.max((r.mipLevelCount|0)-1,0);n.texParameteri(e.target,n.TEXTURE_BASE_LEVEL,0),n.texParameteri(e.target,n.TEXTURE_MAX_LEVEL,s)}_initSampler(e){const r=this._gl,n=this._gl.createSampler();return this._glSamplers[e._resourceId]=n,Y(e,r,this._boundTextures[this._activeTextureLocation].mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"samplerParameteri",n,!1,!0),this._glSamplers[e._resourceId]}_getGlSampler(e){return this._glSamplers[e._resourceId]||this._initSampler(e)}getGlSource(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]||this._initSource(e)}generateCanvas(e){const{pixels:r,width:n,height:s}=this.getPixels(e),a=R.get().createCanvas();a.width=n,a.height=s;const i=a.getContext("2d");if(i){const o=i.createImageData(n,s);o.data.set(r),i.putImageData(o,0,0)}return a}getPixels(e){const r=e.source.resolution,n=e.frame,s=Math.max(Math.round(n.width*r),1),a=Math.max(Math.round(n.height*r),1),i=new Uint8Array(Mt*s*a),o=this._renderer,c=o.renderTarget.getRenderTarget(e),u=o.renderTarget.getGpuRenderTarget(c),_=o.gl;return _.bindFramebuffer(_.FRAMEBUFFER,u.resolveTargetFramebuffer),_.readPixels(Math.round(n.x*r),Math.round(n.y*r),s,a,_.RGBA,_.UNSIGNED_BYTE,i),{pixels:new Uint8ClampedArray(i.buffer),width:s,height:a}}destroy(){this._managedTextures.destroy(),this._glSamplers=null,this._boundTextures=null,this._boundSamplers=null,this._mapFormatToInternalFormat=null,this._mapFormatToType=null,this._mapFormatToFormat=null,this._uploads=null,this._renderer=null}resetState(){this._activeTextureLocation=-1,this._boundTextures.fill(S.EMPTY.source),this._boundSamplers=Object.create(null);const e=this._gl;this._premultiplyAlpha=!1,e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._premultiplyAlpha)}}Re.extension={type:[d.WebGLSystem],name:"texture"};class ge{contextChange(e){const r=new M({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new Z,type:"mat3x3<f32>"},uRound:{value:0,type:"f32"}}),n=e.limits.maxBatchableTextures,s=J({name:"graphics",bits:[Ce,De(n),te,Q]});this.shader=new O({glProgram:s,resources:{localUniforms:r,batchSamplers:Ie(n)}})}execute(e,r){const n=r.context,s=n.customShader||this.shader,a=e.renderer,i=a.graphicsContext,{batcher:o,instructions:c}=i.getContextRenderData(n);s.groups[0]=a.globalUniforms.bindGroup,a.state.set(e.state),a.shader.bind(s),a.geometry.bind(o.geometry,s.glProgram);const u=c.instructions;for(let _=0;_<c.instructionSize;_++){const f=u[_];if(f.size){for(let h=0;h<f.textures.count;h++)a.texture.bind(f.textures.textures[h],h);a.geometry.draw(f.topology,f.size,f.start)}}}destroy(){this.shader.destroy(!0),this.shader=null}}ge.extension={type:[d.WebGLPipesAdaptor],name:"graphics"};class Te{init(){const e=J({name:"mesh",bits:[te,we,Q]});this._shader=new O({glProgram:e,resources:{uTexture:S.EMPTY.source,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new Z}}}})}execute(e,r){const n=e.renderer;let s=r._shader;if(s){if(!s.glProgram){b("Mesh shader has no glProgram",r.shader);return}}else{s=this._shader;const a=r.texture,i=a.source;s.resources.uTexture=i,s.resources.uSampler=i.style,s.resources.textureUniforms.uniforms.uTextureMatrix=a.textureMatrix.mapCoord}s.groups[100]=n.globalUniforms.bindGroup,s.groups[101]=e.localUniformsBindGroup,n.encoder.draw({geometry:r._geometry,shader:s,state:r.state})}destroy(){this._shader.destroy(!0),this._shader=null}}Te.extension={type:[d.WebGLPipesAdaptor],name:"mesh"};const Lt=[...Ve,he,qe,je,ue,ne,Re,le,ae,be,Ee,ce,gt,_e,oe],wt=[...Xe],Ht=[re,Te,ge],xe=[],ve=[],Ae=[];A.handleByNamedList(d.WebGLSystem,xe);A.handleByNamedList(d.WebGLPipes,ve);A.handleByNamedList(d.WebGLPipesAdaptor,Ae);A.add(...Lt,...wt,...Ht);class jt extends Ge{constructor(){const e={name:"webgl",type:Ue.WEBGL,systems:xe,renderPipes:ve,renderPipeAdaptors:Ae};super(e)}}export{jt as WebGLRenderer};
@@ -1,41 +0,0 @@
1
- import{r as L,a8 as A,T as l,a9 as D,J as ce,aa as de,K as B,A as C,F as T,D as he,ab as k,ac as w,y as v,ad as y,$ as pe,ae as le,af as z,ag as M,R as F,ah as O,ai as fe,aj as ge,ak as I,S as W,V as R,a0 as me,a1 as _e,a2 as S}from"./index-Cy7P7qsp.js";import{c as be,u as ye,U as xe,B as Ge,G as Pe,e as Be,l as Se,a as Te,t as Ce}from"./BufferResource-CYUkNl6e.js";import{R as ve,S as Ue,d as we}from"./RenderTargetSystem-D-tQO-WR.js";import"./Filter-B6m1PS4e.js";const G=L.for2d();class H{start(e,t,r){const s=e.renderer,i=s.encoder,n=r.gpuProgram;this._shader=r,this._geometry=t,i.setGeometry(t,n),G.blendMode="normal",s.pipeline.getPipeline(t,n,G);const a=s.globalUniforms.bindGroup;i.resetBindGroup(1),i.setBindGroup(0,a,n)}execute(e,t){const r=this._shader.gpuProgram,s=e.renderer,i=s.encoder;if(!t.bindGroup){const u=t.textures;t.bindGroup=A(u.textures,u.count,s.limits.maxBatchableTextures)}G.blendMode=t.blendMode;const n=s.bindGroup.getBindGroup(t.bindGroup,r,1),a=s.pipeline.getPipeline(this._geometry,r,G,t.topology);t.bindGroup._touch(s.gc.now,s.tick),i.setPipeline(a),i.renderPassEncoder.setBindGroup(1,n),i.renderPassEncoder.drawIndexed(t.size,1,t.start)}}H.extension={type:[l.WebGPUPipesAdaptor],name:"batch"};class V{constructor(e){this._hash=Object.create(null),this._renderer=e}contextChange(e){this._gpu=e}getBindGroup(e,t,r){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,r)}_createBindGroup(e,t,r){const s=this._gpu.device,i=t.layout[r],n=[],a=this._renderer;for(const g in i){const h=e.resources[g]??e.resources[i[g]];let p;if(h._resourceType==="uniformGroup"){const d=h;a.ubo.updateUniformGroup(d);const f=d.buffer;p={buffer:a.buffer.getGPUBuffer(f),offset:0,size:f.descriptor.size}}else if(h._resourceType==="buffer"){const d=h;p={buffer:a.buffer.getGPUBuffer(d),offset:0,size:d.descriptor.size}}else if(h._resourceType==="bufferResource"){const d=h;p={buffer:a.buffer.getGPUBuffer(d.buffer),offset:d.offset,size:d.size}}else if(h._resourceType==="textureSampler"){const d=h;p=a.texture.getGpuSampler(d)}else if(h._resourceType==="textureSource"){const d=h;p=a.texture.getTextureView(d)}n.push({binding:i[g],resource:p})}const u=a.shader.getProgramData(t).bindGroups[r],c=s.createBindGroup({layout:u,entries:n});return this._hash[e._key]=c,c}destroy(){this._hash=null,this._renderer=null}}V.extension={type:[l.WebGPUSystem],name:"bindGroup"};class Me{constructor(e){this.gpuBuffer=e}destroy(){this.gpuBuffer.destroy(),this.gpuBuffer=null}}class N{constructor(e){this._renderer=e,this._managedBuffers=new D({renderer:e,type:"resource",onUnload:this.onBufferUnload.bind(this),name:"gpuBuffer"})}contextChange(e){this._gpu=e}getGPUBuffer(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuBuffer||this.createGPUBuffer(e)}updateBuffer(e){const t=this.getGPUBuffer(e),r=e.data;return e._updateID&&r&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,r.buffer,0,(e._updateSize||r.byteLength)+3&-4)),t}destroyAll(){this._managedBuffers.removeAll()}onBufferUnload(e){e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this)}createGPUBuffer(e){const t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e._resourceId=ce("resource"),e.data&&(de(e.data.buffer,t.getMappedRange(),e.data.byteOffset,e.data.byteLength),t.unmap()),e._gpuData[this._renderer.uid]=new Me(t),this._managedBuffers.add(e)&&(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this)),t}onBufferChange(e){this._managedBuffers.remove(e),e._updateID=0,this.createGPUBuffer(e)}destroy(){this._managedBuffers.destroy(),this._renderer=null,this._gpu=null}}N.extension={type:[l.WebGPUSystem],name:"buffer"};class Re{constructor({minUniformOffsetAlignment:e}){this._minUniformOffsetAlignment=256,this.byteIndex=0,this._minUniformOffsetAlignment=e,this.data=new Float32Array(65535)}clear(){this.byteIndex=0}addEmptyGroup(e){if(e>this._minUniformOffsetAlignment/4)throw new Error(`UniformBufferBatch: array is too large: ${e*4}`);const t=this.byteIndex;let r=t+e*4;if(r=Math.ceil(r/this._minUniformOffsetAlignment)*this._minUniformOffsetAlignment,r>this.data.length*4)throw new Error("UniformBufferBatch: ubo batch got too big");return this.byteIndex=r,t}addGroup(e){const t=this.addEmptyGroup(e.length);for(let r=0;r<e.length;r++)this.data[t/4+r]=e[r];return t}destroy(){this.data=null}}class j{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.pipeline.setColorMask(e))}destroy(){this._renderer=null,this._colorMaskCache=null}}j.extension={type:[l.WebGPUSystem],name:"colorMask"};class U{constructor(e){this._renderer=e}async init(e){return this._initPromise?this._initPromise:(this._initPromise=(e.gpu?Promise.resolve(e.gpu):this._createDeviceAndAdaptor(e)).then(t=>{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu)}),this._initPromise)}contextChange(e){this._renderer.gpu=e}async _createDeviceAndAdaptor(e){const t=await B.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),r=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(i=>t.features.has(i)),s=await t.requestDevice({requiredFeatures:r});return{adapter:t,device:s}}destroy(){this.gpu=null,this._renderer=null}}U.extension={type:[l.WebGPUSystem],name:"device"};U.defaultOptions={powerPreference:void 0,forceFallbackAdapter:!1};class K{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder()}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor)}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1)}setPipelineFromGeometryProgramAndState(e,t,r,s){const i=this._renderer.pipeline.getPipeline(e,t,r,s);this.setPipeline(i)}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e))}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)))}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;const t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t)}resetBindGroup(e){this._boundBindGroup[e]=null}setBindGroup(e,t,r){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.gc.now,this._renderer.tick);const s=this._renderer.bindGroup.getBindGroup(t,r,e);this.renderPassEncoder.setBindGroup(e,s)}setGeometry(e,t){const r=this._renderer.pipeline.getBufferNamesToBind(e,t);for(const s in r)this._setVertexBuffer(parseInt(s,10),e.attributes[r[s]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer)}_setShaderBindGroups(e,t){for(const r in e.groups){const s=e.groups[r];t||this._syncBindGroup(s),this.setBindGroup(r,s,e.gpuProgram)}}_syncBindGroup(e){for(const t in e.resources){const r=e.resources[t];r.isUniformGroup&&this._renderer.ubo.updateUniformGroup(r)}}draw(e){const{geometry:t,shader:r,state:s,topology:i,size:n,start:a,instanceCount:u,skipSync:c}=e;this.setPipelineFromGeometryProgramAndState(t,r.gpuProgram,s,i),this.setGeometry(t,r.gpuProgram),this._setShaderBindGroups(r,c),t.indexBuffer?this.renderPassEncoder.drawIndexed(n||t.indexBuffer.data.length,u??t.instanceCount,a||0):this.renderPassEncoder.draw(n||t.getSize(),u??t.instanceCount,a||0)}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null)}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null}restoreRenderPass(){const e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,!1,[0,0,0,1],this._renderer.renderTarget.mipLevel,this._renderer.renderTarget.layer);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);const t=this._boundPipeline,r={...this._boundVertexBuffer},s=this._boundIndexBuffer,i={...this._boundBindGroup};this._clearCache();const n=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(n.x,n.y,n.width,n.height,0,1),this.setPipeline(t);for(const a in r)this._setVertexBuffer(a,r[a]);for(const a in i)this.setBindGroup(a,i[a],null);this._setIndexBuffer(s)}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null}contextChange(e){this._gpu=e}}K.extension={type:[l.WebGPUSystem],name:"encoder",priority:1};class q{constructor(e){this._renderer=e}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures}destroy(){}}q.extension={type:[l.WebGPUSystem],name:"limits"};class ${constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:C.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){const r=this._renderTargetStencilState[this._activeRenderTarget.uid];r.stencilMode=e,r.stencilReference=t;const s=this._renderer;s.pipeline.setStencilMode(e),s.encoder.renderPassEncoder.setStencilReference(t)}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null}}$.extension={type:[l.WebGPUSystem],name:"stencil"};const P={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2<i32>":{align:8,size:8},"vec2<u32>":{align:8,size:8},"vec2<f32>":{align:8,size:8},"vec2<f16>":{align:4,size:4},"vec3<i32>":{align:16,size:12},"vec3<u32>":{align:16,size:12},"vec3<f32>":{align:16,size:12},"vec3<f16>":{align:8,size:6},"vec4<i32>":{align:16,size:16},"vec4<u32>":{align:16,size:16},"vec4<f32>":{align:16,size:16},"vec4<f16>":{align:8,size:8},"mat2x2<f32>":{align:8,size:16},"mat2x2<f16>":{align:4,size:8},"mat3x2<f32>":{align:8,size:24},"mat3x2<f16>":{align:4,size:12},"mat4x2<f32>":{align:8,size:32},"mat4x2<f16>":{align:4,size:16},"mat2x3<f32>":{align:16,size:32},"mat2x3<f16>":{align:8,size:16},"mat3x3<f32>":{align:16,size:48},"mat3x3<f16>":{align:8,size:24},"mat4x3<f32>":{align:16,size:64},"mat4x3<f16>":{align:8,size:32},"mat2x4<f32>":{align:16,size:32},"mat2x4<f16>":{align:8,size:16},"mat3x4<f32>":{align:16,size:48},"mat3x4<f16>":{align:8,size:24},"mat4x4<f32>":{align:16,size:64},"mat4x4<f16>":{align:8,size:32}};function Ee(o){const e=o.map(r=>({data:r,offset:0,size:0}));let t=0;for(let r=0;r<e.length;r++){const s=e[r];let i=P[s.data.type].size;const n=P[s.data.type].align;if(!P[s.data.type])throw new Error(`[Pixi.js] WebGPU UniformBuffer: Unknown type ${s.data.type}`);s.data.size>1&&(i=Math.max(i,n)*s.data.size),t=Math.ceil(t/n)*n,s.size=i,s.offset=t,t+=i}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}function Le(o,e){const{size:t,align:r}=P[o.data.type],s=(r-t)/4,i=o.data.type.indexOf("i32")>=0?"dataInt32":"data";return`
2
- v = uv.${o.data.name};
3
- ${e!==0?`offset += ${e};`:""}
4
-
5
- arrayOffset = offset;
6
-
7
- t = 0;
8
-
9
- for(var i=0; i < ${o.data.size*(t/4)}; i++)
10
- {
11
- for(var j = 0; j < ${t/4}; j++)
12
- {
13
- ${i}[arrayOffset++] = v[t++];
14
- }
15
- ${s!==0?`arrayOffset += ${s};`:""}
16
- }
17
- `}function Ae(o){return be(o,"uboWgsl",Le,ye)}class Y extends xe{constructor(){super({createUboElements:Ee,generateUboSync:Ae})}}Y.extension={type:[l.WebGPUSystem],name:"ubo"};const b=128;class X{constructor(e){this._bindGroupHash=Object.create(null),this._buffers=[],this._bindGroups=[],this._bufferResources=[],this._renderer=e,this._batchBuffer=new Re({minUniformOffsetAlignment:b});const t=256/b;for(let r=0;r<t;r++){let s=T.UNIFORM|T.COPY_DST;r===0&&(s|=T.COPY_SRC),this._buffers.push(new he({data:this._batchBuffer.data,usage:s}))}}renderEnd(){this._uploadBindGroups(),this._resetBindGroups()}_resetBindGroups(){this._bindGroupHash=Object.create(null),this._batchBuffer.clear()}getUniformBindGroup(e,t){if(!t&&this._bindGroupHash[e.uid])return this._bindGroupHash[e.uid];this._renderer.ubo.ensureUniformGroup(e);const r=e.buffer.data,s=this._batchBuffer.addEmptyGroup(r.length);return this._renderer.ubo.syncUniformGroup(e,this._batchBuffer.data,s/4),this._bindGroupHash[e.uid]=this._getBindGroup(s/b),this._bindGroupHash[e.uid]}getUboResource(e){this._renderer.ubo.updateUniformGroup(e);const t=e.buffer.data,r=this._batchBuffer.addGroup(t);return this._getBufferResource(r/b)}getArrayBindGroup(e){const t=this._batchBuffer.addGroup(e);return this._getBindGroup(t/b)}getArrayBufferResource(e){const r=this._batchBuffer.addGroup(e)/b;return this._getBufferResource(r)}_getBufferResource(e){if(!this._bufferResources[e]){const t=this._buffers[e%2];this._bufferResources[e]=new Ge({buffer:t,offset:(e/2|0)*256,size:b})}return this._bufferResources[e]}_getBindGroup(e){if(!this._bindGroups[e]){const t=new k({0:this._getBufferResource(e)});this._bindGroups[e]=t}return this._bindGroups[e]}_uploadBindGroups(){const e=this._renderer.buffer,t=this._buffers[0];t.update(this._batchBuffer.byteIndex),e.updateBuffer(t);const r=this._renderer.gpu.device.createCommandEncoder();for(let s=1;s<this._buffers.length;s++){const i=this._buffers[s];r.copyBufferToBuffer(e.getGPUBuffer(t),b,e.getGPUBuffer(i),0,this._batchBuffer.byteIndex)}this._renderer.gpu.device.queue.submit([r.finish()])}destroy(){for(let e=0;e<this._bindGroups.length;e++)this._bindGroups[e]?.destroy();this._bindGroups=null,this._bindGroupHash=null;for(let e=0;e<this._buffers.length;e++)this._buffers[e].destroy();this._buffers=null;for(let e=0;e<this._bufferResources.length;e++)this._bufferResources[e].destroy();this._bufferResources=null,this._batchBuffer.destroy(),this._renderer=null}}X.extension={type:[l.WebGPUPipes],name:"uniformBatch"};const De={"point-list":0,"line-list":1,"line-strip":2,"triangle-list":3,"triangle-strip":4};function ke(o,e,t,r,s){return o<<24|e<<16|t<<10|r<<5|s}function ze(o,e,t,r,s){return t<<8|o<<5|r<<3|s<<1|e}class J{constructor(e){this._moduleCache=Object.create(null),this._bufferLayoutsCache=Object.create(null),this._bindingNamesCache=Object.create(null),this._pipeCache=Object.create(null),this._pipeStateCaches=Object.create(null),this._colorMask=15,this._multisampleCount=1,this._colorTargetCount=1,this._renderer=e}contextChange(e){this._gpu=e,this.setStencilMode(C.DISABLED),this._updatePipeHash()}setMultisampleCount(e){this._multisampleCount!==e&&(this._multisampleCount=e,this._updatePipeHash())}setRenderTarget(e){this._multisampleCount=e.msaaSamples,this._depthStencilAttachment=e.descriptor.depthStencilAttachment?1:0,this._colorTargetCount=e.colorTargetCount,this._updatePipeHash()}setColorMask(e){this._colorMask!==e&&(this._colorMask=e,this._updatePipeHash())}setStencilMode(e){this._stencilMode!==e&&(this._stencilMode=e,this._stencilState=Pe[e],this._updatePipeHash())}setPipeline(e,t,r,s){const i=this.getPipeline(e,t,r);s.setPipeline(i)}getPipeline(e,t,r,s){e._layoutKey||(Be(e,t.attributeData),this._generateBufferKey(e)),s||(s=e.topology);const i=ke(e._layoutKey,t._layoutKey,r.data,r._blendModeId,De[s]);return this._pipeCache[i]?this._pipeCache[i]:(this._pipeCache[i]=this._createPipeline(e,t,r,s),this._pipeCache[i])}_createPipeline(e,t,r,s){const i=this._gpu.device,n=this._createVertexBufferLayouts(e,t),a=this._renderer.state.getColorTargets(r,this._colorTargetCount),u=this._stencilMode===C.RENDERING_MASK_ADD?0:this._colorMask;for(let p=0;p<a.length;p++)a[p].writeMask=u;const c=this._renderer.shader.getProgramData(t).pipeline,g={vertex:{module:this._getModule(t.vertex.source),entryPoint:t.vertex.entryPoint,buffers:n},fragment:{module:this._getModule(t.fragment.source),entryPoint:t.fragment.entryPoint,targets:a},primitive:{topology:s,cullMode:r.cullMode},layout:c,multisample:{count:this._multisampleCount},label:"PIXI Pipeline"};return this._depthStencilAttachment&&(g.depthStencil={...this._stencilState,format:"depth24plus-stencil8",depthWriteEnabled:r.depthTest,depthCompare:r.depthTest?"less":"always"}),i.createRenderPipeline(g)}_getModule(e){return this._moduleCache[e]||this._createModule(e)}_createModule(e){const t=this._gpu.device;return this._moduleCache[e]=t.createShaderModule({code:e}),this._moduleCache[e]}_generateBufferKey(e){const t=[];let r=0;const s=Object.keys(e.attributes).sort();for(let n=0;n<s.length;n++){const a=e.attributes[s[n]];t[r++]=a.offset,t[r++]=a.format,t[r++]=a.stride,t[r++]=a.instance}const i=t.join("|");return e._layoutKey=w(i,"geometry"),e._layoutKey}_generateAttributeLocationsKey(e){const t=[];let r=0;const s=Object.keys(e.attributeData).sort();for(let n=0;n<s.length;n++){const a=e.attributeData[s[n]];t[r++]=a.location}const i=t.join("|");return e._attributeLocationsKey=w(i,"programAttributes"),e._attributeLocationsKey}getBufferNamesToBind(e,t){const r=e._layoutKey<<16|t._attributeLocationsKey;if(this._bindingNamesCache[r])return this._bindingNamesCache[r];const s=this._createVertexBufferLayouts(e,t),i=Object.create(null),n=t.attributeData;for(let a=0;a<s.length;a++){const c=Object.values(s[a].attributes)[0].shaderLocation;for(const g in n)if(n[g].location===c){i[a]=g;break}}return this._bindingNamesCache[r]=i,i}_createVertexBufferLayouts(e,t){t._attributeLocationsKey||this._generateAttributeLocationsKey(t);const r=e._layoutKey<<16|t._attributeLocationsKey;if(this._bufferLayoutsCache[r])return this._bufferLayoutsCache[r];const s=[];return e.buffers.forEach(i=>{const n={arrayStride:0,stepMode:"vertex",attributes:[]},a=n.attributes;for(const u in t.attributeData){const c=e.attributes[u];(c.divisor??1)!==1&&v(`Attribute ${u} has an invalid divisor value of '${c.divisor}'. WebGPU only supports a divisor value of 1`),c.buffer===i&&(n.arrayStride=c.stride,n.stepMode=c.instance?"instance":"vertex",a.push({shaderLocation:t.attributeData[u].location,offset:c.offset,format:c.format}))}a.length&&s.push(n)}),this._bufferLayoutsCache[r]=s,s}_updatePipeHash(){const e=ze(this._stencilMode,this._multisampleCount,this._colorMask,this._depthStencilAttachment,this._colorTargetCount);this._pipeStateCaches[e]||(this._pipeStateCaches[e]=Object.create(null)),this._pipeCache=this._pipeStateCaches[e]}destroy(){this._renderer=null,this._bufferLayoutsCache=null}}J.extension={type:[l.WebGPUSystem],name:"pipeline"};class Fe{constructor(){this.contexts=[],this.msaaTextures=[],this.msaaSamples=1}}class Oe{init(e,t){this._renderer=e,this._renderTargetSystem=t}copyToTexture(e,t,r,s,i){const n=this._renderer,a=this._getGpuColorTexture(e),u=n.texture.getGpuSource(t.source);return n.encoder.commandEncoder.copyTextureToTexture({texture:a,origin:r},{texture:u,origin:i},s),t}startRenderPass(e,t=!0,r,s,i=0,n=0){const u=this._renderTargetSystem.getGpuRenderTarget(e);if(n!==0&&u.msaaTextures?.length)throw new Error("[RenderTargetSystem] Rendering to array layers is not supported with MSAA render targets.");if(i>0&&u.msaaTextures?.length)throw new Error("[RenderTargetSystem] Rendering to mip levels is not supported with MSAA render targets.");const c=this.getDescriptor(e,t,r,i,n);u.descriptor=c,this._renderer.pipeline.setRenderTarget(u),this._renderer.encoder.beginRenderPass(u),this._renderer.encoder.setViewport(s)}finishRenderPass(){this._renderer.encoder.endRenderPass()}_getGpuColorTexture(e){const t=this._renderTargetSystem.getGpuRenderTarget(e);return t.contexts[0]?t.contexts[0].getCurrentTexture():this._renderer.texture.getGpuSource(e.colorTextures[0].source)}getDescriptor(e,t,r,s=0,i=0){typeof t=="boolean"&&(t=t?y.ALL:y.NONE);const n=this._renderTargetSystem,a=n.getGpuRenderTarget(e),u=e.colorTextures.map((h,p)=>{const d=a.contexts[p];let f,m;if(d){if(i!==0)throw new Error("[RenderTargetSystem] Rendering to array layers is not supported for canvas targets.");f=d.getCurrentTexture().createView()}else f=this._renderer.texture.getGpuSource(h).createView({dimension:"2d",baseMipLevel:s,mipLevelCount:1,baseArrayLayer:i,arrayLayerCount:1});a.msaaTextures[p]&&(m=f,f=this._renderer.texture.getTextureView(a.msaaTextures[p]));const x=t&y.COLOR?"clear":"load";return r??(r=n.defaultClearColor),{view:f,resolveTarget:m,clearValue:r,storeOp:"store",loadOp:x}});let c;if((e.stencil||e.depth)&&!e.depthStencilTexture&&(e.ensureDepthStencilTexture(),e.depthStencilTexture.source.sampleCount=a.msaa?4:1),e.depthStencilTexture){const h=t&y.STENCIL?"clear":"load",p=t&y.DEPTH?"clear":"load";c={view:this._renderer.texture.getGpuSource(e.depthStencilTexture.source).createView({dimension:"2d",baseMipLevel:s,mipLevelCount:1,baseArrayLayer:i,arrayLayerCount:1}),stencilStoreOp:"store",stencilLoadOp:h,depthClearValue:1,depthLoadOp:p,depthStoreOp:"store"}}return{colorAttachments:u,depthStencilAttachment:c}}clear(e,t=!0,r,s,i=0,n=0){if(!t)return;const{gpu:a,encoder:u}=this._renderer,c=a.device;if(u.commandEncoder===null){const h=c.createCommandEncoder(),p=this.getDescriptor(e,t,r,i,n),d=h.beginRenderPass(p);d.setViewport(s.x,s.y,s.width,s.height,0,1),d.end();const f=h.finish();c.queue.submit([f])}else this.startRenderPass(e,t,r,s,i,n)}initGpuRenderTarget(e){e.isRoot=!0;const t=new Fe;return t.colorTargetCount=e.colorTextures.length,e.colorTextures.forEach((r,s)=>{if(r instanceof pe){const i=r.resource.getContext("webgpu"),n=r.transparent?"premultiplied":"opaque";try{i.configure({device:this._renderer.gpu.device,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,format:"bgra8unorm",alphaMode:n})}catch(a){console.error(a)}t.contexts[s]=i}if(t.msaa=r.source.antialias,r.source.antialias){const i=new le({width:0,height:0,sampleCount:4,arrayLayerCount:r.source.arrayLayerCount});t.msaaTextures[s]=i}}),t.msaa&&(t.msaaSamples=4,e.depthStencilTexture&&(e.depthStencilTexture.source.sampleCount=4)),t}destroyGpuRenderTarget(e){e.contexts.forEach(t=>{t.unconfigure()}),e.msaaTextures.forEach(t=>{t.destroy()}),e.msaaTextures.length=0,e.contexts.length=0}ensureDepthStencilTexture(e){const t=this._renderTargetSystem.getGpuRenderTarget(e);e.depthStencilTexture&&t.msaa&&(e.depthStencilTexture.source.sampleCount=4)}resizeGpuRenderTarget(e){const t=this._renderTargetSystem.getGpuRenderTarget(e);t.width=e.width,t.height=e.height,t.msaa&&e.colorTextures.forEach((r,s)=>{t.msaaTextures[s]?.resize(r.source.width,r.source.height,r.source._resolution)})}}class Z extends ve{constructor(e){super(e),this.adaptor=new Oe,this.adaptor.init(e,this)}}Z.extension={type:[l.WebGPUSystem],name:"renderTarget"};class Q{constructor(){this._gpuProgramData=Object.create(null)}contextChange(e){this._gpu=e}getProgramData(e){return this._gpuProgramData[e._layoutKey]||this._createGPUProgramData(e)}_createGPUProgramData(e){const t=this._gpu.device,r=e.gpuLayout.map(i=>t.createBindGroupLayout({entries:i})),s={bindGroupLayouts:r};return this._gpuProgramData[e._layoutKey]={bindGroups:r,pipeline:t.createPipelineLayout(s)},this._gpuProgramData[e._layoutKey]}destroy(){this._gpu=null,this._gpuProgramData=null}}Q.extension={type:[l.WebGPUSystem],name:"shader"};const _={};_.normal={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}};_.add={alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one",operation:"add"}};_.multiply={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"dst",dstFactor:"one-minus-src-alpha",operation:"add"}};_.screen={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}};_.overlay={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}};_.none={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"zero",operation:"add"}};_["normal-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"}};_["add-npm"]={alpha:{srcFactor:"one",dstFactor:"one",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one",operation:"add"}};_["screen-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src",operation:"add"}};_.erase={alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"one-minus-src",operation:"add"}};_.min={alpha:{srcFactor:"one",dstFactor:"one",operation:"min"},color:{srcFactor:"one",dstFactor:"one",operation:"min"}};_.max={alpha:{srcFactor:"one",dstFactor:"one",operation:"max"},color:{srcFactor:"one",dstFactor:"one",operation:"max"}};class ee{constructor(){this.defaultState=new L,this.defaultState.blend=!0}contextChange(e){this.gpu=e}getColorTargets(e,t){const r=_[e.blendMode]||_.normal,s=[],i={format:"bgra8unorm",writeMask:0,blend:r};for(let n=0;n<t;n++)s[n]=i;return s}destroy(){this.gpu=null}}ee.extension={type:[l.WebGPUSystem],name:"state"};const Ie={type:"image",upload(o,e,t,r=0){const s=o.resource,i=(o.pixelWidth|0)*(o.pixelHeight|0),n=s.byteLength/i;t.device.queue.writeTexture({texture:e,origin:{x:0,y:0,z:r}},s,{offset:0,rowsPerImage:o.pixelHeight,bytesPerRow:o.pixelWidth*n},{width:o.pixelWidth,height:o.pixelHeight,depthOrArrayLayers:1})}},te={"bc1-rgba-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"bc2-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc3-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc7-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"etc1-rgb-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"etc2-rgba8unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"astc-4x4-unorm":{blockBytes:16,blockWidth:4,blockHeight:4}},We={blockBytes:4,blockWidth:1,blockHeight:1},He={type:"compressed",upload(o,e,t,r=0){let s=o.pixelWidth,i=o.pixelHeight;const n=te[o.format]||We;for(let a=0;a<o.resource.length;a++){const u=o.resource[a],c=Math.ceil(s/n.blockWidth)*n.blockBytes;t.device.queue.writeTexture({texture:e,mipLevel:a,origin:{x:0,y:0,z:r}},u,{offset:0,bytesPerRow:c},{width:Math.ceil(s/n.blockWidth)*n.blockWidth,height:Math.ceil(i/n.blockHeight)*n.blockHeight,depthOrArrayLayers:1}),s=Math.max(s>>1,1),i=Math.max(i>>1,1)}}},E=["right","left","top","bottom","front","back"];function Ve(o){return{type:"cube",upload(e,t,r){const s=e.faces;for(let i=0;i<E.length;i++){const n=E[i],a=s[n];(o[a.uploadMethodId]||o.image).upload(a,t,r,i)}}}}const re={type:"image",upload(o,e,t,r=0){const s=o.resource;if(!s)return;if(globalThis.HTMLImageElement&&s instanceof HTMLImageElement){const u=B.get().createCanvas(s.width,s.height);u.getContext("2d").drawImage(s,0,0,s.width,s.height),o.resource=u,v("ImageSource: Image element passed, converting to canvas and replacing resource.")}const i=Math.min(e.width,o.resourceWidth||o.pixelWidth),n=Math.min(e.height,o.resourceHeight||o.pixelHeight),a=o.alphaMode==="premultiply-alpha-on-upload";t.device.queue.copyExternalImageToTexture({source:s},{texture:e,origin:{x:0,y:0,z:r},premultipliedAlpha:a},{width:i,height:n})}},Ne={type:"video",upload(o,e,t,r){re.upload(o,e,t,r)}};class je{constructor(e){this.device=e,this.sampler=e.createSampler({minFilter:"linear"}),this.pipelines={}}_getMipmapPipeline(e){let t=this.pipelines[e];return t||(this.mipmapShaderModule||(this.mipmapShaderModule=this.device.createShaderModule({code:`
18
- var<private> pos : array<vec2<f32>, 3> = array<vec2<f32>, 3>(
19
- vec2<f32>(-1.0, -1.0), vec2<f32>(-1.0, 3.0), vec2<f32>(3.0, -1.0));
20
-
21
- struct VertexOutput {
22
- @builtin(position) position : vec4<f32>,
23
- @location(0) texCoord : vec2<f32>,
24
- };
25
-
26
- @vertex
27
- fn vertexMain(@builtin(vertex_index) vertexIndex : u32) -> VertexOutput {
28
- var output : VertexOutput;
29
- output.texCoord = pos[vertexIndex] * vec2<f32>(0.5, -0.5) + vec2<f32>(0.5);
30
- output.position = vec4<f32>(pos[vertexIndex], 0.0, 1.0);
31
- return output;
32
- }
33
-
34
- @group(0) @binding(0) var imgSampler : sampler;
35
- @group(0) @binding(1) var img : texture_2d<f32>;
36
-
37
- @fragment
38
- fn fragmentMain(@location(0) texCoord : vec2<f32>) -> @location(0) vec4<f32> {
39
- return textureSample(img, imgSampler, texCoord);
40
- }
41
- `})),t=this.device.createRenderPipeline({layout:"auto",vertex:{module:this.mipmapShaderModule,entryPoint:"vertexMain"},fragment:{module:this.mipmapShaderModule,entryPoint:"fragmentMain",targets:[{format:e}]}}),this.pipelines[e]=t),t}generateMipmap(e){const t=this._getMipmapPipeline(e.format);if(e.dimension==="3d"||e.dimension==="1d")throw new Error("Generating mipmaps for non-2d textures is currently unsupported!");let r=e;const s=e.depthOrArrayLayers||1,i=e.usage&GPUTextureUsage.RENDER_ATTACHMENT;if(!i){const u={size:{width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:s},format:e.format,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT,mipLevelCount:e.mipLevelCount-1};r=this.device.createTexture(u)}const n=this.device.createCommandEncoder({}),a=t.getBindGroupLayout(0);for(let u=0;u<s;++u){let c=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:"2d",baseArrayLayer:u,arrayLayerCount:1}),g=i?1:0;for(let h=1;h<e.mipLevelCount;++h){const p=r.createView({baseMipLevel:g++,mipLevelCount:1,dimension:"2d",baseArrayLayer:u,arrayLayerCount:1}),d=n.beginRenderPass({colorAttachments:[{view:p,storeOp:"store",loadOp:"clear",clearValue:{r:0,g:0,b:0,a:0}}]}),f=this.device.createBindGroup({layout:a,entries:[{binding:0,resource:this.sampler},{binding:1,resource:c}]});d.setPipeline(t),d.setBindGroup(0,f),d.draw(3,1,0,0),d.end(),c=p}}if(!i){const u={width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:s};for(let c=1;c<e.mipLevelCount;++c)n.copyTextureToTexture({texture:r,mipLevel:c-1},{texture:e,mipLevel:c},u),u.width=Math.ceil(u.width/2),u.height=Math.ceil(u.height/2)}return this.device.queue.submit([n.finish()]),i||r.destroy(),e}}class Ke{constructor(e){this.textureView=null,this.gpuTexture=e}destroy(){this.gpuTexture.destroy(),this.textureView=null,this.gpuTexture=null}}class se{constructor(e){this._gpuSamplers=Object.create(null),this._bindGroupHash=Object.create(null),this._renderer=e,e.gc.addCollection(this,"_bindGroupHash","hash"),this._managedTextures=new D({renderer:e,type:"resource",onUnload:this.onSourceUnload.bind(this),name:"gpuTextureSource"});const t={image:re,buffer:Ie,video:Ne,compressed:He};this._uploads={...t,cube:Ve(t)}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gpu=e}initSource(e){return e._gpuData[this._renderer.uid]?.gpuTexture||this._initSource(e)}_initSource(e){if(e.autoGenerateMipmaps){const c=Math.max(e.pixelWidth,e.pixelHeight);e.mipLevelCount=Math.floor(Math.log2(c))+1}let t=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST;e.uploadMethodId!=="compressed"&&(t|=GPUTextureUsage.RENDER_ATTACHMENT,t|=GPUTextureUsage.COPY_SRC);const r=te[e.format]||{blockWidth:1,blockHeight:1},s=Math.ceil(e.pixelWidth/r.blockWidth)*r.blockWidth,i=Math.ceil(e.pixelHeight/r.blockHeight)*r.blockHeight,n={label:e.label,size:{width:s,height:i,depthOrArrayLayers:e.arrayLayerCount},format:e.format,sampleCount:e.sampleCount,mipLevelCount:e.mipLevelCount,dimension:e.dimension,usage:t},a=this._gpu.device.createTexture(n);return e._gpuData[this._renderer.uid]=new Ke(a),this._managedTextures.add(e)&&(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceResize,this),e.on("updateMipmaps",this.onUpdateMipmaps,this)),this.onSourceUpdate(e),a}onSourceUpdate(e){const t=this.getGpuSource(e);t&&(this._uploads[e.uploadMethodId]&&this._uploads[e.uploadMethodId].upload(e,t,this._gpu),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e))}onUpdateMipmaps(e){this._mipmapGenerator||(this._mipmapGenerator=new je(this._gpu.device));const t=this.getGpuSource(e);this._mipmapGenerator.generateMipmap(t)}onSourceUnload(e){e.off("update",this.onSourceUpdate,this),e.off("resize",this.onSourceResize,this),e.off("updateMipmaps",this.onUpdateMipmaps,this)}onSourceResize(e){e._gcLastUsed=this._renderer.gc.now;const t=e._gpuData[this._renderer.uid],r=t?.gpuTexture;r?(r.width!==e.pixelWidth||r.height!==e.pixelHeight)&&(t.destroy(),this._bindGroupHash[e.uid]=null,e._gpuData[this._renderer.uid]=null,this.initSource(e)):this.initSource(e)}_initSampler(e){return this._gpuSamplers[e._resourceId]=this._gpu.device.createSampler(e),this._gpuSamplers[e._resourceId]}getGpuSampler(e){return this._gpuSamplers[e._resourceId]||this._initSampler(e)}getGpuSource(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuTexture||this.initSource(e)}getTextureBindGroup(e){return this._bindGroupHash[e.uid]||this._createTextureBindGroup(e)}_createTextureBindGroup(e){const t=e.source;return this._bindGroupHash[e.uid]=new k({0:t,1:t.style,2:new z({uTextureMatrix:{type:"mat3x3<f32>",value:e.textureMatrix.mapCoord}})}),this._bindGroupHash[e.uid]}getTextureView(e){const t=e.source;t._gcLastUsed=this._renderer.gc.now;let r=t._gpuData[this._renderer.uid];return r||(this.initSource(t),r=t._gpuData[this._renderer.uid]),r.textureView||(r.textureView=r.gpuTexture.createView({dimension:t.viewDimension})),r.textureView}generateCanvas(e){const t=this._renderer,r=t.gpu.device.createCommandEncoder(),s=B.get().createCanvas();s.width=e.source.pixelWidth,s.height=e.source.pixelHeight;const i=s.getContext("webgpu");return i.configure({device:t.gpu.device,usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,format:B.get().getNavigator().gpu.getPreferredCanvasFormat(),alphaMode:"premultiplied"}),r.copyTextureToTexture({texture:t.texture.getGpuSource(e.source),origin:{x:0,y:0}},{texture:i.getCurrentTexture()},{width:s.width,height:s.height}),t.gpu.device.queue.submit([r.finish()]),s}getPixels(e){const t=this.generateCanvas(e),r=M.getOptimalCanvasAndContext(t.width,t.height),s=r.context;s.drawImage(t,0,0);const{width:i,height:n}=t,a=s.getImageData(0,0,i,n),u=new Uint8ClampedArray(a.data.buffer);return M.returnCanvasAndContext(r),{pixels:u,width:i,height:n}}destroy(){this._managedTextures.destroy();for(const e of Object.keys(this._bindGroupHash)){const t=Number(e);this._bindGroupHash[t]?.destroy()}this._renderer=null,this._gpu=null,this._mipmapGenerator=null,this._gpuSamplers=null,this._bindGroupHash=null}}se.extension={type:[l.WebGPUSystem],name:"texture"};class ie{constructor(){this._maxTextures=0}contextChange(e){const t=new z({uTransformMatrix:{value:new F,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}});this._maxTextures=e.limits.maxBatchableTextures;const r=O({name:"graphics",bits:[fe,ge(this._maxTextures),Se,I]});this.shader=new W({gpuProgram:r,resources:{localUniforms:t}})}execute(e,t){const r=t.context,s=r.customShader||this.shader,i=e.renderer,n=i.graphicsContext,{batcher:a,instructions:u}=n.getContextRenderData(r),c=i.encoder;c.setGeometry(a.geometry,s.gpuProgram);const g=i.globalUniforms.bindGroup;c.setBindGroup(0,g,s.gpuProgram);const h=i.renderPipes.uniformBatch.getUniformBindGroup(s.resources.localUniforms,!0);c.setBindGroup(2,h,s.gpuProgram);const p=u.instructions;let d=null;for(let f=0;f<u.instructionSize;f++){const m=p[f];if(m.topology!==d&&(d=m.topology,c.setPipelineFromGeometryProgramAndState(a.geometry,s.gpuProgram,e.state,m.topology)),s.groups[1]=m.bindGroup,!m.gpuBindGroup){const x=m.textures;m.bindGroup=A(x.textures,x.count,this._maxTextures),m.gpuBindGroup=i.bindGroup.getBindGroup(m.bindGroup,s.gpuProgram,1)}c.setBindGroup(1,m.bindGroup,s.gpuProgram),c.renderPassEncoder.drawIndexed(m.size,1,m.start)}}destroy(){this.shader.destroy(!0),this.shader=null}}ie.extension={type:[l.WebGPUPipesAdaptor],name:"graphics"};class ne{init(){const e=O({name:"mesh",bits:[Te,Ce,I]});this._shader=new W({gpuProgram:e,resources:{uTexture:R.EMPTY._source,uSampler:R.EMPTY._source.style,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new F}}}})}execute(e,t){const r=e.renderer;let s=t._shader;if(!s)s=this._shader,s.groups[2]=r.texture.getTextureBindGroup(t.texture);else if(!s.gpuProgram){v("Mesh shader has no gpuProgram",t.shader);return}const i=s.gpuProgram;if(i.autoAssignGlobalUniforms&&(s.groups[0]=r.globalUniforms.bindGroup),i.autoAssignLocalUniforms){const n=e.localUniforms;s.groups[1]=r.renderPipes.uniformBatch.getUniformBindGroup(n,!0)}r.encoder.draw({geometry:t._geometry,shader:s,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}}ne.extension={type:[l.WebGPUPipesAdaptor],name:"mesh"};const qe=[...Ue,Y,K,U,q,N,se,Z,Q,ee,J,j,$,V],$e=[...we,X],Ye=[H,ne,ie],ae=[],oe=[],ue=[];S.handleByNamedList(l.WebGPUSystem,ae);S.handleByNamedList(l.WebGPUPipes,oe);S.handleByNamedList(l.WebGPUPipesAdaptor,ue);S.add(...qe,...$e,...Ye);class rt extends me{constructor(){const e={name:"webgpu",type:_e.WEBGPU,systems:ae,renderPipes:oe,renderPipeAdaptors:ue};super(e)}}export{rt as WebGPURenderer};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse('{"displayName":"ABAP","fileTypes":["abap","ABAP"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"abap","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"^\\\\*.*\\\\n?","name":"comment.line.full.abap"},{"captures":{"1":{"name":"punctuation.definition.comment.abap"}},"match":"\\".*\\\\n?","name":"comment.line.partial.abap"},{"match":"(?<!\\\\S)##.*?(?=([,.:\\\\s]))","name":"comment.line.pragma.abap"},{"match":"(?i)(?<=[-~\\\\s])(?<=[-=]>)([/_a-z][/-9_a-z]*)(?=\\\\s+(?:|[-*+/]|&&?)=\\\\s+)","name":"variable.other.abap"},{"match":"\\\\b[0-9]+(\\\\b|[,.])","name":"constant.numeric.abap"},{"match":"(?i)(^|\\\\s+)((P(?:UBLIC|RIVATE|ROTECTED))\\\\sSECTION)(?=\\\\s+|[.:])","name":"storage.modifier.class.abap"},{"begin":"(?<!\\\\\\\\)(\\\\|)(.*?)","beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"end":"(?<!\\\\\\\\)(\\\\||(\\\\\\\\\\\\\\\\\\\\|))","endCaptures":{"1":{"name":"constant.character.escape.abap"}},"name":"string.interpolated.abap","patterns":[{"match":"(\\\\{ )|( })","name":"constant.character.escape"},{"match":"\\\\\\\\\\\\|","name":"constant.character.escape.abap"},{"match":"(?i)(?<=\\\\s)(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\\\\s=)","name":"entity.name.property.stringtemplate.abap"},{"match":"(?i)(?<==\\\\s)(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\\\\s)","name":"entity.value.property.stringtemplate.abap"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.abap","patterns":[{"match":"\'\'","name":"constant.character.escape.abap"}]},{"begin":"`","end":"`","name":"string.quoted.single.abap","patterns":[{"match":"``","name":"constant.character.escape.abap"}]},{"begin":"(?i)^\\\\s*(class)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","name":"meta.block.begin.implementation.abap","patterns":[{"match":"(?i)(^|\\\\s+)(definition|implementation|public|inheriting\\\\s+from|final|deferred|abstract|shared\\\\s+memory\\\\s+enabled|(global|local)*\\\\s*friends|(create\\\\s+(p(?:ublic|rotected|rivate)))|for\\\\s+behavior\\\\s+of|for\\\\s+testing|risk\\\\s+level\\\\s+(critical|dangerous|harmless))|duration\\\\s(short|medium|long)(?=\\\\s+|\\\\.)","name":"storage.modifier.class.abap"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","contentName":"entity.name.type.block.abap","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(method)\\\\s(?:([/_a-z][/-9_a-z]*)~)?([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(BY(?:\\\\s+DATABASE(\\\\s+PROCEDURE|\\\\s+FUNCTION|\\\\s+GRAPH\\\\s+WORKSPACE)|\\\\s+KERNEL\\\\s+MODULE))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(FOR\\\\s+(HDB|LLANG))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=\\\\s)(OPTIONS\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\s+SYNTAX\\\\s+ERRORS))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"match":"(?i)(?<=^|\\\\s)(LANGUAGE\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"},{"captures":{"1":{"name":"storage.modifier.method.abap"}},"match":"(?i)(?<=\\\\s)(USING)\\\\s+([/_a-z][/-9=>_a-z]*)+(?=\\\\s+|\\\\.)"},{"begin":"(?=[A-Z_a-z][0-9A-Z_a-z]*)","end":"(?![0-9A-Z_a-z])","patterns":[{"include":"#generic_names"}]}]},{"begin":"(?i)^\\\\s*(INTERFACE)\\\\s([/_a-z][/-9_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(DEFERRED|PUBLIC)(?=\\\\s+|\\\\.)","name":"storage.modifier.method.abap"}]},{"begin":"(?i)^\\\\s*(FORM)\\\\s([/_a-z][-/-9?_a-z]*)","beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}},"end":"\\\\s*\\\\.\\\\s*\\\\n?","patterns":[{"match":"(?i)(?<=^|\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\s+|\\\\.)","name":"storage.modifier.form.abap"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}]},{"match":"(?i)(end(?:class|method|form|interface))","name":"storage.type.block.end.abap"},{"match":"(?i)(<[A-Z_a-z][0-9A-Z_a-z]*>)","name":"variable.other.field.symbol.abap"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"},{"include":"#sql_functions"},{"include":"#sql_types"}],"repository":{"abap_constants":{"match":"(?i)(?<=\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=[,.\\\\s])","name":"constant.language.abap"},"abaptypes":{"patterns":[{"match":"(?i)\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[,.\\\\s])","name":"support.type.abap"},{"match":"(?i)\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[,.\\\\s])","name":"keyword.control.simple.abap"}]},"arithmetic_operator":{"match":"(?i)(?<=\\\\s)([-*+]|\\\\*\\\\*|[%/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\s)","name":"keyword.control.simple.abap"},"builtin_functions":{"match":"(?i)(?<=\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\()","name":"entity.name.function.builtin.abap"},"comparison_operator":{"match":"(?i)(?<=\\\\s)([<>]|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|[moz])(?=\\\\s)","name":"keyword.control.simple.abap"},"control_keywords":{"match":"(?i)(^|\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[.:\\\\s])","name":"keyword.control.flow.abap"},"generic_names":{"match":"[A-Z_a-z][0-9A-Z_a-z]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}},"match":"(?i)\\\\b(data|value|field-symbol|final|reference|resumable)\\\\((<?[/_a-z][/-9_a-z]*>?)\\\\)"},"logical_operator":{"match":"(?i)(?<=\\\\s)(not|or|and)(?=\\\\s)","name":"keyword.control.simple.abap"},"main_keywords":{"match":"(?i)(?<=^|\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blanks??|blocks??|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-methods??|class-pool|cleanup|clear|clients??|clock|clone|close|cnt|code|collect|color|column|comments??|commit|common|communication|comparing|components??|compression|compute|concatenate|cond|condense|condition|connection|constants??|contexts??|controls??|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicates??|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|equiv|errors|escape|escaping|events??|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filters??|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frames??|free|from|full|function|function-pool|generate|get|giving|graph|groups??|handler??|hashed|having|headers??|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|includes??|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instances??|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|job|join|keep|keeping|kernel|keys??|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|legacy|length|let|levels??|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|locale??|locks??|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|methods??|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no-display|no-extension|no-gaps??|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|objects??|objmgr|obligatory|occurences??|occurrences??|occurs|of|offset|on|only|open|optional|options??|order|others|out|outer|output|output-length|overflow|overlay|pack|package|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|ranges??|read|read-only|received??|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|results??|resumable|resume|retry|return|returning|right|right-justified|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-sets??|selection-table|selections|send|separated??|session|set|shared|shift|shortdump|shortdump-id|sign|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statements??|statics??|statusinfo|step|step-loop|stop|structures??|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|tables??|tableview|tabstrip|target|tasks??|test|test-injection|test-seam|testing|text|textpool|then|throw|times??|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pools??|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|windows??|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[,.:\\\\s])","name":"keyword.control.simple.abap"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"match":"(?<=\\\\s)(&&?|\\\\?=|\\\\+=|-=|/=|\\\\*=|&&=|&=)(?=\\\\s)","name":"keyword.control.simple.abap"},"reserved_names":{"match":"(?i)(?<=\\\\s)(me|super)(?=[,.\\\\s]|->)","name":"constant.language.abap"},"sql_functions":{"match":"(?i)(?<=\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\()","name":"entity.name.function.sql.abap"},"sql_types":{"match":"(?i)(?<=\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[()\\\\s])","name":"entity.name.type.sql.abap"},"system_fields":{"captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}},"match":"(?i)\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=[.\\\\s])"},"text_symbols":{"captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}},"match":"(?i)(?<=^|\\\\s)(text)-([0-9A-Z]{1,3})(?=[,.:\\\\s])"}},"scopeName":"source.abap"}')),a=[e];export{a as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse(`{"displayName":"ActionScript","fileTypes":["as"],"name":"actionscript-3","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"},{"include":"#import"},{"include":"#mxml"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"}],"repository":{"arithmetic_operators":{"match":"([-%+/]|(?<!:)\\\\*)","name":"keyword.operator.actionscript.3"},"array_access_operators":{"match":"([]\\\\[])","name":"keyword.operator.actionscript.3"},"class":{"begin":"(^|\\\\s+|;)(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(\\\\b(internal|public)\\\\b\\\\s+)?(\\\\b(dynamic|final|abstract)\\\\b\\\\s+)?(?=\\\\bclass\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.class.actionscript.3","patterns":[{"include":"#class_declaration"},{"include":"#metadata"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_operators"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"},{"include":"#object_literal"}]},"class_declaration":{"begin":"\\\\b(class)\\\\b\\\\s+([$.0-9A-Z_a-z]+|\\\\*)","beginCaptures":{"1":{"name":"storage.type.class.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#implements"},{"include":"#comments"}]},"code_block":{"begin":"\\\\{","end":"}","name":"meta.code_block.actionscript.3","patterns":[{"include":"#code_block"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"},{"include":"#import"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","end":"\\\\*/","name":"comment.block.documentation.actionscript.3","patterns":[{"match":"@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\\\b","name":"keyword.other.documentation.actionscript.3.asdoc"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.actionscript.3"},{"match":"//.*","name":"comment.line.actionscript.3"}]},"control_keywords":{"match":"\\\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\\\b","name":"keyword.control.actionscript.3"},"dynamic_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"(?<=:)\\\\s*(\\\\*)"},"escapes":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)","name":"constant.character.escape.actionscript.3"},"extends":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(extends)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.extends.actionscript.3"},"function_arguments":{"begin":"\\\\(","end":"\\\\)","name":"meta.function_arguments.actionscript.3","patterns":[{"include":"#parameters"},{"include":"#comments"}]},"functions":{"begin":"\\\\b(function)\\\\b(?:\\\\s+\\\\b([gs]et)\\\\b\\\\s+)?\\\\s*([$0-9A-Z_a-z]+\\\\b)?","beginCaptures":{"1":{"name":"storage.type.function.actionscript.3"},"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"entity.name.function.actionscript.3"}},"end":"($|;|(?=\\\\{))","name":"meta.function.actionscript.3","patterns":[{"include":"#function_arguments"},{"include":"#return_type"},{"include":"#comments"}]},"guess_constant":{"captures":{"1":{"name":"constant.other.actionscript.3"}},"match":"\\\\b([$A-Z][0-9A-Z_]+)\\\\b"},"guess_type":{"captures":{"1":{"name":"support.type.actionscript.3"}},"match":"\\\\b((?:[$0-9A-Z_a-z]+\\\\.)*[A-Z][0-9A-Z]*[a-z]+[$0-9A-Z_a-z]*)\\\\b"},"implements":{"captures":{"1":{"name":"keyword.other.actionscript.3"},"2":{"name":"entity.other.inherited-class.actionscript.3"},"3":{"name":"entity.other.inherited-class.actionscript.3"}},"match":"\\\\b(implements)\\\\b\\\\s+([$.0-9A-Z_a-z]+)\\\\s*(?:,\\\\s*([$.0-9A-Z_a-z]+))*\\\\s*","name":"meta.implements.actionscript.3"},"import":{"captures":{"2":{"name":"keyword.control.import.actionscript.3"},"3":{"name":"support.type.actionscript.3"}},"match":"(^|\\\\s+|;)\\\\b(import)\\\\b\\\\s+([$.0-9A-Z_a-z]+(?:\\\\.\\\\*)?)\\\\s*(?=;|$)","name":"meta.import.actionscript.3"},"interface":{"begin":"(^|\\\\s+|;)(\\\\b(internal|public)\\\\b\\\\s+)?(?=\\\\binterface\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"}},"end":"}","name":"meta.interface.actionscript.3","patterns":[{"include":"#interface_declaration"},{"include":"#metadata"},{"include":"#functions"},{"include":"#comments"}]},"interface_declaration":{"begin":"\\\\b(interface)\\\\b\\\\s+([$.0-9A-Z_a-z]+)","beginCaptures":{"1":{"name":"storage.type.interface.actionscript.3"},"2":{"name":"entity.name.class.actionscript.3"}},"end":"\\\\{","name":"meta.class_declaration.actionscript.3","patterns":[{"include":"#extends"},{"include":"#comments"}]},"language_constants":{"match":"\\\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\\\b","name":"constant.language.actionscript.3"},"language_variables":{"match":"\\\\b(super|this|arguments)\\\\b","name":"variable.language.actionscript.3"},"logical_operators":{"match":"([!\\\\&<>?^|~])","name":"keyword.operator.actionscript.3"},"metadata":{"begin":"(?<=(?:^|[;{}]|\\\\*/)\\\\s*)\\\\[\\\\s*\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.actionscript.3"}},"end":"]","name":"meta.metadata_info.actionscript.3","patterns":[{"include":"#metadata_info"}]},"metadata_info":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#strings"},{"captures":{"1":{"name":"variable.parameter.actionscript.3"},"2":{"name":"keyword.operator.actionscript.3"}},"match":"(\\\\w+)\\\\s*(=)"}]},"method":{"begin":"(^|\\\\s+)((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?(?=\\\\bfunction\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"storage.modifier.actionscript.3"}},"end":"(?<=([;}]))","name":"meta.method.actionscript.3","patterns":[{"include":"#functions"},{"include":"#code_block"}]},"mxml":{"begin":"<!\\\\[CDATA\\\\[","end":"]]>","name":"meta.cdata.actionscript.3","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#metadata"},{"include":"#class"},{"include":"#namespace_declaration"},{"include":"#use_namespace"},{"include":"#class_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_keywords"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"}]},"namespace_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"storage.modifier.actionscript.3"}},"match":"((\\\\w+)\\\\s+)?(namespace)\\\\s+[$0-9A-Z_a-z]+","name":"meta.namespace_declaration.actionscript.3"},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.actionscript.3"},"object_literal":{"begin":"\\\\{","end":"}","name":"meta.object_literal.actionscript.3","patterns":[{"include":"#object_literal"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#functions"}]},"other_keywords":{"match":"\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\b","name":"keyword.other.actionscript.3"},"other_operators":{"match":"([.=])","name":"keyword.operator.actionscript.3"},"package":{"begin":"(^|\\\\s+)(package)\\\\b","beginCaptures":{"2":{"name":"keyword.other.actionscript.3"}},"end":"}","name":"meta.package.actionscript.3","patterns":[{"include":"#package_name"},{"include":"#variable_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#return_type"},{"include":"#import"},{"include":"#use_namespace"},{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#metadata"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"}]},"package_name":{"begin":"(?<=package)\\\\s+([._\\\\w]*)\\\\b","end":"\\\\{","name":"meta.package_name.actionscript.3"},"parameters":{"begin":"(\\\\.\\\\.\\\\.)?\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\s*(:)\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)))?(?:\\\\s*(=))?","beginCaptures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"variable.parameter.actionscript.3"},"3":{"name":"keyword.operator.actionscript.3"},"4":{"name":"support.type.actionscript.3"},"5":{"name":"support.type.actionscript.3"},"6":{"name":"support.type.actionscript.3"},"7":{"name":"keyword.operator.actionscript.3"}},"end":",|(?=\\\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#comments"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#guess_type"},{"include":"#guess_constant"}]},"primitive_error_types":{"captures":{"1":{"name":"support.class.error.actionscript.3"}},"match":"\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\b"},"primitive_functions":{"captures":{"1":{"name":"support.function.actionscript.3"}},"match":"\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\s*\\\\()"},"primitive_types":{"captures":{"1":{"name":"support.class.builtin.actionscript.3"}},"match":"\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\*(?<=a))\\\\b"},"regexp":{"begin":"(?<=[(,:=\\\\[]|^|return|&&|\\\\|\\\\||!)\\\\s*(/)(?![*+/?{}])","end":"$|(/)[gim]*","name":"string.regex.actionscript.3","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.actionscript.3"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.character.class.actionscript.3"}]},"return_type":{"captures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"support.type.actionscript.3"},"3":{"name":"support.type.actionscript.3"},"4":{"name":"support.type.actionscript.3"}},"match":"(:)\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)"},"strings":{"patterns":[{"begin":"@\\"","end":"\\"","name":"string.quoted.verbatim.actionscript.3"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.actionscript.3","patterns":[{"include":"#escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.actionscript.3","patterns":[{"include":"#escapes"}]}]},"use_namespace":{"captures":{"2":{"name":"keyword.other.actionscript.3"},"3":{"name":"keyword.other.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"}},"match":"(^|\\\\s+|;)(use\\\\s+)?(namespace)\\\\s+(\\\\w+)\\\\s*(;|$)"},"variable_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"},"6":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"keyword.operator.actionscript.3"}},"match":"((static)\\\\s+)?((\\\\w+)\\\\s+)?((static)\\\\s+)?(const|var)\\\\s+[$0-9A-Z_a-z]+(?:\\\\s*(:))?","name":"meta.variable_declaration.actionscript.3"},"vector_creation_operators":{"match":"([<>])","name":"keyword.operator.actionscript.3"}},"scopeName":"source.actionscript.3"}`)),t=[e];export{t as default};