expxagents 0.24.2 → 0.25.1

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 (693) hide show
  1. package/dist/cli/src/commands/info.d.ts +1 -2
  2. package/dist/cli/src/commands/login.d.ts +1 -2
  3. package/dist/cli/src/commands/logout.d.ts +1 -2
  4. package/dist/cli/src/commands/outdated.d.ts +1 -2
  5. package/dist/cli/src/commands/publish.d.ts +1 -2
  6. package/dist/cli/src/commands/registry-install.d.ts +1 -2
  7. package/dist/cli/src/commands/search.d.ts +1 -2
  8. package/dist/cli/src/commands/update.d.ts +1 -2
  9. package/dist/cli/src/commands/whoami.d.ts +1 -2
  10. package/package.json +1 -1
  11. package/assets/agents/_catalog.yaml +0 -35
  12. package/assets/agents/accounting/accountant.agent.md +0 -41
  13. package/assets/agents/accounting/audit-analyst.agent.md +0 -41
  14. package/assets/agents/accounting/financial-reporting.agent.md +0 -41
  15. package/assets/agents/accounting/fiscal-analyst.agent.md +0 -41
  16. package/assets/agents/accounting/payroll-specialist.agent.md +0 -41
  17. package/assets/agents/accounting/tax-compliance.agent.md +0 -41
  18. package/assets/agents/administrative/document-controller.agent.md +0 -41
  19. package/assets/agents/administrative/office-manager.agent.md +0 -41
  20. package/assets/agents/administrative/process-documentation-officer.agent.md +0 -41
  21. package/assets/agents/administrative/procurement-specialist.agent.md +0 -41
  22. package/assets/agents/board/board-report-writer.agent.md +0 -41
  23. package/assets/agents/board/business-intelligence.agent.md +0 -41
  24. package/assets/agents/board/governance-officer.agent.md +0 -41
  25. package/assets/agents/board/okr-manager.agent.md +0 -41
  26. package/assets/agents/board/risk-analyst.agent.md +0 -41
  27. package/assets/agents/board/strategic-advisor.agent.md +0 -41
  28. package/assets/agents/commercial/account-executive.agent.md +0 -41
  29. package/assets/agents/commercial/crm-manager.agent.md +0 -41
  30. package/assets/agents/commercial/pricing-strategist.agent.md +0 -41
  31. package/assets/agents/commercial/proposal-writer.agent.md +0 -41
  32. package/assets/agents/commercial/sdr.agent.md +0 -41
  33. package/assets/agents/compliance/compliance-officer.agent.md +0 -41
  34. package/assets/agents/compliance/data-privacy-specialist.agent.md +0 -41
  35. package/assets/agents/compliance/internal-auditor.agent.md +0 -41
  36. package/assets/agents/compliance/regulatory-monitor.agent.md +0 -41
  37. package/assets/agents/customer-success/churn-prevention.agent.md +0 -41
  38. package/assets/agents/customer-success/csm.agent.md +0 -41
  39. package/assets/agents/customer-success/expansion-manager.agent.md +0 -41
  40. package/assets/agents/customer-success/nps-analyst.agent.md +0 -41
  41. package/assets/agents/customer-success/renewal-manager.agent.md +0 -41
  42. package/assets/agents/development/android-developer.agent.md +0 -41
  43. package/assets/agents/development/backend-developer.agent.md +0 -42
  44. package/assets/agents/development/business-analyst.agent.md +0 -41
  45. package/assets/agents/development/code-reviewer.agent.md +0 -41
  46. package/assets/agents/development/cross-platform-mobile.agent.md +0 -41
  47. package/assets/agents/development/dba.agent.md +0 -41
  48. package/assets/agents/development/desktop-developer.agent.md +0 -41
  49. package/assets/agents/development/devops-engineer.agent.md +0 -41
  50. package/assets/agents/development/frontend-developer.agent.md +0 -103
  51. package/assets/agents/development/ios-developer.agent.md +0 -41
  52. package/assets/agents/development/product-manager.agent.md +0 -41
  53. package/assets/agents/development/qa-engineer.agent.md +0 -41
  54. package/assets/agents/development/scrum-master.agent.md +0 -41
  55. package/assets/agents/development/security-analyst.agent.md +0 -41
  56. package/assets/agents/development/tech-lead.agent.md +0 -42
  57. package/assets/agents/development/tech-writer.agent.md +0 -41
  58. package/assets/agents/development/ux-design-expert.agent.md +0 -108
  59. package/assets/agents/development/ux-designer.agent.md +0 -41
  60. package/assets/agents/finance/accounts-manager.agent.md +0 -41
  61. package/assets/agents/finance/billing-analyst.agent.md +0 -41
  62. package/assets/agents/finance/budget-planner.agent.md +0 -41
  63. package/assets/agents/finance/financial-controller.agent.md +0 -41
  64. package/assets/agents/hr/benefits-manager.agent.md +0 -41
  65. package/assets/agents/hr/hr-onboarding.agent.md +0 -41
  66. package/assets/agents/hr/interview-coordinator.agent.md +0 -41
  67. package/assets/agents/hr/people-culture.agent.md +0 -41
  68. package/assets/agents/hr/performance-analyst.agent.md +0 -41
  69. package/assets/agents/hr/recruiter.agent.md +0 -41
  70. package/assets/agents/implantation/deployment-manager.agent.md +0 -41
  71. package/assets/agents/implantation/environment-specialist.agent.md +0 -41
  72. package/assets/agents/implantation/go-live-coordinator.agent.md +0 -41
  73. package/assets/agents/implantation/integration-specialist.agent.md +0 -41
  74. package/assets/agents/implantation/migration-specialist.agent.md +0 -41
  75. package/assets/agents/legal/contract-manager.agent.md +0 -41
  76. package/assets/agents/legal/ip-specialist.agent.md +0 -41
  77. package/assets/agents/legal/labor-attorney.agent.md +0 -41
  78. package/assets/agents/legal/legal-counsel.agent.md +0 -41
  79. package/assets/agents/marketing/brand-guardian.agent.md +0 -40
  80. package/assets/agents/marketing/content-creator.agent.md +0 -41
  81. package/assets/agents/marketing/email-marketing.agent.md +0 -41
  82. package/assets/agents/marketing/landing-page-builder.agent.md +0 -138
  83. package/assets/agents/marketing/marketing-analyst.agent.md +0 -41
  84. package/assets/agents/marketing/paid-ads-manager.agent.md +0 -41
  85. package/assets/agents/marketing/seo-specialist.agent.md +0 -41
  86. package/assets/agents/marketing/social-media-manager.agent.md +0 -41
  87. package/assets/agents/rnd/benchmark-analyst.agent.md +0 -41
  88. package/assets/agents/rnd/innovation-scout.agent.md +0 -41
  89. package/assets/agents/rnd/market-researcher.agent.md +0 -41
  90. package/assets/agents/rnd/product-analyst.agent.md +0 -41
  91. package/assets/agents/rnd/prototype-builder.agent.md +0 -41
  92. package/assets/agents/support/knowledge-base-manager.agent.md +0 -41
  93. package/assets/agents/support/l1-support.agent.md +0 -41
  94. package/assets/agents/support/l2-support.agent.md +0 -41
  95. package/assets/agents/support/l3-support.agent.md +0 -41
  96. package/assets/agents/support/sla-monitor.agent.md +0 -41
  97. package/assets/agents/training/assessment-creator.agent.md +0 -41
  98. package/assets/agents/training/onboarding-coach.agent.md +0 -41
  99. package/assets/agents/training/training-designer.agent.md +0 -41
  100. package/assets/agents/training/workshop-facilitator.agent.md +0 -41
  101. package/assets/core/best-practices/_catalog.yaml +0 -91
  102. package/assets/core/best-practices/api-documentation.md +0 -137
  103. package/assets/core/best-practices/blog-post.md +0 -86
  104. package/assets/core/best-practices/blog-seo.md +0 -91
  105. package/assets/core/best-practices/code-review.md +0 -97
  106. package/assets/core/best-practices/copywriting.md +0 -75
  107. package/assets/core/best-practices/data-analysis.md +0 -93
  108. package/assets/core/best-practices/deploy-checklist.md +0 -99
  109. package/assets/core/best-practices/email-newsletter.md +0 -84
  110. package/assets/core/best-practices/email-sales.md +0 -91
  111. package/assets/core/best-practices/fullstack-page-generation.md +0 -936
  112. package/assets/core/best-practices/image-design.md +0 -78
  113. package/assets/core/best-practices/instagram-feed.md +0 -70
  114. package/assets/core/best-practices/instagram-reels.md +0 -75
  115. package/assets/core/best-practices/instagram-stories.md +0 -68
  116. package/assets/core/best-practices/landing-page-react.md +0 -2263
  117. package/assets/core/best-practices/landing-page.md +0 -279
  118. package/assets/core/best-practices/linkedin-article.md +0 -83
  119. package/assets/core/best-practices/linkedin-post.md +0 -84
  120. package/assets/core/best-practices/researching.md +0 -89
  121. package/assets/core/best-practices/review.md +0 -95
  122. package/assets/core/best-practices/sprint-planning.md +0 -91
  123. package/assets/core/best-practices/strategist.md +0 -95
  124. package/assets/core/best-practices/technical-writing.md +0 -104
  125. package/assets/core/best-practices/twitter-post.md +0 -75
  126. package/assets/core/best-practices/twitter-thread.md +0 -92
  127. package/assets/core/best-practices/whatsapp-broadcast.md +0 -95
  128. package/assets/core/best-practices/youtube-script.md +0 -80
  129. package/assets/core/best-practices/youtube-shorts.md +0 -76
  130. package/assets/core/prompts/insight-hunter.prompt.md +0 -62
  131. package/assets/core/runner.pipeline.md +0 -200
  132. package/assets/core/skills.engine.md +0 -65
  133. package/assets/core/solution-architect.agent.md +0 -329
  134. package/assets/mcps/_catalog.yaml +0 -17
  135. package/assets/mcps/figma.mcp.yaml +0 -35
  136. package/assets/mcps/github.mcp.yaml +0 -44
  137. package/assets/mcps/linear.mcp.yaml +0 -37
  138. package/assets/mcps/notion.mcp.yaml +0 -37
  139. package/assets/mcps/pencil.mcp.yaml +0 -32
  140. package/assets/mcps/postgresql.mcp.yaml +0 -39
  141. package/assets/mcps/sentry.mcp.yaml +0 -41
  142. package/assets/mcps/slack.mcp.yaml +0 -37
  143. package/assets/mcps/vercel.mcp.yaml +0 -39
  144. package/assets/templates/_expxagents/_memory/company.md +0 -25
  145. package/assets/templates/_expxagents/_memory/preferences.md +0 -6
  146. package/assets/templates/squads/_memory/memories.md +0 -16
  147. package/dist/cli/src/__tests__/cli.test.d.ts +0 -1
  148. package/dist/cli/src/__tests__/cli.test.js +0 -23
  149. package/dist/cli/src/commands/__tests__/outdated.test.d.ts +0 -1
  150. package/dist/cli/src/commands/__tests__/outdated.test.js +0 -76
  151. package/dist/cli/src/mcp/__tests__/catalog.test.d.ts +0 -1
  152. package/dist/cli/src/mcp/__tests__/catalog.test.js +0 -101
  153. package/dist/cli/src/mcp/__tests__/detect.test.d.ts +0 -1
  154. package/dist/cli/src/mcp/__tests__/detect.test.js +0 -84
  155. package/dist/cli/src/mcp/__tests__/setup.test.d.ts +0 -1
  156. package/dist/cli/src/mcp/__tests__/setup.test.js +0 -75
  157. package/dist/cli/src/mcp/__tests__/validate.test.d.ts +0 -1
  158. package/dist/cli/src/mcp/__tests__/validate.test.js +0 -42
  159. package/dist/cli/src/pencil/__tests__/detect.test.d.ts +0 -1
  160. package/dist/cli/src/pencil/__tests__/detect.test.js +0 -71
  161. package/dist/cli/src/pencil/__tests__/property-mapper.test.d.ts +0 -1
  162. package/dist/cli/src/pencil/__tests__/property-mapper.test.js +0 -120
  163. package/dist/cli/src/pencil/__tests__/template-sync.test.d.ts +0 -1
  164. package/dist/cli/src/pencil/__tests__/template-sync.test.js +0 -95
  165. package/dist/cli/src/runners/__tests__/provider-registry.test.d.ts +0 -1
  166. package/dist/cli/src/runners/__tests__/provider-registry.test.js +0 -31
  167. package/dist/cli/src/runners/__tests__/provider-runner.test.d.ts +0 -1
  168. package/dist/cli/src/runners/__tests__/provider-runner.test.js +0 -86
  169. package/dist/cli/src/utils/__tests__/command-prefix.test.d.ts +0 -1
  170. package/dist/cli/src/utils/__tests__/command-prefix.test.js +0 -35
  171. package/dist/cli/src/utils/__tests__/global-install.test.d.ts +0 -1
  172. package/dist/cli/src/utils/__tests__/global-install.test.js +0 -25
  173. package/dist/dashboard/assets/BufferResource-RMf3hLtL.js +0 -185
  174. package/dist/dashboard/assets/CanvasRenderer-By9CeUeH.js +0 -1
  175. package/dist/dashboard/assets/JarvisView-DCkJVL5f.js +0 -1
  176. package/dist/dashboard/assets/RenderTargetSystem-Du3lfljq.js +0 -172
  177. package/dist/dashboard/assets/ThreeBackground-m9EgwJVc.js +0 -1
  178. package/dist/dashboard/assets/WebGLRenderer-BfDYJhYQ.js +0 -156
  179. package/dist/dashboard/assets/WebGPURenderer-CYzaDyV_.js +0 -41
  180. package/dist/dashboard/assets/browserAll-CFQKTPw8.js +0 -14
  181. package/dist/dashboard/assets/index-DPwnElYV.js +0 -1195
  182. package/dist/dashboard/assets/index-DtbIzZ5n.css +0 -1
  183. package/dist/dashboard/assets/three-BZk_I9Ly.js +0 -4057
  184. package/dist/dashboard/assets/webworkerAll-Cti2tnMb.js +0 -83
  185. package/dist/dashboard/index.html +0 -13
  186. package/dist/data/opensquad.db +0 -0
  187. package/dist/data/opensquad.db-shm +0 -0
  188. package/dist/data/opensquad.db-wal +0 -0
  189. package/dist/server/api/__tests__/cost-routes.test.d.ts +0 -2
  190. package/dist/server/api/__tests__/cost-routes.test.d.ts.map +0 -1
  191. package/dist/server/api/__tests__/cost-routes.test.js +0 -54
  192. package/dist/server/api/__tests__/cost-routes.test.js.map +0 -1
  193. package/dist/server/api/__tests__/files-routes.test.d.ts +0 -2
  194. package/dist/server/api/__tests__/files-routes.test.d.ts.map +0 -1
  195. package/dist/server/api/__tests__/files-routes.test.js +0 -85
  196. package/dist/server/api/__tests__/files-routes.test.js.map +0 -1
  197. package/dist/server/api/__tests__/graph-routes.test.d.ts +0 -2
  198. package/dist/server/api/__tests__/graph-routes.test.d.ts.map +0 -1
  199. package/dist/server/api/__tests__/graph-routes.test.js +0 -105
  200. package/dist/server/api/__tests__/graph-routes.test.js.map +0 -1
  201. package/dist/server/api/__tests__/health-routes.test.d.ts +0 -2
  202. package/dist/server/api/__tests__/health-routes.test.d.ts.map +0 -1
  203. package/dist/server/api/__tests__/health-routes.test.js +0 -22
  204. package/dist/server/api/__tests__/health-routes.test.js.map +0 -1
  205. package/dist/server/api/__tests__/integration-routes.test.d.ts +0 -2
  206. package/dist/server/api/__tests__/integration-routes.test.d.ts.map +0 -1
  207. package/dist/server/api/__tests__/integration-routes.test.js +0 -243
  208. package/dist/server/api/__tests__/integration-routes.test.js.map +0 -1
  209. package/dist/server/api/__tests__/kanban-routes.test.d.ts +0 -2
  210. package/dist/server/api/__tests__/kanban-routes.test.d.ts.map +0 -1
  211. package/dist/server/api/__tests__/kanban-routes.test.js +0 -316
  212. package/dist/server/api/__tests__/kanban-routes.test.js.map +0 -1
  213. package/dist/server/api/__tests__/log-routes.test.d.ts +0 -2
  214. package/dist/server/api/__tests__/log-routes.test.d.ts.map +0 -1
  215. package/dist/server/api/__tests__/log-routes.test.js +0 -35
  216. package/dist/server/api/__tests__/log-routes.test.js.map +0 -1
  217. package/dist/server/api/__tests__/orgchart-routes.test.d.ts +0 -2
  218. package/dist/server/api/__tests__/orgchart-routes.test.d.ts.map +0 -1
  219. package/dist/server/api/__tests__/orgchart-routes.test.js +0 -161
  220. package/dist/server/api/__tests__/orgchart-routes.test.js.map +0 -1
  221. package/dist/server/api/__tests__/settings-routes.test.d.ts +0 -2
  222. package/dist/server/api/__tests__/settings-routes.test.d.ts.map +0 -1
  223. package/dist/server/api/__tests__/settings-routes.test.js +0 -177
  224. package/dist/server/api/__tests__/settings-routes.test.js.map +0 -1
  225. package/dist/server/api/__tests__/system-routes.test.d.ts +0 -2
  226. package/dist/server/api/__tests__/system-routes.test.d.ts.map +0 -1
  227. package/dist/server/api/__tests__/system-routes.test.js +0 -79
  228. package/dist/server/api/__tests__/system-routes.test.js.map +0 -1
  229. package/dist/server/api/__tests__/team-routes.test.d.ts +0 -2
  230. package/dist/server/api/__tests__/team-routes.test.d.ts.map +0 -1
  231. package/dist/server/api/__tests__/team-routes.test.js +0 -116
  232. package/dist/server/api/__tests__/team-routes.test.js.map +0 -1
  233. package/dist/server/api/__tests__/webhook-routes.test.d.ts +0 -2
  234. package/dist/server/api/__tests__/webhook-routes.test.d.ts.map +0 -1
  235. package/dist/server/api/__tests__/webhook-routes.test.js +0 -111
  236. package/dist/server/api/__tests__/webhook-routes.test.js.map +0 -1
  237. package/dist/server/api/activity-routes.d.ts +0 -8
  238. package/dist/server/api/activity-routes.d.ts.map +0 -1
  239. package/dist/server/api/activity-routes.js +0 -34
  240. package/dist/server/api/activity-routes.js.map +0 -1
  241. package/dist/server/api/chat-api-routes.d.ts +0 -4
  242. package/dist/server/api/chat-api-routes.d.ts.map +0 -1
  243. package/dist/server/api/chat-api-routes.js +0 -28
  244. package/dist/server/api/chat-api-routes.js.map +0 -1
  245. package/dist/server/api/cost-routes.d.ts +0 -8
  246. package/dist/server/api/cost-routes.d.ts.map +0 -1
  247. package/dist/server/api/cost-routes.js +0 -39
  248. package/dist/server/api/cost-routes.js.map +0 -1
  249. package/dist/server/api/dashboard-routes.d.ts +0 -10
  250. package/dist/server/api/dashboard-routes.d.ts.map +0 -1
  251. package/dist/server/api/dashboard-routes.js +0 -128
  252. package/dist/server/api/dashboard-routes.js.map +0 -1
  253. package/dist/server/api/files-routes.d.ts +0 -5
  254. package/dist/server/api/files-routes.d.ts.map +0 -1
  255. package/dist/server/api/files-routes.js +0 -218
  256. package/dist/server/api/files-routes.js.map +0 -1
  257. package/dist/server/api/graph-routes.d.ts +0 -24
  258. package/dist/server/api/graph-routes.d.ts.map +0 -1
  259. package/dist/server/api/graph-routes.js +0 -208
  260. package/dist/server/api/graph-routes.js.map +0 -1
  261. package/dist/server/api/health-routes.d.ts +0 -9
  262. package/dist/server/api/health-routes.d.ts.map +0 -1
  263. package/dist/server/api/health-routes.js +0 -46
  264. package/dist/server/api/health-routes.js.map +0 -1
  265. package/dist/server/api/integration-routes.d.ts +0 -23
  266. package/dist/server/api/integration-routes.d.ts.map +0 -1
  267. package/dist/server/api/integration-routes.js +0 -326
  268. package/dist/server/api/integration-routes.js.map +0 -1
  269. package/dist/server/api/kanban-routes.d.ts +0 -8
  270. package/dist/server/api/kanban-routes.d.ts.map +0 -1
  271. package/dist/server/api/kanban-routes.js +0 -128
  272. package/dist/server/api/kanban-routes.js.map +0 -1
  273. package/dist/server/api/knowledge-routes.d.ts +0 -8
  274. package/dist/server/api/knowledge-routes.d.ts.map +0 -1
  275. package/dist/server/api/knowledge-routes.js +0 -82
  276. package/dist/server/api/knowledge-routes.js.map +0 -1
  277. package/dist/server/api/log-routes.d.ts +0 -8
  278. package/dist/server/api/log-routes.d.ts.map +0 -1
  279. package/dist/server/api/log-routes.js +0 -31
  280. package/dist/server/api/log-routes.js.map +0 -1
  281. package/dist/server/api/orgchart-routes.d.ts +0 -7
  282. package/dist/server/api/orgchart-routes.d.ts.map +0 -1
  283. package/dist/server/api/orgchart-routes.js +0 -154
  284. package/dist/server/api/orgchart-routes.js.map +0 -1
  285. package/dist/server/api/registry-routes.d.ts +0 -7
  286. package/dist/server/api/registry-routes.d.ts.map +0 -1
  287. package/dist/server/api/registry-routes.js +0 -51
  288. package/dist/server/api/registry-routes.js.map +0 -1
  289. package/dist/server/api/settings-routes.d.ts +0 -11
  290. package/dist/server/api/settings-routes.d.ts.map +0 -1
  291. package/dist/server/api/settings-routes.js +0 -167
  292. package/dist/server/api/settings-routes.js.map +0 -1
  293. package/dist/server/api/squads-routes.d.ts +0 -7
  294. package/dist/server/api/squads-routes.d.ts.map +0 -1
  295. package/dist/server/api/squads-routes.js +0 -165
  296. package/dist/server/api/squads-routes.js.map +0 -1
  297. package/dist/server/api/system-routes.d.ts +0 -9
  298. package/dist/server/api/system-routes.d.ts.map +0 -1
  299. package/dist/server/api/system-routes.js +0 -241
  300. package/dist/server/api/system-routes.js.map +0 -1
  301. package/dist/server/api/team-routes.d.ts +0 -8
  302. package/dist/server/api/team-routes.d.ts.map +0 -1
  303. package/dist/server/api/team-routes.js +0 -55
  304. package/dist/server/api/team-routes.js.map +0 -1
  305. package/dist/server/api/users-routes.d.ts +0 -8
  306. package/dist/server/api/users-routes.d.ts.map +0 -1
  307. package/dist/server/api/users-routes.js +0 -65
  308. package/dist/server/api/users-routes.js.map +0 -1
  309. package/dist/server/api/webhook-routes.d.ts +0 -9
  310. package/dist/server/api/webhook-routes.d.ts.map +0 -1
  311. package/dist/server/api/webhook-routes.js +0 -82
  312. package/dist/server/api/webhook-routes.js.map +0 -1
  313. package/dist/server/app.d.ts +0 -9
  314. package/dist/server/app.d.ts.map +0 -1
  315. package/dist/server/app.js +0 -263
  316. package/dist/server/app.js.map +0 -1
  317. package/dist/server/auth/auth-middleware.d.ts +0 -13
  318. package/dist/server/auth/auth-middleware.d.ts.map +0 -1
  319. package/dist/server/auth/auth-middleware.js +0 -25
  320. package/dist/server/auth/auth-middleware.js.map +0 -1
  321. package/dist/server/auth/auth-routes.d.ts +0 -9
  322. package/dist/server/auth/auth-routes.d.ts.map +0 -1
  323. package/dist/server/auth/auth-routes.js +0 -149
  324. package/dist/server/auth/auth-routes.js.map +0 -1
  325. package/dist/server/auth/jwt.d.ts +0 -14
  326. package/dist/server/auth/jwt.d.ts.map +0 -1
  327. package/dist/server/auth/jwt.js +0 -16
  328. package/dist/server/auth/jwt.js.map +0 -1
  329. package/dist/server/auth/password.d.ts +0 -3
  330. package/dist/server/auth/password.d.ts.map +0 -1
  331. package/dist/server/auth/password.js +0 -9
  332. package/dist/server/auth/password.js.map +0 -1
  333. package/dist/server/bridge/__tests__/chat-handler.test.d.ts +0 -2
  334. package/dist/server/bridge/__tests__/chat-handler.test.d.ts.map +0 -1
  335. package/dist/server/bridge/__tests__/chat-handler.test.js +0 -143
  336. package/dist/server/bridge/__tests__/chat-handler.test.js.map +0 -1
  337. package/dist/server/bridge/__tests__/chat-integration.test.d.ts +0 -2
  338. package/dist/server/bridge/__tests__/chat-integration.test.d.ts.map +0 -1
  339. package/dist/server/bridge/__tests__/chat-integration.test.js +0 -129
  340. package/dist/server/bridge/__tests__/chat-integration.test.js.map +0 -1
  341. package/dist/server/bridge/__tests__/claude-bridge.test.d.ts +0 -2
  342. package/dist/server/bridge/__tests__/claude-bridge.test.d.ts.map +0 -1
  343. package/dist/server/bridge/__tests__/claude-bridge.test.js +0 -300
  344. package/dist/server/bridge/__tests__/claude-bridge.test.js.map +0 -1
  345. package/dist/server/bridge/__tests__/conversation.test.d.ts +0 -2
  346. package/dist/server/bridge/__tests__/conversation.test.d.ts.map +0 -1
  347. package/dist/server/bridge/__tests__/conversation.test.js +0 -168
  348. package/dist/server/bridge/__tests__/conversation.test.js.map +0 -1
  349. package/dist/server/bridge/__tests__/registry.test.d.ts +0 -2
  350. package/dist/server/bridge/__tests__/registry.test.d.ts.map +0 -1
  351. package/dist/server/bridge/__tests__/registry.test.js +0 -45
  352. package/dist/server/bridge/__tests__/registry.test.js.map +0 -1
  353. package/dist/server/bridge/__tests__/stream-parser.test.d.ts +0 -2
  354. package/dist/server/bridge/__tests__/stream-parser.test.d.ts.map +0 -1
  355. package/dist/server/bridge/__tests__/stream-parser.test.js +0 -66
  356. package/dist/server/bridge/__tests__/stream-parser.test.js.map +0 -1
  357. package/dist/server/bridge/chat-handler.d.ts +0 -32
  358. package/dist/server/bridge/chat-handler.d.ts.map +0 -1
  359. package/dist/server/bridge/chat-handler.js +0 -356
  360. package/dist/server/bridge/chat-handler.js.map +0 -1
  361. package/dist/server/bridge/claude-bridge.d.ts +0 -21
  362. package/dist/server/bridge/claude-bridge.d.ts.map +0 -1
  363. package/dist/server/bridge/claude-bridge.js +0 -273
  364. package/dist/server/bridge/claude-bridge.js.map +0 -1
  365. package/dist/server/bridge/conversation.d.ts +0 -45
  366. package/dist/server/bridge/conversation.d.ts.map +0 -1
  367. package/dist/server/bridge/conversation.js +0 -78
  368. package/dist/server/bridge/conversation.js.map +0 -1
  369. package/dist/server/bridge/engine-manager.d.ts +0 -13
  370. package/dist/server/bridge/engine-manager.d.ts.map +0 -1
  371. package/dist/server/bridge/engine-manager.js +0 -54
  372. package/dist/server/bridge/engine-manager.js.map +0 -1
  373. package/dist/server/bridge/engine.d.ts +0 -37
  374. package/dist/server/bridge/engine.d.ts.map +0 -1
  375. package/dist/server/bridge/engine.js +0 -2
  376. package/dist/server/bridge/engine.js.map +0 -1
  377. package/dist/server/bridge/factory.d.ts +0 -4
  378. package/dist/server/bridge/factory.d.ts.map +0 -1
  379. package/dist/server/bridge/factory.js +0 -18
  380. package/dist/server/bridge/factory.js.map +0 -1
  381. package/dist/server/bridge/opencode-bridge.d.ts +0 -27
  382. package/dist/server/bridge/opencode-bridge.d.ts.map +0 -1
  383. package/dist/server/bridge/opencode-bridge.js +0 -163
  384. package/dist/server/bridge/opencode-bridge.js.map +0 -1
  385. package/dist/server/bridge/registry.d.ts +0 -19
  386. package/dist/server/bridge/registry.d.ts.map +0 -1
  387. package/dist/server/bridge/registry.js +0 -29
  388. package/dist/server/bridge/registry.js.map +0 -1
  389. package/dist/server/bridge/session-journal.d.ts +0 -25
  390. package/dist/server/bridge/session-journal.d.ts.map +0 -1
  391. package/dist/server/bridge/session-journal.js +0 -69
  392. package/dist/server/bridge/session-journal.js.map +0 -1
  393. package/dist/server/bridge/stream-parser.d.ts +0 -14
  394. package/dist/server/bridge/stream-parser.d.ts.map +0 -1
  395. package/dist/server/bridge/stream-parser.js +0 -26
  396. package/dist/server/bridge/stream-parser.js.map +0 -1
  397. package/dist/server/config/engine-config.d.ts +0 -4
  398. package/dist/server/config/engine-config.d.ts.map +0 -1
  399. package/dist/server/config/engine-config.js +0 -24
  400. package/dist/server/config/engine-config.js.map +0 -1
  401. package/dist/server/config.d.ts +0 -17
  402. package/dist/server/config.d.ts.map +0 -1
  403. package/dist/server/config.js +0 -39
  404. package/dist/server/config.js.map +0 -1
  405. package/dist/server/db/__tests__/chat-tables.test.d.ts +0 -2
  406. package/dist/server/db/__tests__/chat-tables.test.d.ts.map +0 -1
  407. package/dist/server/db/__tests__/chat-tables.test.js +0 -82
  408. package/dist/server/db/__tests__/chat-tables.test.js.map +0 -1
  409. package/dist/server/db/__tests__/email-schema.test.d.ts +0 -2
  410. package/dist/server/db/__tests__/email-schema.test.d.ts.map +0 -1
  411. package/dist/server/db/__tests__/email-schema.test.js +0 -53
  412. package/dist/server/db/__tests__/email-schema.test.js.map +0 -1
  413. package/dist/server/db/__tests__/scheduler-schema.test.d.ts +0 -2
  414. package/dist/server/db/__tests__/scheduler-schema.test.d.ts.map +0 -1
  415. package/dist/server/db/__tests__/scheduler-schema.test.js +0 -52
  416. package/dist/server/db/__tests__/scheduler-schema.test.js.map +0 -1
  417. package/dist/server/db/connection.d.ts +0 -4
  418. package/dist/server/db/connection.d.ts.map +0 -1
  419. package/dist/server/db/connection.js +0 -40
  420. package/dist/server/db/connection.js.map +0 -1
  421. package/dist/server/db/migrations.d.ts +0 -4
  422. package/dist/server/db/migrations.d.ts.map +0 -1
  423. package/dist/server/db/migrations.js +0 -47
  424. package/dist/server/db/migrations.js.map +0 -1
  425. package/dist/server/db/schema.d.ts +0 -2
  426. package/dist/server/db/schema.d.ts.map +0 -1
  427. package/dist/server/db/schema.js +0 -276
  428. package/dist/server/db/schema.js.map +0 -1
  429. package/dist/server/email/__tests__/campaign-routes.test.d.ts +0 -2
  430. package/dist/server/email/__tests__/campaign-routes.test.d.ts.map +0 -1
  431. package/dist/server/email/__tests__/campaign-routes.test.js +0 -216
  432. package/dist/server/email/__tests__/campaign-routes.test.js.map +0 -1
  433. package/dist/server/email/__tests__/campaign-service.test.d.ts +0 -2
  434. package/dist/server/email/__tests__/campaign-service.test.d.ts.map +0 -1
  435. package/dist/server/email/__tests__/campaign-service.test.js +0 -79
  436. package/dist/server/email/__tests__/campaign-service.test.js.map +0 -1
  437. package/dist/server/email/__tests__/email-queue-worker.test.d.ts +0 -2
  438. package/dist/server/email/__tests__/email-queue-worker.test.d.ts.map +0 -1
  439. package/dist/server/email/__tests__/email-queue-worker.test.js +0 -93
  440. package/dist/server/email/__tests__/email-queue-worker.test.js.map +0 -1
  441. package/dist/server/email/__tests__/email-utils.test.d.ts +0 -2
  442. package/dist/server/email/__tests__/email-utils.test.d.ts.map +0 -1
  443. package/dist/server/email/__tests__/email-utils.test.js +0 -36
  444. package/dist/server/email/__tests__/email-utils.test.js.map +0 -1
  445. package/dist/server/email/__tests__/lead-routes.test.d.ts +0 -2
  446. package/dist/server/email/__tests__/lead-routes.test.d.ts.map +0 -1
  447. package/dist/server/email/__tests__/lead-routes.test.js +0 -180
  448. package/dist/server/email/__tests__/lead-routes.test.js.map +0 -1
  449. package/dist/server/email/__tests__/lead-service.test.d.ts +0 -2
  450. package/dist/server/email/__tests__/lead-service.test.d.ts.map +0 -1
  451. package/dist/server/email/__tests__/lead-service.test.js +0 -113
  452. package/dist/server/email/__tests__/lead-service.test.js.map +0 -1
  453. package/dist/server/email/__tests__/ses-client.test.d.ts +0 -2
  454. package/dist/server/email/__tests__/ses-client.test.d.ts.map +0 -1
  455. package/dist/server/email/__tests__/ses-client.test.js +0 -48
  456. package/dist/server/email/__tests__/ses-client.test.js.map +0 -1
  457. package/dist/server/email/__tests__/sns-webhook.test.d.ts +0 -2
  458. package/dist/server/email/__tests__/sns-webhook.test.d.ts.map +0 -1
  459. package/dist/server/email/__tests__/sns-webhook.test.js +0 -40
  460. package/dist/server/email/__tests__/sns-webhook.test.js.map +0 -1
  461. package/dist/server/email/campaign-routes.d.ts +0 -8
  462. package/dist/server/email/campaign-routes.d.ts.map +0 -1
  463. package/dist/server/email/campaign-routes.js +0 -65
  464. package/dist/server/email/campaign-routes.js.map +0 -1
  465. package/dist/server/email/campaign-service.d.ts +0 -55
  466. package/dist/server/email/campaign-service.d.ts.map +0 -1
  467. package/dist/server/email/campaign-service.js +0 -89
  468. package/dist/server/email/campaign-service.js.map +0 -1
  469. package/dist/server/email/email-queue-worker.d.ts +0 -27
  470. package/dist/server/email/email-queue-worker.d.ts.map +0 -1
  471. package/dist/server/email/email-queue-worker.js +0 -119
  472. package/dist/server/email/email-queue-worker.js.map +0 -1
  473. package/dist/server/email/email-utils.d.ts +0 -5
  474. package/dist/server/email/email-utils.d.ts.map +0 -1
  475. package/dist/server/email/email-utils.js +0 -24
  476. package/dist/server/email/email-utils.js.map +0 -1
  477. package/dist/server/email/lead-routes.d.ts +0 -8
  478. package/dist/server/email/lead-routes.d.ts.map +0 -1
  479. package/dist/server/email/lead-routes.js +0 -56
  480. package/dist/server/email/lead-routes.js.map +0 -1
  481. package/dist/server/email/lead-service.d.ts +0 -66
  482. package/dist/server/email/lead-service.d.ts.map +0 -1
  483. package/dist/server/email/lead-service.js +0 -138
  484. package/dist/server/email/lead-service.js.map +0 -1
  485. package/dist/server/email/ses-client.d.ts +0 -27
  486. package/dist/server/email/ses-client.d.ts.map +0 -1
  487. package/dist/server/email/ses-client.js +0 -44
  488. package/dist/server/email/ses-client.js.map +0 -1
  489. package/dist/server/email/sns-webhook.d.ts +0 -10
  490. package/dist/server/email/sns-webhook.d.ts.map +0 -1
  491. package/dist/server/email/sns-webhook.js +0 -73
  492. package/dist/server/email/sns-webhook.js.map +0 -1
  493. package/dist/server/index.d.ts +0 -2
  494. package/dist/server/index.d.ts.map +0 -1
  495. package/dist/server/index.js +0 -36
  496. package/dist/server/index.js.map +0 -1
  497. package/dist/server/mcp/expxagents-mcp.d.ts +0 -2
  498. package/dist/server/mcp/expxagents-mcp.d.ts.map +0 -1
  499. package/dist/server/mcp/expxagents-mcp.js +0 -230
  500. package/dist/server/mcp/expxagents-mcp.js.map +0 -1
  501. package/dist/server/routes/__tests__/conversations.test.d.ts +0 -2
  502. package/dist/server/routes/__tests__/conversations.test.d.ts.map +0 -1
  503. package/dist/server/routes/__tests__/conversations.test.js +0 -111
  504. package/dist/server/routes/__tests__/conversations.test.js.map +0 -1
  505. package/dist/server/routes/conversations.d.ts +0 -8
  506. package/dist/server/routes/conversations.d.ts.map +0 -1
  507. package/dist/server/routes/conversations.js +0 -36
  508. package/dist/server/routes/conversations.js.map +0 -1
  509. package/dist/server/scheduler/__tests__/job-runner.test.d.ts +0 -2
  510. package/dist/server/scheduler/__tests__/job-runner.test.d.ts.map +0 -1
  511. package/dist/server/scheduler/__tests__/job-runner.test.js +0 -488
  512. package/dist/server/scheduler/__tests__/job-runner.test.js.map +0 -1
  513. package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts +0 -2
  514. package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts.map +0 -1
  515. package/dist/server/scheduler/__tests__/scheduler-routes.test.js +0 -167
  516. package/dist/server/scheduler/__tests__/scheduler-routes.test.js.map +0 -1
  517. package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts +0 -2
  518. package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts.map +0 -1
  519. package/dist/server/scheduler/__tests__/scheduler-service.test.js +0 -207
  520. package/dist/server/scheduler/__tests__/scheduler-service.test.js.map +0 -1
  521. package/dist/server/scheduler/job-runner.d.ts +0 -73
  522. package/dist/server/scheduler/job-runner.d.ts.map +0 -1
  523. package/dist/server/scheduler/job-runner.js +0 -407
  524. package/dist/server/scheduler/job-runner.js.map +0 -1
  525. package/dist/server/scheduler/scheduler-routes.d.ts +0 -10
  526. package/dist/server/scheduler/scheduler-routes.d.ts.map +0 -1
  527. package/dist/server/scheduler/scheduler-routes.js +0 -105
  528. package/dist/server/scheduler/scheduler-routes.js.map +0 -1
  529. package/dist/server/scheduler/scheduler-service.d.ts +0 -55
  530. package/dist/server/scheduler/scheduler-service.d.ts.map +0 -1
  531. package/dist/server/scheduler/scheduler-service.js +0 -271
  532. package/dist/server/scheduler/scheduler-service.js.map +0 -1
  533. package/dist/server/services/__tests__/cost-service.test.d.ts +0 -2
  534. package/dist/server/services/__tests__/cost-service.test.d.ts.map +0 -1
  535. package/dist/server/services/__tests__/cost-service.test.js +0 -72
  536. package/dist/server/services/__tests__/cost-service.test.js.map +0 -1
  537. package/dist/server/services/__tests__/execution-log-service.test.d.ts +0 -2
  538. package/dist/server/services/__tests__/execution-log-service.test.d.ts.map +0 -1
  539. package/dist/server/services/__tests__/execution-log-service.test.js +0 -40
  540. package/dist/server/services/__tests__/execution-log-service.test.js.map +0 -1
  541. package/dist/server/services/__tests__/integration-registry.test.d.ts +0 -2
  542. package/dist/server/services/__tests__/integration-registry.test.d.ts.map +0 -1
  543. package/dist/server/services/__tests__/integration-registry.test.js +0 -28
  544. package/dist/server/services/__tests__/integration-registry.test.js.map +0 -1
  545. package/dist/server/services/__tests__/log-service.test.d.ts +0 -2
  546. package/dist/server/services/__tests__/log-service.test.d.ts.map +0 -1
  547. package/dist/server/services/__tests__/log-service.test.js +0 -49
  548. package/dist/server/services/__tests__/log-service.test.js.map +0 -1
  549. package/dist/server/services/__tests__/pipeline-task-service.test.d.ts +0 -2
  550. package/dist/server/services/__tests__/pipeline-task-service.test.d.ts.map +0 -1
  551. package/dist/server/services/__tests__/pipeline-task-service.test.js +0 -268
  552. package/dist/server/services/__tests__/pipeline-task-service.test.js.map +0 -1
  553. package/dist/server/services/__tests__/state-service.test.d.ts +0 -2
  554. package/dist/server/services/__tests__/state-service.test.d.ts.map +0 -1
  555. package/dist/server/services/__tests__/state-service.test.js +0 -136
  556. package/dist/server/services/__tests__/state-service.test.js.map +0 -1
  557. package/dist/server/services/activity-service.d.ts +0 -35
  558. package/dist/server/services/activity-service.d.ts.map +0 -1
  559. package/dist/server/services/activity-service.js +0 -92
  560. package/dist/server/services/activity-service.js.map +0 -1
  561. package/dist/server/services/cost-service.d.ts +0 -55
  562. package/dist/server/services/cost-service.d.ts.map +0 -1
  563. package/dist/server/services/cost-service.js +0 -59
  564. package/dist/server/services/cost-service.js.map +0 -1
  565. package/dist/server/services/execution-log-service.d.ts +0 -20
  566. package/dist/server/services/execution-log-service.d.ts.map +0 -1
  567. package/dist/server/services/execution-log-service.js +0 -17
  568. package/dist/server/services/execution-log-service.js.map +0 -1
  569. package/dist/server/services/integration-registry.d.ts +0 -9
  570. package/dist/server/services/integration-registry.d.ts.map +0 -1
  571. package/dist/server/services/integration-registry.js +0 -14
  572. package/dist/server/services/integration-registry.js.map +0 -1
  573. package/dist/server/services/log-service.d.ts +0 -28
  574. package/dist/server/services/log-service.d.ts.map +0 -1
  575. package/dist/server/services/log-service.js +0 -34
  576. package/dist/server/services/log-service.js.map +0 -1
  577. package/dist/server/services/pipeline-task-service.d.ts +0 -79
  578. package/dist/server/services/pipeline-task-service.d.ts.map +0 -1
  579. package/dist/server/services/pipeline-task-service.js +0 -122
  580. package/dist/server/services/pipeline-task-service.js.map +0 -1
  581. package/dist/server/services/squad-registry.d.ts +0 -35
  582. package/dist/server/services/squad-registry.d.ts.map +0 -1
  583. package/dist/server/services/squad-registry.js +0 -141
  584. package/dist/server/services/squad-registry.js.map +0 -1
  585. package/dist/server/services/state-service.d.ts +0 -22
  586. package/dist/server/services/state-service.d.ts.map +0 -1
  587. package/dist/server/services/state-service.js +0 -114
  588. package/dist/server/services/state-service.js.map +0 -1
  589. package/dist/server/types/a2ui.d.ts +0 -27
  590. package/dist/server/types/a2ui.d.ts.map +0 -1
  591. package/dist/server/types/a2ui.js +0 -2
  592. package/dist/server/types/a2ui.js.map +0 -1
  593. package/dist/server/utils/find-free-port.d.ts +0 -2
  594. package/dist/server/utils/find-free-port.d.ts.map +0 -1
  595. package/dist/server/utils/find-free-port.js +0 -17
  596. package/dist/server/utils/find-free-port.js.map +0 -1
  597. package/dist/server/watcher/__tests__/file-watcher.test.d.ts +0 -2
  598. package/dist/server/watcher/__tests__/file-watcher.test.d.ts.map +0 -1
  599. package/dist/server/watcher/__tests__/file-watcher.test.js +0 -81
  600. package/dist/server/watcher/__tests__/file-watcher.test.js.map +0 -1
  601. package/dist/server/watcher/file-watcher.d.ts +0 -19
  602. package/dist/server/watcher/file-watcher.d.ts.map +0 -1
  603. package/dist/server/watcher/file-watcher.js +0 -105
  604. package/dist/server/watcher/file-watcher.js.map +0 -1
  605. package/dist/server/watcher/state-parser.d.ts +0 -77
  606. package/dist/server/watcher/state-parser.d.ts.map +0 -1
  607. package/dist/server/watcher/state-parser.js +0 -78
  608. package/dist/server/watcher/state-parser.js.map +0 -1
  609. package/dist/server/ws/ws-auth.d.ts +0 -4
  610. package/dist/server/ws/ws-auth.d.ts.map +0 -1
  611. package/dist/server/ws/ws-auth.js +0 -42
  612. package/dist/server/ws/ws-auth.js.map +0 -1
  613. package/dist/server/ws/ws-handler.d.ts +0 -12
  614. package/dist/server/ws/ws-handler.d.ts.map +0 -1
  615. package/dist/server/ws/ws-handler.js +0 -171
  616. package/dist/server/ws/ws-handler.js.map +0 -1
  617. package/dist/server/ws/ws-rooms.d.ts +0 -12
  618. package/dist/server/ws/ws-rooms.d.ts.map +0 -1
  619. package/dist/server/ws/ws-rooms.js +0 -52
  620. package/dist/server/ws/ws-rooms.js.map +0 -1
  621. package/node_modules/expxagents-knowledge/dist/config.d.ts +0 -4
  622. package/node_modules/expxagents-knowledge/dist/config.d.ts.map +0 -1
  623. package/node_modules/expxagents-knowledge/dist/config.js +0 -37
  624. package/node_modules/expxagents-knowledge/dist/config.js.map +0 -1
  625. package/node_modules/expxagents-knowledge/dist/db/connection.d.ts +0 -6
  626. package/node_modules/expxagents-knowledge/dist/db/connection.d.ts.map +0 -1
  627. package/node_modules/expxagents-knowledge/dist/db/connection.js +0 -69
  628. package/node_modules/expxagents-knowledge/dist/db/connection.js.map +0 -1
  629. package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts +0 -3
  630. package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts.map +0 -1
  631. package/node_modules/expxagents-knowledge/dist/db/migrations.js +0 -46
  632. package/node_modules/expxagents-knowledge/dist/db/migrations.js.map +0 -1
  633. package/node_modules/expxagents-knowledge/dist/db/schema.d.ts +0 -3
  634. package/node_modules/expxagents-knowledge/dist/db/schema.d.ts.map +0 -1
  635. package/node_modules/expxagents-knowledge/dist/db/schema.js +0 -79
  636. package/node_modules/expxagents-knowledge/dist/db/schema.js.map +0 -1
  637. package/node_modules/expxagents-knowledge/dist/index.d.ts +0 -16
  638. package/node_modules/expxagents-knowledge/dist/index.d.ts.map +0 -1
  639. package/node_modules/expxagents-knowledge/dist/index.js +0 -16
  640. package/node_modules/expxagents-knowledge/dist/index.js.map +0 -1
  641. package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts +0 -10
  642. package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts.map +0 -1
  643. package/node_modules/expxagents-knowledge/dist/ingest/chunker.js +0 -221
  644. package/node_modules/expxagents-knowledge/dist/ingest/chunker.js.map +0 -1
  645. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts +0 -4
  646. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts.map +0 -1
  647. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js +0 -56
  648. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js.map +0 -1
  649. package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts +0 -4
  650. package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts.map +0 -1
  651. package/node_modules/expxagents-knowledge/dist/ingest/embedder.js +0 -25
  652. package/node_modules/expxagents-knowledge/dist/ingest/embedder.js.map +0 -1
  653. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts +0 -21
  654. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts.map +0 -1
  655. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js +0 -54
  656. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js.map +0 -1
  657. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts +0 -16
  658. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts.map +0 -1
  659. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js +0 -49
  660. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js.map +0 -1
  661. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts +0 -9
  662. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts.map +0 -1
  663. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js +0 -116
  664. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js.map +0 -1
  665. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts +0 -27
  666. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts.map +0 -1
  667. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js +0 -92
  668. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js.map +0 -1
  669. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts +0 -41
  670. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts.map +0 -1
  671. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js +0 -62
  672. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js.map +0 -1
  673. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts +0 -31
  674. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts.map +0 -1
  675. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js +0 -106
  676. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js.map +0 -1
  677. package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts +0 -26
  678. package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts.map +0 -1
  679. package/node_modules/expxagents-knowledge/dist/query/vector-search.js +0 -57
  680. package/node_modules/expxagents-knowledge/dist/query/vector-search.js.map +0 -1
  681. package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts +0 -10
  682. package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts.map +0 -1
  683. package/node_modules/expxagents-knowledge/dist/sources/agent-output.js +0 -29
  684. package/node_modules/expxagents-knowledge/dist/sources/agent-output.js.map +0 -1
  685. package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts +0 -6
  686. package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts.map +0 -1
  687. package/node_modules/expxagents-knowledge/dist/sources/watcher.js +0 -42
  688. package/node_modules/expxagents-knowledge/dist/sources/watcher.js.map +0 -1
  689. package/node_modules/expxagents-knowledge/dist/types.d.ts +0 -138
  690. package/node_modules/expxagents-knowledge/dist/types.d.ts.map +0 -1
  691. package/node_modules/expxagents-knowledge/dist/types.js +0 -2
  692. package/node_modules/expxagents-knowledge/dist/types.js.map +0 -1
  693. package/node_modules/expxagents-knowledge/package.json +0 -7
@@ -1 +0,0 @@
1
- var W=Object.defineProperty;var D=(c,s,o)=>s in c?W(c,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):c[s]=o;var M=(c,s,o)=>D(c,typeof s!="symbol"?s+"":s,o);import{r as m,J as b,a as d,b as S,c as G,d as k,j as N,s as B}from"./index-DPwnElYV.js";const I=/\bava\b/i;function U(c){return I.test(c)}function j(c){if(!c)return[];if(c.length<=b.ttsSplitLength)return[c];const s=c.match(/[^.!?]+[.!?]+\s*/g)||[c],o=[];let n="";for(const e of s)n.length+e.length>b.ttsSplitLength&&n?(o.push(n.trim()),n=e):n+=e;return n.trim()&&o.push(n.trim()),o}function O(c){const s=globalThis.SpeechRecognition||globalThis.webkitSpeechRecognition,o=!!s;let n=null,e=null,a=null,t=null,i=!1,u=!1;function l(){if(s&&!(n!=null&&n._started)){u=!1,n=new s,n.continuous=!0,n.interimResults=!0,n.lang="pt-BR",n.onresult=p=>{var T;const r=p.results[p.resultIndex];if(!r)return;const f=((T=r[0])==null?void 0:T.transcript)??"",h=r.isFinal;if(i&&h){const v=f.replace(I,"").trim();v&&(i=!1,c.onUtterance(v));return}if(U(f)&&!u){const v=f.replace(/^.*?\bava\b\s*/i,"").trim();v&&h?(u=!0,c.onWakeWord(v)):v?h&&(u=!0,c.onWakeWord(v)):(u=!0,c.onWakeWord(""),i=!0)}},n.onend=()=>{if(n)try{n.start()}catch{}},n.onerror=()=>{};try{n.start()}catch{}}}function x(){if(n){const p=n;n=null;try{p.stop()}catch{}}}async function g(){try{t=await navigator.mediaDevices.getUserMedia({audio:!0}),a=new AudioContext;const p=a.createMediaStreamSource(t);e=a.createAnalyser(),e.fftSize=256,p.connect(e)}catch{e=null}}function R(p){x(),speechSynthesis.cancel();const y=j(p);if(y.length===0){c.onTTSEnd(),l();return}y.forEach((r,f)=>{const h=new SpeechSynthesisUtterance(r);h.lang="pt-BR",h.rate=1.05,h.pitch=1.25;const v=speechSynthesis.getVoices().filter(E=>E.lang.startsWith("pt")),P=v.find(E=>/female|femin|luciana|joana|francisca|fernanda|raquel|google.*br/i.test(E.name)&&!/male|masculin|felipe|daniel|luciano|ricardo/i.test(E.name))??v.find(E=>/luciana|francisca|fernanda/i.test(E.name));h.voice=P??v[0]??null,f===y.length-1&&(h.onend=()=>{c.onTTSEnd(),l()},h.onerror=()=>{c.onTTSEnd(),l()}),speechSynthesis.speak(h)})}function A(){speechSynthesis.cancel()}return{start:()=>{l(),typeof navigator<"u"&&navigator.mediaDevices&&g()},stop:()=>{x(),A(),t&&(t.getTracks().forEach(p=>p.stop()),t=null),a&&(a.close(),a=null),e=null},speak:R,cancelSpeech:A,isSupported:o,getAnalyser:()=>e}}function V(c){const s=m.useRef(null),o=m.useRef(c);o.current=c,m.useEffect(()=>{const t=O({onWakeWord:i=>o.current.onWakeWord(i),onUtterance:i=>o.current.onUtterance(i),onTTSEnd:()=>o.current.onTTSEnd()});return s.current=t,t.start(),()=>t.stop()},[]);const n=m.useCallback(t=>{var i;(i=s.current)==null||i.speak(t)},[]),e=m.useCallback(()=>{var t;(t=s.current)==null||t.cancelSpeech()},[]),a=m.useCallback(()=>{var t;return((t=s.current)==null?void 0:t.getAnalyser())??null},[]);return{speak:n,cancelSpeech:e,getAnalyser:a,isSupported:!!(globalThis.SpeechRecognition||globalThis.webkitSpeechRecognition)}}const q={STANDBY:d.orbStandby,GREETING:d.orbListening,LISTENING:d.orbListening,PROCESSING:d.orbProcessing,SPEAKING:d.orbSpeaking};class L{constructor(s){M(this,"canvas");M(this,"ctx");M(this,"particles");M(this,"destroyed",!1);this.canvas=s,this.ctx=s.getContext("2d"),this.particles=this.initParticles()}getParticleCount(){return this.particles.length}initParticles(){const s=b.particleCount,o=[];for(let n=0;n<s;n++)o.push({x:Math.random()*this.canvas.width,y:Math.random()*this.canvas.height,vx:(Math.random()-.5)*.5,vy:(Math.random()-.5)*.5,radius:b.particleMinRadius+Math.random()*(b.particleMaxRadius-b.particleMinRadius),alpha:.2+Math.random()*.6});return o}render(s){if(this.destroyed)return;const{ctx:o,canvas:n}=this,e=n.width,a=n.height,t=e/2,i=a/2;o.clearRect(0,0,e,a),o.fillStyle=d.background,o.fillRect(0,0,e,a),this.drawGrid(e,a,s.time),this.updateAndDrawParticles(s.mode,e,a),this.drawOrb(t,i,s),s.mode==="LISTENING"&&s.amplitudes&&this.drawWaveform(t,i,s.amplitudes),this.drawSquadsPanel(s.squads,a),this.drawStatusPanel(s,e,a),this.drawTranscript(s.transcript,t,a),o.fillStyle=d.textAccent,o.font="11px monospace",o.textAlign="center",o.textBaseline="bottom",o.globalAlpha=.5,o.fillText("── EXPXAGENTS AVA v1 ──",t,a-8),o.globalAlpha=1}drawGrid(s,o,n){const e=this.ctx,a=b.gridSpacing;e.strokeStyle=d.grid,e.lineWidth=.5,e.beginPath();for(let t=0;t<s;t+=a)e.moveTo(t,0),e.lineTo(t,o);e.stroke(),e.beginPath();for(let t=0;t<o;t+=a)e.moveTo(0,t),e.lineTo(s,t);e.stroke()}updateAndDrawParticles(s,o,n){const e=this.ctx,a=s==="LISTENING"||s==="PROCESSING"?2:1;for(const t of this.particles)t.x+=t.vx*a,t.y+=t.vy*a,t.x<0&&(t.x=o),t.x>o&&(t.x=0),t.y<0&&(t.y=n),t.y>n&&(t.y=0),e.beginPath(),e.arc(t.x,t.y,t.radius,0,Math.PI*2),e.fillStyle=d.particleStart,e.globalAlpha=t.alpha,e.fill();e.globalAlpha=1}drawOrb(s,o,n){const e=this.ctx,a=b.orbRadius,t=q[n.mode];e.save(),e.shadowBlur=n.mode==="STANDBY"?20:40,e.shadowColor=t;const i=e.createRadialGradient(s,o,0,s,o,a);if(i.addColorStop(0,t),i.addColorStop(1,"transparent"),e.fillStyle=i,e.beginPath(),e.arc(s,o,a,0,Math.PI*2),e.fill(),e.strokeStyle=t,e.lineWidth=b.orbRingWidth,e.beginPath(),n.mode==="PROCESSING"){const l=n.time/500%(Math.PI*2);e.arc(s,o,a+8,l,l+Math.PI*1.5)}else e.arc(s,o,a+8,0,Math.PI*2);if(e.stroke(),n.mode==="STANDBY"){const l=.5+.3*Math.sin(n.time/1500);e.globalAlpha=l,e.beginPath(),e.arc(s,o,a+4,0,Math.PI*2),e.fillStyle=t,e.fill(),e.globalAlpha=1}if(n.mode==="SPEAKING"){const l=.6+.4*Math.sin(n.time/200);e.globalAlpha=l,e.beginPath(),e.arc(s,o,a*(.9+.1*Math.sin(n.time/300)),0,Math.PI*2),e.fillStyle=t,e.fill(),e.globalAlpha=1}e.restore(),e.fillStyle=t,e.font="bold 12px monospace",e.textAlign="center",e.textBaseline="top";const u=n.mode==="PROCESSING"?"Processando...":n.mode;e.fillText(u,s,o+a+20),e.fillStyle=d.textPrimary,e.font="bold 16px monospace",e.fillText("AVA",s,o-a-30)}drawWaveform(s,o,n){const e=this.ctx,a=b.waveformBars,t=b.waveformMaxHeight,i=b.orbRadius+16;e.strokeStyle=d.orbListening,e.lineWidth=2;for(let u=0;u<a;u++){const l=u/a*Math.PI*2-Math.PI/2,x=Math.floor(u/a*n.length),g=(n[x]??0)/255,R=g*t,A=s+Math.cos(l)*i,p=o+Math.sin(l)*i,y=s+Math.cos(l)*(i+R),r=o+Math.sin(l)*(i+R);e.beginPath(),e.moveTo(A,p),e.lineTo(y,r),e.globalAlpha=.6+g*.4,e.stroke()}e.globalAlpha=1}drawSquadsPanel(s,o){const n=this.ctx,e=b.panelWidth,a=b.panelPadding,t=Math.max(200,s.length*28+60),i=(o-t)/2;n.fillStyle=d.panelBg,n.fillRect(a,i,e,t),n.strokeStyle=d.panelBorder,n.lineWidth=1,n.strokeRect(a,i,e,t),n.fillStyle=d.textAccent,n.font="bold 13px monospace",n.textAlign="left",n.textBaseline="top",n.fillText("SQUADS",a+10,i+10),n.font="12px monospace",s.forEach((u,l)=>{const x=i+40+l*28,g=u.active?"●":"○";n.fillStyle=u.active?d.orbSpeaking:d.textPrimary,n.fillText(`${g} ${u.name}`,a+10,x)})}drawStatusPanel(s,o,n){var p;const e=this.ctx,a=b.panelWidth,t=b.panelPadding,i=200,u=(n-i)/2,l=o-a-t;e.fillStyle=d.panelBg,e.fillRect(l,u,a,i),e.strokeStyle=d.panelBorder,e.lineWidth=1,e.strokeRect(l,u,a,i),e.fillStyle=d.textAccent,e.font="bold 13px monospace",e.textAlign="left",e.textBaseline="top",e.fillText("STATUS",l+10,u+10),e.font="12px monospace";const x=Math.floor(s.time/1e3),g=String(Math.floor(x/60)).padStart(2,"0"),R=String(x%60).padStart(2,"0"),A=[`Mode: ${s.mode}`,"Mic: ON",`Squad: ${((p=s.squads.find(y=>y.active))==null?void 0:p.name)??"---"}`,`Time: ${g}:${R}`];s.userName&&A.push(`User: ${s.userName}`),A.forEach((y,r)=>{e.fillStyle=d.textPrimary,e.fillText(y,l+10,u+40+r*24)})}drawTranscript(s,o,n){const e=this.ctx,a=s.slice(-10);if(a.length===0)return;const t=b.transcriptLineHeight,i=Math.min(700,this.canvas.width-100),u=a.length*t+24,l=o-i/2,x=n-u-40;e.fillStyle=d.panelBg,e.fillRect(l,x,i,u),e.strokeStyle=d.panelBorder,e.lineWidth=1,e.strokeRect(l,x,i,u),e.font="12px monospace",e.textAlign="left",e.textBaseline="top",a.forEach((g,R)=>{const A=x+12+R*t,p=g.role==="user"?"User: ":"Ava: ";e.fillStyle=g.role==="user"?d.textAccent:d.textAva;const y=Math.floor((i-20)/7),r=p+(g.text.length>y?g.text.slice(0,y-3)+"...":g.text);e.fillText(r,l+10,A)})}destroy(){this.destroyed=!0}}function F(){const c=m.useRef(null),s=m.useRef(null),o=m.useRef(0),n=m.useRef(Date.now()),[e,a]=m.useState(""),t=S(r=>r.messages);S(r=>r.userName);const i=G(r=>r.user);k(r=>r.squads),m.useEffect(()=>{i!=null&&i.username&&S.getState().setUserName(i.username)},[i==null?void 0:i.username]);const u=m.useRef(0);m.useEffect(()=>{if(t.length>u.current){const r=t[t.length-1];r.role==="assistant"&&S.getState().mode==="PROCESSING"&&(S.getState().setMode("SPEAKING"),g.current.speak(r.content))}u.current=t.length},[t]);const l=m.useCallback(r=>{const f=["Certo, vou verificar isso agora.","Entendido, deixa comigo.","Um momento, já estou processando.","Certo, já estou buscando a informação."],h=f[Math.floor(Math.random()*f.length)];g.current.speak(h)},[]),x=m.useCallback(r=>{const f=S.getState().selectedSquad??"_jarvis";S.getState().addMessage("user",r),l(r),S.getState().setMode("PROCESSING"),S.getState().clearStandbyTimer(),B(f,r)},[l]),g=m.useRef({speak:r=>{}}),{speak:R,getAnalyser:A,isSupported:p}=V({onWakeWord:r=>{const f=S.getState().mode;if(!(f==="PROCESSING"||f==="SPEAKING"))if(r)x(r);else{S.getState().setMode("GREETING");const h=S.getState().userName||"";R(h?`Olá ${h}, como posso ajudar?`:"Olá, como posso ajudar?")}},onUtterance:r=>{const f=S.getState().mode;f==="PROCESSING"||f==="SPEAKING"||x(r)},onTTSEnd:()=>{const r=S.getState().mode;(r==="GREETING"||r==="SPEAKING")&&(S.getState().setMode("LISTENING"),S.getState().startStandbyTimer())}});g.current.speak=R,m.useEffect(()=>{const r=c.current;if(!r)return;const f=()=>{r.width=window.innerWidth,r.height=window.innerHeight};f(),window.addEventListener("resize",f);const h=new L(r);s.current=h;const T=()=>{const v=A();let P=null;if(v){const w=new ArrayBuffer(v.frequencyBinCount);P=new Uint8Array(w),v.getByteFrequencyData(P)}const E=S.getState(),C=k.getState().squads;h.render({mode:E.mode,time:Date.now()-n.current,amplitudes:P,squads:C.map(w=>({name:w.code,active:w.code===E.selectedSquad})),transcript:E.messages.map(w=>({role:w.role,text:w.content})),userName:E.userName}),o.current=requestAnimationFrame(T)};return o.current=requestAnimationFrame(T),()=>{cancelAnimationFrame(o.current),h.destroy(),window.removeEventListener("resize",f)}},[A]),m.useEffect(()=>()=>{S.getState().clearStandbyTimer()},[]);const y=r=>{r.preventDefault(),e.trim()&&(x(e.trim()),a(""))};return N.jsxDEV("div",{style:{position:"fixed",inset:0,background:d.background,zIndex:1e3},children:[N.jsxDEV("canvas",{ref:c,style:{display:"block",width:"100%",height:"100%"}},void 0,!1,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:172,columnNumber:7},this),!p&&N.jsxDEV("div",{style:{position:"absolute",top:20,left:"50%",transform:"translateX(-50%)",color:d.orbProcessing,fontFamily:"monospace",fontSize:13,background:"rgba(255, 140, 0, 0.1)",border:"1px solid rgba(255, 140, 0, 0.3)",borderRadius:4,padding:"8px 16px",zIndex:1001},children:"Speech recognition not available. Use text input below."},void 0,!1,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:178,columnNumber:9},this),N.jsxDEV("form",{onSubmit:y,style:{position:"absolute",bottom:30,left:"50%",transform:"translateX(-50%)",display:"flex",gap:8,zIndex:1001},children:[N.jsxDEV("input",{type:"text",value:e,onChange:r=>a(r.target.value),placeholder:p?"Or type a message...":"Type a message...",style:{width:400,padding:"8px 12px",background:"rgba(0, 200, 255, 0.08)",border:"1px solid rgba(0, 200, 255, 0.25)",borderRadius:4,color:d.textPrimary,fontFamily:"monospace",fontSize:13,outline:"none"}},void 0,!1,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:208,columnNumber:9},this),N.jsxDEV("button",{type:"submit",style:{padding:"8px 16px",background:"rgba(0, 200, 255, 0.15)",border:"1px solid rgba(0, 200, 255, 0.25)",borderRadius:4,color:d.textAccent,fontFamily:"monospace",fontSize:13,cursor:"pointer"},children:"Send"},void 0,!1,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:225,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:196,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/views/JarvisView.tsx",lineNumber:166,columnNumber:5},this)}export{F as JarvisView};
@@ -1,172 +0,0 @@
1
- import{a1 as Ve,a2 as Ne,W as oe,M as m,a3 as je,a4 as $e,I as qe,a5 as le,l,v as W,a6 as w,a7 as Ke,a8 as z,a9 as T,R as V,aa as de,ab as Ye,T as f,S as g,Q as D,ac as ue,w as ce,ad as ee,ae as he,af as pe,ag as fe,ah as me,z as P,ai as Je,C as E,D as N,V as v,aj as B,ak as Xe,P as Qe,al as Ze,N as et,x as te,am as re,an as p,h as tt,t as O,ao as rt,ap as st,aq as nt,ar as at}from"./index-DPwnElYV.js";var it=`in vec2 vMaskCoord;
2
- in vec2 vTextureCoord;
3
-
4
- uniform sampler2D uTexture;
5
- uniform sampler2D uMaskTexture;
6
-
7
- uniform float uAlpha;
8
- uniform vec4 uMaskClamp;
9
- uniform float uInverse;
10
-
11
- out vec4 finalColor;
12
-
13
- void main(void)
14
- {
15
- float clip = step(3.5,
16
- step(uMaskClamp.x, vMaskCoord.x) +
17
- step(uMaskClamp.y, vMaskCoord.y) +
18
- step(vMaskCoord.x, uMaskClamp.z) +
19
- step(vMaskCoord.y, uMaskClamp.w));
20
-
21
- // TODO look into why this is needed
22
- float npmAlpha = uAlpha;
23
- vec4 original = texture(uTexture, vTextureCoord);
24
- vec4 masky = texture(uMaskTexture, vMaskCoord);
25
- float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
26
-
27
- float a = alphaMul * masky.r * npmAlpha * clip;
28
-
29
- if (uInverse == 1.0) {
30
- a = 1.0 - a;
31
- }
32
-
33
- finalColor = original * a;
34
- }
35
- `,ot=`in vec2 aPosition;
36
-
37
- out vec2 vTextureCoord;
38
- out vec2 vMaskCoord;
39
-
40
-
41
- uniform vec4 uInputSize;
42
- uniform vec4 uOutputFrame;
43
- uniform vec4 uOutputTexture;
44
- uniform mat3 uFilterMatrix;
45
-
46
- vec4 filterVertexPosition( vec2 aPosition )
47
- {
48
- vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
49
-
50
- position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
51
- position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
52
-
53
- return vec4(position, 0.0, 1.0);
54
- }
55
-
56
- vec2 filterTextureCoord( vec2 aPosition )
57
- {
58
- return aPosition * (uOutputFrame.zw * uInputSize.zw);
59
- }
60
-
61
- vec2 getFilterCoord( vec2 aPosition )
62
- {
63
- return ( uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
64
- }
65
-
66
- void main(void)
67
- {
68
- gl_Position = filterVertexPosition(aPosition);
69
- vTextureCoord = filterTextureCoord(aPosition);
70
- vMaskCoord = getFilterCoord(aPosition);
71
- }
72
- `,se=`struct GlobalFilterUniforms {
73
- uInputSize:vec4<f32>,
74
- uInputPixel:vec4<f32>,
75
- uInputClamp:vec4<f32>,
76
- uOutputFrame:vec4<f32>,
77
- uGlobalFrame:vec4<f32>,
78
- uOutputTexture:vec4<f32>,
79
- };
80
-
81
- struct MaskUniforms {
82
- uFilterMatrix:mat3x3<f32>,
83
- uMaskClamp:vec4<f32>,
84
- uAlpha:f32,
85
- uInverse:f32,
86
- };
87
-
88
- @group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
89
- @group(0) @binding(1) var uTexture: texture_2d<f32>;
90
- @group(0) @binding(2) var uSampler : sampler;
91
-
92
- @group(1) @binding(0) var<uniform> filterUniforms : MaskUniforms;
93
- @group(1) @binding(1) var uMaskTexture: texture_2d<f32>;
94
-
95
- struct VSOutput {
96
- @builtin(position) position: vec4<f32>,
97
- @location(0) uv : vec2<f32>,
98
- @location(1) filterUv : vec2<f32>,
99
- };
100
-
101
- fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
102
- {
103
- var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
104
-
105
- position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
106
- position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
107
-
108
- return vec4(position, 0.0, 1.0);
109
- }
110
-
111
- fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
112
- {
113
- return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
114
- }
115
-
116
- fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
117
- {
118
- return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
119
- }
120
-
121
- fn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>
122
- {
123
- return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
124
- }
125
-
126
- fn getSize() -> vec2<f32>
127
- {
128
- return gfu.uGlobalFrame.zw;
129
- }
130
-
131
- @vertex
132
- fn mainVertex(
133
- @location(0) aPosition : vec2<f32>,
134
- ) -> VSOutput {
135
- return VSOutput(
136
- filterVertexPosition(aPosition),
137
- filterTextureCoord(aPosition),
138
- getFilterCoord(aPosition)
139
- );
140
- }
141
-
142
- @fragment
143
- fn mainFragment(
144
- @location(0) uv: vec2<f32>,
145
- @location(1) filterUv: vec2<f32>,
146
- @builtin(position) position: vec4<f32>
147
- ) -> @location(0) vec4<f32> {
148
-
149
- var maskClamp = filterUniforms.uMaskClamp;
150
- var uAlpha = filterUniforms.uAlpha;
151
-
152
- var clip = step(3.5,
153
- step(maskClamp.x, filterUv.x) +
154
- step(maskClamp.y, filterUv.y) +
155
- step(filterUv.x, maskClamp.z) +
156
- step(filterUv.y, maskClamp.w));
157
-
158
- var mask = textureSample(uMaskTexture, uSampler, filterUv);
159
- var source = textureSample(uTexture, uSampler, uv);
160
- var alphaMul = 1.0 - uAlpha * (1.0 - mask.a);
161
-
162
- var a: f32 = alphaMul * mask.r * uAlpha * clip;
163
-
164
- if (filterUniforms.uInverse == 1.0) {
165
- a = 1.0 - a;
166
- }
167
-
168
- return source * a;
169
- }
170
- `;class lt extends Ve{constructor(e){const{sprite:t,...r}=e,s=new Ne(t.texture),n=new oe({uFilterMatrix:{value:new m,type:"mat3x3<f32>"},uMaskClamp:{value:s.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"},uInverse:{value:e.inverse?1:0,type:"f32"}}),i=je.from({vertex:{source:se,entryPoint:"mainVertex"},fragment:{source:se,entryPoint:"mainFragment"}}),o=$e.from({vertex:ot,fragment:it,name:"mask-filter"});super({...r,gpuProgram:i,glProgram:o,clipToViewport:!1,resources:{filterUniforms:n,uMaskTexture:t.texture.source}}),this.sprite=t,this._textureMatrix=s}set inverse(e){this.resources.filterUniforms.uniforms.uInverse=e?1:0}get inverse(){return this.resources.filterUniforms.uniforms.uInverse===1}apply(e,t,r,s){this._textureMatrix.texture=this.sprite.texture,e.calculateSpriteMatrix(this.resources.filterUniforms.uniforms.uFilterMatrix,this.sprite).prepend(this._textureMatrix.mapCoord),this.resources.uMaskTexture=this.sprite.texture.source,e.applyFilter(this,t,r,s)}}const j=class ge{constructor(e,t){var r,s;this.state=qe.for2d(),this._batchersByInstructionSet=Object.create(null),this._activeBatches=Object.create(null),this.renderer=e,this._adaptor=t,(s=(r=this._adaptor).init)==null||s.call(r,this)}static getBatcher(e){return new this._availableBatchers[e]}buildStart(e){let t=this._batchersByInstructionSet[e.uid];t||(t=this._batchersByInstructionSet[e.uid]=Object.create(null),t.default||(t.default=new le({maxTextures:this.renderer.limits.maxBatchableTextures}))),this._activeBatches=t,this._activeBatch=this._activeBatches.default;for(const r in this._activeBatches)this._activeBatches[r].begin()}addToBatch(e,t){if(this._activeBatch.name!==e.batcherName){this._activeBatch.break(t);let r=this._activeBatches[e.batcherName];r||(r=this._activeBatches[e.batcherName]=ge.getBatcher(e.batcherName),r.begin()),this._activeBatch=r}this._activeBatch.add(e)}break(e){this._activeBatch.break(e)}buildEnd(e){this._activeBatch.break(e);const t=this._activeBatches;for(const r in t){const s=t[r],n=s.geometry;n.indexBuffer.setDataWithSize(s.indexBuffer,s.indexSize,!0),n.buffers[0].setDataWithSize(s.attributeBuffer.float32View,s.attributeSize,!1)}}upload(e){const t=this._batchersByInstructionSet[e.uid];for(const r in t){const s=t[r],n=s.geometry;s.dirty&&(s.dirty=!1,n.buffers[0].update(s.attributeSize*4))}}execute(e){if(e.action==="startBatch"){const t=e.batcher,r=t.geometry,s=t.shader;this._adaptor.start(this,r,s)}this._adaptor.execute(this,e)}destroy(){this.state=null,this.renderer=null,this._adaptor=null;for(const e in this._activeBatches)this._activeBatches[e].destroy();this._activeBatches=null}};j.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"batch"};j._availableBatchers=Object.create(null);let _e=j;W.handleByMap(l.Batcher,_e._availableBatchers);W.add(le);const dt=new z;class ut extends de{constructor(){super(),this.filters=[new lt({sprite:new Ye(f.EMPTY),inverse:!1,resolution:"inherit",antialias:"inherit"})]}get sprite(){return this.filters[0].sprite}set sprite(e){this.filters[0].sprite=e}get inverse(){return this.filters[0].inverse}set inverse(e){this.filters[0].inverse=e}}class xe{constructor(e){this._activeMaskStage=[],this._renderer=e}push(e,t,r){const s=this._renderer;if(s.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1,maskedContainer:t}),e.inverse=t._maskOptions.inverse,e.renderMaskToTexture){const n=e.mask;n.includeInBuild=!0,n.collectRenderables(r,s,null),n.includeInBuild=!1}s.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskEnd",mask:e,maskedContainer:t,inverse:t._maskOptions.inverse,canBundle:!1})}pop(e,t,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}execute(e){const t=this._renderer,r=e.mask.renderMaskToTexture;if(e.action==="pushMaskBegin"){const s=w.get(ut);if(s.inverse=e.inverse,r){e.mask.mask.measurable=!0;const n=Ke(e.mask.mask,!0,dt);e.mask.mask.measurable=!1,n.ceil();const i=t.renderTarget.renderTarget.colorTexture.source,o=T.getOptimalTexture(n.width,n.height,i._resolution,i.antialias);t.renderTarget.push(o,!0),t.globalUniforms.push({offset:n,worldColor:4294967295});const d=s.sprite;d.texture=o,d.worldTransform.tx=n.minX,d.worldTransform.ty=n.minY,this._activeMaskStage.push({filterEffect:s,maskedContainer:e.maskedContainer,filterTexture:o})}else s.sprite=e.mask.mask,this._activeMaskStage.push({filterEffect:s,maskedContainer:e.maskedContainer})}else if(e.action==="pushMaskEnd"){const s=this._activeMaskStage[this._activeMaskStage.length-1];r&&(t.type===V.WEBGL&&t.renderTarget.finishRenderPass(),t.renderTarget.pop(),t.globalUniforms.pop()),t.filter.push({renderPipeId:"filter",action:"pushFilter",container:s.maskedContainer,filterEffect:s.filterEffect,canBundle:!1})}else if(e.action==="popMaskEnd"){t.filter.pop();const s=this._activeMaskStage.pop();r&&T.returnTexture(s.filterTexture),w.return(s.filterEffect)}}destroy(){this._renderer=null,this._activeMaskStage=null}}xe.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"alphaMask"};class be{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,r){this._renderer.renderPipes.batch.break(r);const n=this._colorStack;n[this._colorStackIndex]=n[this._colorStackIndex-1]&e.mask;const i=this._colorStack[this._colorStackIndex];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1})),this._colorStackIndex++}pop(e,t,r){this._renderer.renderPipes.batch.break(r);const n=this._colorStack;this._colorStackIndex--;const i=n[this._colorStackIndex-1];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1}))}execute(e){this._renderer.colorMask.setMask(e.colorMask)}destroy(){this._renderer=null,this._colorStack=null}}be.extension={type:[l.WebGLPipes,l.WebGPUPipes],name:"colorMask"};class Te{constructor(e){this._maskStackHash={},this._maskHash=new WeakMap,this._renderer=e}push(e,t,r){var s;const n=e,i=this._renderer;i.renderPipes.batch.break(r),i.renderPipes.blendMode.setBlendMode(n.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});const o=n.mask;o.includeInBuild=!0,this._maskHash.has(n)||this._maskHash.set(n,{instructionsStart:0,instructionsLength:0});const d=this._maskHash.get(n);d.instructionsStart=r.instructionSize,o.collectRenderables(r,i,null),o.includeInBuild=!1,i.renderPipes.batch.break(r),r.add({renderPipeId:"stencilMask",action:"pushMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});const c=r.instructionSize-d.instructionsStart-1;d.instructionsLength=c;const h=i.renderTarget.renderTarget.uid;(s=this._maskStackHash)[h]??(s[h]=0)}pop(e,t,r){const s=e,n=this._renderer;n.renderPipes.batch.break(r),n.renderPipes.blendMode.setBlendMode(s.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"popMaskBegin",inverse:t._maskOptions.inverse,canBundle:!1});const i=this._maskHash.get(e);for(let o=0;o<i.instructionsLength;o++)r.instructions[r.instructionSize++]=r.instructions[i.instructionsStart++];r.add({renderPipeId:"stencilMask",action:"popMaskEnd",canBundle:!1})}execute(e){var t;const r=this._renderer,s=r,n=r.renderTarget.renderTarget.uid;let i=(t=this._maskStackHash)[n]??(t[n]=0);e.action==="pushMaskBegin"?(s.renderTarget.ensureDepthStencil(),s.stencil.setStencilMode(g.RENDERING_MASK_ADD,i),i++,s.colorMask.setMask(0)):e.action==="pushMaskEnd"?(e.inverse?s.stencil.setStencilMode(g.INVERSE_MASK_ACTIVE,i):s.stencil.setStencilMode(g.MASK_ACTIVE,i),s.colorMask.setMask(15)):e.action==="popMaskBegin"?(s.colorMask.setMask(0),i!==0?s.stencil.setStencilMode(g.RENDERING_MASK_REMOVE,i):(s.renderTarget.clear(null,D.STENCIL),s.stencil.setStencilMode(g.DISABLED,i)),i--):e.action==="popMaskEnd"&&(e.inverse?s.stencil.setStencilMode(g.INVERSE_MASK_ACTIVE,i):s.stencil.setStencilMode(g.MASK_ACTIVE,i),s.colorMask.setMask(15)),this._maskStackHash[n]=i}destroy(){this._renderer=null,this._maskStackHash=null,this._maskHash=null}}Te.extension={type:[l.WebGLPipes,l.WebGPUPipes],name:"stencilMask"};class ve{constructor(e){this._renderer=e}updateRenderable(){}destroyRenderable(){}validateRenderable(){return!1}addRenderable(e,t){this._renderer.renderPipes.batch.break(t),t.add(e)}execute(e){e.isRenderable&&e.render(this._renderer)}destroy(){this._renderer=null}}ve.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"customRender"};function L(a,e){const t=a.instructionSet,r=t.instructions;for(let s=0;s<t.instructionSize;s++){const n=r[s];e[n.renderPipeId].execute(n)}}class ye{constructor(e){this._renderer=e}addRenderGroup(e,t){e.isCachedAsTexture?this._addRenderableCacheAsTexture(e,t):this._addRenderableDirect(e,t)}execute(e){e.isRenderable&&(e.isCachedAsTexture?this._executeCacheAsTexture(e):this._executeDirect(e))}destroy(){this._renderer=null}_addRenderableDirect(e,t){this._renderer.renderPipes.batch.break(t),e._batchableRenderGroup&&(w.return(e._batchableRenderGroup),e._batchableRenderGroup=null),t.add(e)}_addRenderableCacheAsTexture(e,t){const r=e._batchableRenderGroup??(e._batchableRenderGroup=w.get(ue));r.renderable=e.root,r.transform=e.root.relativeGroupTransform,r.texture=e.texture,r.bounds=e._textureBounds,t.add(e),this._renderer.renderPipes.blendMode.pushBlendMode(e,e.root.groupBlendMode,t),this._renderer.renderPipes.batch.addToBatch(r,t),this._renderer.renderPipes.blendMode.popBlendMode(t)}_executeCacheAsTexture(e){if(e.textureNeedsUpdate){e.textureNeedsUpdate=!1;const t=new m().translate(-e._textureBounds.x,-e._textureBounds.y);this._renderer.renderTarget.push(e.texture,!0,null,e.texture.frame),this._renderer.globalUniforms.push({worldTransformMatrix:t,worldColor:4294967295,offset:{x:0,y:0}}),L(e,this._renderer.renderPipes),this._renderer.renderTarget.finishRenderPass(),this._renderer.renderTarget.pop(),this._renderer.globalUniforms.pop()}e._batchableRenderGroup._batcher.updateElement(e._batchableRenderGroup),e._batchableRenderGroup._batcher.geometry.buffers[0].update()}_executeDirect(e){this._renderer.globalUniforms.push({worldTransformMatrix:e.inverseParentTextureTransform,worldColor:e.worldColorAlpha}),L(e,this._renderer.renderPipes),this._renderer.globalUniforms.pop()}}ye.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"renderGroup"};class Ce{constructor(e){this._renderer=e}addRenderable(e,t){const r=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,r),this._renderer.renderPipes.batch.addToBatch(r,t)}updateRenderable(e){const t=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t)}validateRenderable(e){const t=this._getGpuSprite(e);return!t._batcher.checkAndUpdateTexture(t,e._texture)}_updateBatchableSprite(e,t){t.bounds=e.visualBounds,t.texture=e._texture}_getGpuSprite(e){return e._gpuData[this._renderer.uid]||this._initGPUSprite(e)}_initGPUSprite(e){const t=new ue;return t.renderable=e,t.transform=e.groupTransform,t.texture=e._texture,t.bounds=e.visualBounds,t.roundPixels=this._renderer._roundPixels|e._roundPixels,e._gpuData[this._renderer.uid]=t,t}destroy(){this._renderer=null}}Ce.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"sprite"};const y={};W.handle(l.BlendMode,a=>{if(!a.name)throw new Error("BlendMode extension must have a name property");y[a.name]=a.ref},a=>{delete y[a.name]});class ke{constructor(e){this._blendModeStack=[],this._isAdvanced=!1,this._filterHash=Object.create(null),this._renderer=e,this._renderer.runners.prerender.add(this)}prerender(){this._activeBlendMode="normal",this._isAdvanced=!1}pushBlendMode(e,t,r){this._blendModeStack.push(t),this.setBlendMode(e,t,r)}popBlendMode(e){this._blendModeStack.pop();const t=this._blendModeStack[this._activeBlendMode.length-1]??"normal";this.setBlendMode(null,t,e)}setBlendMode(e,t,r){var n;const s=e instanceof ee;if(this._activeBlendMode===t){this._isAdvanced&&e&&!s&&((n=this._renderableList)==null||n.push(e));return}this._isAdvanced&&this._endAdvancedBlendMode(r),this._activeBlendMode=t,e&&(this._isAdvanced=!!y[t],this._isAdvanced&&this._beginAdvancedBlendMode(e,r))}_beginAdvancedBlendMode(e,t){this._renderer.renderPipes.batch.break(t);const r=this._activeBlendMode;if(!y[r]){ce(`Unable to assign BlendMode: '${r}'. You may want to include: import 'pixi.js/advanced-blend-modes'`);return}const s=this._ensureFilterEffect(r),n=e instanceof ee,i={renderPipeId:"filter",action:"pushFilter",filterEffect:s,renderables:n?null:[e],container:n?e.root:null,canBundle:!1};this._renderableList=i.renderables,t.add(i)}_ensureFilterEffect(e){let t=this._filterHash[e];return t||(t=this._filterHash[e]=new de,t.filters=[new y[e]]),t}_endAdvancedBlendMode(e){this._isAdvanced=!1,this._renderableList=null,this._renderer.renderPipes.batch.break(e),e.add({renderPipeId:"filter",action:"popFilter",canBundle:!1})}buildStart(){this._isAdvanced=!1}buildEnd(e){this._isAdvanced&&this._endAdvancedBlendMode(e)}destroy(){this._renderer=null,this._renderableList=null;for(const e in this._filterHash)this._filterHash[e].destroy();this._filterHash=null}}ke.extension={type:[l.WebGLPipes,l.WebGPUPipes,l.CanvasPipes],name:"blendMode"};function H(a,e){e||(e=0);for(let t=e;t<a.length&&a[t];t++)a[t]=null}const ct=new P,ne=pe|fe|me;function Me(a,e=!1){ht(a);const t=a.childrenToUpdate,r=a.updateTick++;for(const s in t){const n=Number(s),i=t[s],o=i.list,d=i.index;for(let c=0;c<d;c++){const h=o[c];h.parentRenderGroup===a&&h.relativeRenderGroupDepth===n&&Re(h,r,0)}H(o,d),i.index=0}if(e)for(let s=0;s<a.renderGroupChildren.length;s++)Me(a.renderGroupChildren[s],e)}function ht(a){const e=a.root;let t;if(a.renderGroupParent){const r=a.renderGroupParent;a.worldTransform.appendFrom(e.relativeGroupTransform,r.worldTransform),a.worldColor=he(e.groupColor,r.worldColor),t=e.groupAlpha*r.worldAlpha}else a.worldTransform.copyFrom(e.localTransform),a.worldColor=e.localColor,t=e.localAlpha;t=t<0?0:t>1?1:t,a.worldAlpha=t,a.worldColorAlpha=a.worldColor+((t*255|0)<<24)}function Re(a,e,t){if(e===a.updateTick)return;a.updateTick=e,a.didChange=!1;const r=a.localTransform;a.updateLocalTransform();const s=a.parent;if(s&&!s.renderGroup?(t|=a._updateFlags,a.relativeGroupTransform.appendFrom(r,s.relativeGroupTransform),t&ne&&ae(a,s,t)):(t=a._updateFlags,a.relativeGroupTransform.copyFrom(r),t&ne&&ae(a,ct,t)),!a.renderGroup){const n=a.children,i=n.length;for(let c=0;c<i;c++)Re(n[c],e,t);const o=a.parentRenderGroup,d=a;d.renderPipeId&&!o.structureDidChange&&o.updateRenderable(d)}}function ae(a,e,t){if(t&fe){a.groupColor=he(a.localColor,e.groupColor);let r=a.localAlpha*e.groupAlpha;r=r<0?0:r>1?1:r,a.groupAlpha=r,a.groupColorAlpha=a.groupColor+((r*255|0)<<24)}t&me&&(a.groupBlendMode=a.localBlendMode==="inherit"?e.groupBlendMode:a.localBlendMode),t&pe&&(a.globalDisplayStatus=a.localDisplayStatus&e.globalDisplayStatus),a._updateFlags=0}function pt(a,e){const{list:t}=a.childrenRenderablesToUpdate;let r=!1;for(let s=0;s<a.childrenRenderablesToUpdate.index;s++){const n=t[s];if(r=e[n.renderPipeId].validateRenderable(n),r)break}return a.structureDidChange=r,r}const ft=new m;class Se{constructor(e){this._renderer=e}render({container:e,transform:t}){const r=e.parent,s=e.renderGroup.renderGroupParent;e.parent=null,e.renderGroup.renderGroupParent=null;const n=this._renderer,i=ft;t&&(i.copyFrom(e.renderGroup.localTransform),e.renderGroup.localTransform.copyFrom(t));const o=n.renderPipes;this._updateCachedRenderGroups(e.renderGroup,null),this._updateRenderGroups(e.renderGroup),n.globalUniforms.start({worldTransformMatrix:t?e.renderGroup.localTransform:e.renderGroup.worldTransform,worldColor:e.renderGroup.worldColorAlpha}),L(e.renderGroup,o),o.uniformBatch&&o.uniformBatch.renderEnd(),t&&e.renderGroup.localTransform.copyFrom(i),e.parent=r,e.renderGroup.renderGroupParent=s}destroy(){this._renderer=null}_updateCachedRenderGroups(e,t){if(e._parentCacheAsTextureRenderGroup=t,e.isCachedAsTexture){if(!e.textureNeedsUpdate)return;t=e}for(let r=e.renderGroupChildren.length-1;r>=0;r--)this._updateCachedRenderGroups(e.renderGroupChildren[r],t);if(e.invalidateMatrices(),e.isCachedAsTexture){if(e.textureNeedsUpdate){const r=e.root.getLocalBounds(),s=this._renderer,n=e.textureOptions.resolution||s.view.resolution,i=e.textureOptions.antialias??s.view.antialias,o=e.textureOptions.scaleMode??"linear",d=e.texture;r.ceil(),e.texture&&T.returnTexture(e.texture,!0);const c=T.getOptimalTexture(r.width,r.height,n,i);c._source.style=new Je({scaleMode:o}),e.texture=c,e._textureBounds||(e._textureBounds=new z),e._textureBounds.copyFrom(r),d!==e.texture&&e.renderGroupParent&&(e.renderGroupParent.structureDidChange=!0)}}else e.texture&&(T.returnTexture(e.texture,!0),e.texture=null)}_updateRenderGroups(e){const t=this._renderer,r=t.renderPipes;if(e.runOnRender(t),e.instructionSet.renderPipes=r,e.structureDidChange?H(e.childrenRenderablesToUpdate.list,0):pt(e,r),Me(e),e.structureDidChange?(e.structureDidChange=!1,this._buildInstructions(e,t)):this._updateRenderables(e),e.childrenRenderablesToUpdate.index=0,t.renderPipes.batch.upload(e.instructionSet),!(e.isCachedAsTexture&&!e.textureNeedsUpdate))for(let s=0;s<e.renderGroupChildren.length;s++)this._updateRenderGroups(e.renderGroupChildren[s])}_updateRenderables(e){const{list:t,index:r}=e.childrenRenderablesToUpdate;for(let s=0;s<r;s++){const n=t[s];n.didViewUpdate&&e.updateRenderable(n)}H(t,r)}_buildInstructions(e,t){const r=e.root,s=e.instructionSet;s.reset();const n=t.renderPipes?t:t.batch.renderer,i=n.renderPipes;i.batch.buildStart(s),i.blendMode.buildStart(),i.colorMask.buildStart(),r.sortableChildren&&r.sortChildren(),r.collectRenderablesWithEffects(s,n,null),i.batch.buildEnd(s),i.blendMode.buildEnd(s)}}Se.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"renderGroup"};const $=class we{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new E(0),this.color=this._backgroundColor,this.alpha=1}init(e){e={...we.defaultOptions,...e},this.clearBeforeRender=e.clearBeforeRender,this.color=e.background||e.backgroundColor||this._backgroundColor,this.alpha=e.backgroundAlpha,this._backgroundColor.setAlpha(e.backgroundAlpha)}get color(){return this._backgroundColor}set color(e){E.shared.setValue(e).alpha<1&&this._backgroundColor.alpha===1&&ce("Cannot set a transparent background on an opaque canvas. To enable transparency, set backgroundAlpha < 1 when initializing your Application."),this._backgroundColor.setValue(e)}get alpha(){return this._backgroundColor.alpha}set alpha(e){this._backgroundColor.setAlpha(e)}get colorRgba(){return this._backgroundColor.toArray()}destroy(){}};$.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"background",priority:0};$.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0};let mt=$;const I={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},q=class Pe{constructor(e){this._renderer=e}_normalizeOptions(e,t={}){return e instanceof P||e instanceof f?{target:e,...t}:{...t,...e}}async image(e){const t=N.get().createImage();return t.src=await this.base64(e),t}async base64(e){e=this._normalizeOptions(e,Pe.defaultImageOptions);const{format:t,quality:r}=e,s=this.canvas(e);if(s.toBlob!==void 0)return new Promise((n,i)=>{s.toBlob(o=>{if(!o){i(new Error("ICanvas.toBlob failed!"));return}const d=new FileReader;d.onload=()=>n(d.result),d.onerror=i,d.readAsDataURL(o)},I[t],r)});if(s.toDataURL!==void 0)return s.toDataURL(I[t],r);if(s.convertToBlob!==void 0){const n=await s.convertToBlob({type:I[t],quality:r});return new Promise((i,o)=>{const d=new FileReader;d.onload=()=>i(d.result),d.onerror=o,d.readAsDataURL(n)})}throw new Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e){e=this._normalizeOptions(e);const t=e.target,r=this._renderer;if(t instanceof f)return r.texture.generateCanvas(t);const s=r.textureGenerator.generateTexture(e),n=r.texture.generateCanvas(s);return s.destroy(!0),n}pixels(e){e=this._normalizeOptions(e);const t=e.target,r=this._renderer,s=t instanceof f?t:r.textureGenerator.generateTexture(e),n=r.texture.getPixels(s);return t instanceof P&&s.destroy(!0),n}texture(e){return e=this._normalizeOptions(e),e.target instanceof f?e.target:this._renderer.textureGenerator.generateTexture(e)}download(e){e=this._normalizeOptions(e);const t=this.canvas(e),r=document.createElement("a");r.download=e.filename??"image.png",r.href=t.toDataURL("image/png"),document.body.appendChild(r),r.click(),document.body.removeChild(r)}log(e){const t=e.width??200;e=this._normalizeOptions(e);const r=this.canvas(e),s=r.toDataURL();console.log(`[Pixi Texture] ${r.width}px ${r.height}px`);const n=["font-size: 1px;",`padding: ${t}px 300px;`,`background: url(${s}) no-repeat;`,"background-size: contain;"].join(" ");console.log("%c ",n)}destroy(){this._renderer=null}};q.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"extract"};q.defaultImageOptions={format:"png",quality:1};let gt=q;class K extends f{static create(e){const{dynamic:t,...r}=e;return new K({source:new v(r),dynamic:t??!1})}resize(e,t,r){return this.source.resize(e,t,r),this}}const _t=new B,xt=new z,bt=[0,0,0,0];class Be{constructor(e){this._renderer=e}generateTexture(e){var c;e instanceof P&&(e={target:e,frame:void 0,textureSourceOptions:{},resolution:void 0});const t=e.resolution||this._renderer.resolution,r=e.antialias||this._renderer.view.antialias,s=e.target;let n=e.clearColor;n?n=Array.isArray(n)&&n.length===4?n:E.shared.setValue(n).toArray():n=bt;const i=((c=e.frame)==null?void 0:c.copyTo(_t))||Xe(s,xt).rectangle;i.width=Math.max(i.width,1/t)|0,i.height=Math.max(i.height,1/t)|0;const o=K.create({...e.textureSourceOptions,width:i.width,height:i.height,resolution:t,antialias:r}),d=m.shared.translate(-i.x,-i.y);return this._renderer.render({container:s,transform:d,target:o,clearColor:n}),o.source.updateMipmaps(),o}destroy(){this._renderer=null}}Be.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"textureGenerator"};function Tt(a){let e=!1;for(const r in a)if(a[r]==null){e=!0;break}if(!e)return a;const t=Object.create(null);for(const r in a){const s=a[r];s&&(t[r]=s)}return t}function vt(a){let e=0;for(let t=0;t<a.length;t++)a[t]==null?e++:a[t-e]=a[t];return a.length-=e,a}const Y=class Ge{constructor(e){this._managedResources=[],this._managedResourceHashes=[],this._managedCollections=[],this._ready=!1,this._renderer=e}init(e){e={...Ge.defaultOptions,...e},this.maxUnusedTime=e.gcMaxUnusedTime,this._frequency=e.gcFrequency,this.enabled=e.gcActive,this.now=performance.now()}get enabled(){return!!this._handler}set enabled(e){this.enabled!==e&&(e?(this._handler=this._renderer.scheduler.repeat(()=>{this._ready=!0},this._frequency,!1),this._collectionsHandler=this._renderer.scheduler.repeat(()=>{for(const t of this._managedCollections){const{context:r,collection:s,type:n}=t;n==="hash"?r[s]=Tt(r[s]):r[s]=vt(r[s])}},this._frequency)):(this._renderer.scheduler.cancel(this._handler),this._renderer.scheduler.cancel(this._collectionsHandler),this._handler=0,this._collectionsHandler=0))}prerender({container:e}){this.now=performance.now(),e.renderGroup.gcTick=this._renderer.tick++,this._updateInstructionGCTick(e.renderGroup,e.renderGroup.gcTick)}postrender(){!this._ready||!this.enabled||(this.run(),this._ready=!1)}_updateInstructionGCTick(e,t){e.instructionSet.gcTick=t,e.gcTick=t;for(const r of e.renderGroupChildren)this._updateInstructionGCTick(r,t)}addCollection(e,t,r){this._managedCollections.push({context:e,collection:t,type:r})}addResource(e,t){var s,n;if(e._gcLastUsed!==-1){e._gcLastUsed=this.now,(s=e._onTouch)==null||s.call(e,this.now);return}const r=this._managedResources.length;e._gcData={index:r,type:t},e._gcLastUsed=this.now,(n=e._onTouch)==null||n.call(e,this.now),e.once("unload",this.removeResource,this),this._managedResources.push(e)}removeResource(e){const t=e._gcData;if(!t)return;const r=t.index,s=this._managedResources.length-1;if(r!==s){const n=this._managedResources[s];this._managedResources[r]=n,n._gcData.index=r}this._managedResources.length--,e._gcData=null,e._gcLastUsed=-1}addResourceHash(e,t,r,s=0){this._managedResourceHashes.push({context:e,hash:t,type:r,priority:s}),this._managedResourceHashes.sort((n,i)=>n.priority-i.priority)}run(){const e=performance.now(),t=this._managedResourceHashes;for(const s of t)this.runOnHash(s,e);let r=0;for(let s=0;s<this._managedResources.length;s++){const n=this._managedResources[s];r=this.runOnResource(n,e,r)}this._managedResources.length=r}updateRenderableGCTick(e,t){var n,i;const r=e.renderGroup??e.parentRenderGroup,s=((n=r==null?void 0:r.instructionSet)==null?void 0:n.gcTick)??-1;((r==null?void 0:r.gcTick)??0)===s&&(e._gcLastUsed=t,(i=e._onTouch)==null||i.call(e,t))}runOnResource(e,t,r){const s=e._gcData;return s.type==="renderable"&&this.updateRenderableGCTick(e,t),t-e._gcLastUsed<this.maxUnusedTime||!e.autoGarbageCollect?(this._managedResources[r]=e,s.index=r,r++):(e.unload(),e._gcData=null,e._gcLastUsed=-1,e.off("unload",this.removeResource,this)),r}_createHashClone(e,t){const r=Object.create(null);for(const s in e){if(s===t)break;e[s]!==null&&(r[s]=e[s])}return r}runOnHash(e,t){var c;const{context:r,hash:s,type:n}=e,i=r[s];let o=null,d=0;for(const h in i){const u=i[h];if(u===null){d++,d===1e4&&!o&&(o=this._createHashClone(i,h));continue}if(u._gcLastUsed===-1){u._gcLastUsed=t,(c=u._onTouch)==null||c.call(u,t),o&&(o[h]=u);continue}if(n==="renderable"&&this.updateRenderableGCTick(u,t),!(t-u._gcLastUsed<this.maxUnusedTime)&&u.autoGarbageCollect){if(o||(d+1!==1e4?(i[h]=null,d++):o=this._createHashClone(i,h)),n==="renderable"){const _=u,x=_.renderGroup??_.parentRenderGroup;x&&(x.structureDidChange=!0)}u.unload(),u._gcData=null,u._gcLastUsed=-1}else o&&(o[h]=u)}o&&(r[s]=o)}destroy(){this.enabled=!1,this._managedResources.forEach(e=>{e.off("unload",this.removeResource,this)}),this._managedResources.length=0,this._managedResourceHashes.length=0,this._managedCollections.length=0,this._renderer=null}};Y.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"gc",priority:0};Y.defaultOptions={gcActive:!0,gcMaxUnusedTime:6e4,gcFrequency:3e4};let yt=Y;class Ue{constructor(e){this._stackIndex=0,this._globalUniformDataStack=[],this._uniformsPool=[],this._activeUniforms=[],this._bindGroupPool=[],this._activeBindGroups=[],this._renderer=e}reset(){this._stackIndex=0;for(let e=0;e<this._activeUniforms.length;e++)this._uniformsPool.push(this._activeUniforms[e]);for(let e=0;e<this._activeBindGroups.length;e++)this._bindGroupPool.push(this._activeBindGroups[e]);this._activeUniforms.length=0,this._activeBindGroups.length=0}start(e){this.reset(),this.push(e)}bind({size:e,projectionMatrix:t,worldTransformMatrix:r,worldColor:s,offset:n}){const i=this._renderer.renderTarget.renderTarget,o=this._stackIndex?this._globalUniformDataStack[this._stackIndex-1]:{worldTransformMatrix:new m,worldColor:4294967295,offset:new Qe},d={projectionMatrix:t||this._renderer.renderTarget.projectionMatrix,resolution:e||i.size,worldTransformMatrix:r||o.worldTransformMatrix,worldColor:s||o.worldColor,offset:n||o.offset,bindGroup:null},c=this._uniformsPool.pop()||this._createUniforms();this._activeUniforms.push(c);const h=c.uniforms;h.uProjectionMatrix=d.projectionMatrix,h.uResolution=d.resolution,h.uWorldTransformMatrix.copyFrom(d.worldTransformMatrix),h.uWorldTransformMatrix.tx-=d.offset.x,h.uWorldTransformMatrix.ty-=d.offset.y,Ze(d.worldColor,h.uWorldColorAlpha,0),c.update();let u;this._renderer.renderPipes.uniformBatch?u=this._renderer.renderPipes.uniformBatch.getUniformBindGroup(c,!1):(u=this._bindGroupPool.pop()||new et,this._activeBindGroups.push(u),u.setResource(c,0)),d.bindGroup=u,this._currentGlobalUniformData=d}push(e){this.bind(e),this._globalUniformDataStack[this._stackIndex++]=this._currentGlobalUniformData}pop(){this._currentGlobalUniformData=this._globalUniformDataStack[--this._stackIndex-1],this._renderer.type===V.WEBGL&&this._currentGlobalUniformData.bindGroup.resources[0].update()}get bindGroup(){return this._currentGlobalUniformData.bindGroup}get globalUniformData(){return this._currentGlobalUniformData}get uniformGroup(){return this._currentGlobalUniformData.bindGroup.resources[0]}_createUniforms(){return new oe({uProjectionMatrix:{value:new m,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new m,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:!0})}destroy(){this._renderer=null,this._globalUniformDataStack.length=0,this._uniformsPool.length=0,this._activeUniforms.length=0,this._bindGroupPool.length=0,this._activeBindGroups.length=0,this._currentGlobalUniformData=null}}Ue.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"globalUniforms"};let Ct=1;class Ae{constructor(){this._tasks=[],this._offset=0}init(){te.system.add(this._update,this)}repeat(e,t,r=!0){const s=Ct++;let n=0;return r&&(this._offset+=1e3,n=this._offset),this._tasks.push({func:e,duration:t,start:performance.now(),offset:n,last:performance.now(),repeat:!0,id:s}),s}cancel(e){for(let t=0;t<this._tasks.length;t++)if(this._tasks[t].id===e){this._tasks.splice(t,1);return}}_update(){const e=performance.now();for(let t=0;t<this._tasks.length;t++){const r=this._tasks[t];if(e-r.offset-r.last>=r.duration){const s=e-r.start;r.func(s),r.last=e}}}destroy(){te.system.remove(this._update,this),this._tasks.length=0}}Ae.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"scheduler",priority:0};let ie=!1;function kt(a){if(!ie){if(N.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){const e=[`%c %c %c %c %c PixiJS %c v${re} (${a}) http://www.pixijs.com/
171
-
172
- `,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...e)}else globalThis.console&&globalThis.console.log(`PixiJS ${re} - ${a} - http://www.pixijs.com/`);ie=!0}}class J{constructor(e){this._renderer=e}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===V.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),kt(t)}}}J.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"hello",priority:-2};J.defaultOptions={hello:!1};const X=class Ie{constructor(e){this._renderer=e}init(e){e={...Ie.defaultOptions,...e},this.maxUnusedTime=e.renderableGCMaxUnusedTime}get enabled(){return p("8.15.0","RenderableGCSystem.enabled is deprecated, please use the GCSystem.enabled instead."),this._renderer.gc.enabled}set enabled(e){p("8.15.0","RenderableGCSystem.enabled is deprecated, please use the GCSystem.enabled instead."),this._renderer.gc.enabled=e}addManagedHash(e,t){p("8.15.0","RenderableGCSystem.addManagedHash is deprecated, please use the GCSystem.addCollection instead."),this._renderer.gc.addCollection(e,t,"hash")}addManagedArray(e,t){p("8.15.0","RenderableGCSystem.addManagedArray is deprecated, please use the GCSystem.addCollection instead."),this._renderer.gc.addCollection(e,t,"array")}addRenderable(e){p("8.15.0","RenderableGCSystem.addRenderable is deprecated, please use the GCSystem instead."),this._renderer.gc.addResource(e,"renderable")}run(){p("8.15.0","RenderableGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.run()}destroy(){this._renderer=null}};X.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"renderableGC",priority:0};X.defaultOptions={renderableGCActive:!0,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};let Mt=X;const Q=class S{get count(){return this._renderer.tick}get checkCount(){return this._checkCount}set checkCount(e){p("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._checkCount=e}get maxIdle(){return this._renderer.gc.maxUnusedTime/1e3*60}set maxIdle(e){p("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.maxUnusedTime=e/60*1e3}get checkCountMax(){return Math.floor(this._renderer.gc._frequency/1e3)}set checkCountMax(e){p("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead.")}get active(){return this._renderer.gc.enabled}set active(e){p("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.enabled=e}constructor(e){this._renderer=e,this._checkCount=0}init(e){e.textureGCActive!==S.defaultOptions.textureGCActive&&(this.active=e.textureGCActive),e.textureGCMaxIdle!==S.defaultOptions.textureGCMaxIdle&&(this.maxIdle=e.textureGCMaxIdle),e.textureGCCheckCountMax!==S.defaultOptions.textureGCCheckCountMax&&(this.checkCountMax=e.textureGCCheckCountMax)}run(){p("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.run()}destroy(){this._renderer=null}};Q.extension={type:[l.WebGLSystem,l.WebGPUSystem],name:"textureGC"};Q.defaultOptions={textureGCActive:!0,textureGCAMaxIdle:null,textureGCMaxIdle:3600,textureGCCheckCountMax:600};let Rt=Q;const De=class Ee{constructor(e={}){if(this.uid=tt("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=!1,this._size=new Float32Array(2),this._managedColorTextures=!1,e={...Ee.defaultOptions,...e},this.stencil=e.stencil,this.depth=e.depth,this.isRoot=e.isRoot,typeof e.colorTextures=="number"){this._managedColorTextures=!0;for(let t=0;t<e.colorTextures;t++)this.colorTextures.push(new v({width:e.width,height:e.height,resolution:e.resolution,antialias:e.antialias}))}else{this.colorTextures=[...e.colorTextures.map(r=>r.source)];const t=this.colorTexture.source;this.resize(t.width,t.height,t._resolution)}this.colorTexture.source.on("resize",this.onSourceResize,this),(e.depthStencilTexture||this.stencil)&&(e.depthStencilTexture instanceof f||e.depthStencilTexture instanceof v?this.depthStencilTexture=e.depthStencilTexture.source:this.ensureDepthStencilTexture())}get size(){const e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.colorTexture.source.width}get height(){return this.colorTexture.source.height}get pixelWidth(){return this.colorTexture.source.pixelWidth}get pixelHeight(){return this.colorTexture.source.pixelHeight}get resolution(){return this.colorTexture.source._resolution}get colorTexture(){return this.colorTextures[0]}onSourceResize(e){this.resize(e.width,e.height,e._resolution,!0)}ensureDepthStencilTexture(){this.depthStencilTexture||(this.depthStencilTexture=new v({width:this.width,height:this.height,resolution:this.resolution,format:"depth24plus-stencil8",autoGenerateMipmaps:!1,antialias:!1,mipLevelCount:1}))}resize(e,t,r=this.resolution,s=!1){this.dirtyId++,this.colorTextures.forEach((n,i)=>{s&&i===0||n.source.resize(e,t,r)}),this.depthStencilTexture&&this.depthStencilTexture.source.resize(e,t,r)}destroy(){this.colorTexture.source.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorTextures.forEach(e=>{e.destroy()}),this.depthStencilTexture&&(this.depthStencilTexture.destroy(),delete this.depthStencilTexture)}};De.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:!1,depth:!1,antialias:!1,isRoot:!1};let F=De;const b=new Map;rt.register(b);function Oe(a,e){if(!b.has(a)){const t=new f({source:new O({resource:a,...e})}),r=()=>{b.get(a)===t&&b.delete(a)};t.once("destroy",r),t.source.once("destroy",r),b.set(a,t)}return b.get(a)}const Z=class Le{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e)}init(e){e={...Le.defaultOptions,...e},e.view&&(p(st,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new B(0,0,e.width,e.height),this.canvas=e.canvas||N.get().createCanvas(),this.antialias=!!e.antialias,this.texture=Oe(this.canvas,e),this.renderTarget=new F({colorTextures:[this.texture],depth:!!e.depth,isRoot:!0}),this.texture.source.transparent=e.backgroundAlpha<1,this.resolution=e.resolution}resize(e,t,r){this.texture.source.resize(e,t,r),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height}destroy(e=!1){(typeof e=="boolean"?e:!!(e!=null&&e.removeView))&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.texture.destroy()}};Z.extension={type:[l.WebGLSystem,l.WebGPUSystem,l.CanvasSystem],name:"view",priority:0};Z.defaultOptions={width:800,height:600,autoDensity:!1,antialias:!1};let St=Z;const Gt=[mt,Ue,J,St,Se,yt,Rt,Be,gt,nt,Mt,Ae],Ut=[ke,_e,Ce,ye,xe,Te,be,ve];function wt(a,e,t,r,s,n){const i=n?1:-1;return a.identity(),a.a=1/r*2,a.d=i*(1/s*2),a.tx=-1-e*a.a,a.ty=-i-t*a.d,a}function Pt(a){const e=a.colorTexture.source.resource;return globalThis.HTMLCanvasElement&&e instanceof HTMLCanvasElement&&document.body.contains(e)}class At{constructor(e){this.rootViewPort=new B,this.viewport=new B,this.mipLevel=0,this.layer=0,this.onRenderTargetChange=new at("onRenderTargetChange"),this.projectionMatrix=new m,this.defaultClearColor=[0,0,0,0],this._renderSurfaceToRenderTargetHash=new Map,this._gpuRenderTargetHash=Object.create(null),this._renderTargetStack=[],this._renderer=e,e.gc.addCollection(this,"_gpuRenderTargetHash","hash")}finishRenderPass(){this.adaptor.finishRenderPass(this.renderTarget)}renderStart({target:e,clear:t,clearColor:r,frame:s,mipLevel:n,layer:i}){var o,d;this._renderTargetStack.length=0,this.push(e,t,r,s,n??0,i??0),this.rootViewPort.copyFrom(this.viewport),this.rootRenderTarget=this.renderTarget,this.renderingToScreen=Pt(this.rootRenderTarget),(d=(o=this.adaptor).prerender)==null||d.call(o,this.rootRenderTarget)}postrender(){var e,t;(t=(e=this.adaptor).postrender)==null||t.call(e,this.rootRenderTarget)}bind(e,t=!0,r,s,n=0,i=0){const o=this.getRenderTarget(e),d=this.renderTarget!==o;this.renderTarget=o,this.renderSurface=e;const c=this.getGpuRenderTarget(o);(o.pixelWidth!==c.width||o.pixelHeight!==c.height)&&(this.adaptor.resizeGpuRenderTarget(o),c.width=o.pixelWidth,c.height=o.pixelHeight);const h=o.colorTexture,u=this.viewport,G=h.arrayLayerCount||1;if((i|0)!==i&&(i|=0),i<0||i>=G)throw new Error(`[RenderTargetSystem] layer ${i} is out of bounds (arrayLayerCount=${G}).`);this.mipLevel=n|0,this.layer=i|0;const _=Math.max(h.pixelWidth>>n,1),x=Math.max(h.pixelHeight>>n,1);if(!s&&e instanceof f&&(s=e.frame),s){const C=h._resolution,k=1<<Math.max(n|0,0),He=s.x*C+.5|0,Fe=s.y*C+.5|0,We=s.width*C+.5|0,ze=s.height*C+.5|0;let M=Math.floor(He/k),R=Math.floor(Fe/k),U=Math.ceil(We/k),A=Math.ceil(ze/k);M=Math.min(Math.max(M,0),_-1),R=Math.min(Math.max(R,0),x-1),U=Math.min(Math.max(U,1),_-M),A=Math.min(Math.max(A,1),x-R),u.x=M,u.y=R,u.width=U,u.height=A}else u.x=0,u.y=0,u.width=_,u.height=x;return wt(this.projectionMatrix,0,0,u.width/h.resolution,u.height/h.resolution,!o.isRoot),this.adaptor.startRenderPass(o,t,r,u,n,i),d&&this.onRenderTargetChange.emit(o),o}clear(e,t=D.ALL,r,s=this.mipLevel,n=this.layer){t&&(e&&(e=this.getRenderTarget(e)),this.adaptor.clear(e||this.renderTarget,t,r,this.viewport,s,n))}contextChange(){this._gpuRenderTargetHash=Object.create(null)}push(e,t=D.ALL,r,s,n=0,i=0){const o=this.bind(e,t,r,s,n,i);return this._renderTargetStack.push({renderTarget:o,frame:s,mipLevel:n,layer:i}),o}pop(){this._renderTargetStack.pop();const e=this._renderTargetStack[this._renderTargetStack.length-1];this.bind(e.renderTarget,!1,null,e.frame,e.mipLevel,e.layer)}getRenderTarget(e){return e.isTexture&&(e=e.source),this._renderSurfaceToRenderTargetHash.get(e)??this._initRenderTarget(e)}copyToTexture(e,t,r,s,n){r.x<0&&(s.width+=r.x,n.x-=r.x,r.x=0),r.y<0&&(s.height+=r.y,n.y-=r.y,r.y=0);const{pixelWidth:i,pixelHeight:o}=e;return s.width=Math.min(s.width,i-r.x),s.height=Math.min(s.height,o-r.y),this.adaptor.copyToTexture(e,t,r,s,n)}ensureDepthStencil(){this.renderTarget.stencil||(this.renderTarget.stencil=!0,this.adaptor.startRenderPass(this.renderTarget,!1,null,this.viewport,0,this.layer))}destroy(){this._renderer=null,this._renderSurfaceToRenderTargetHash.forEach((e,t)=>{e!==t&&e.destroy()}),this._renderSurfaceToRenderTargetHash.clear(),this._gpuRenderTargetHash=Object.create(null)}_initRenderTarget(e){let t=null;return O.test(e)&&(e=Oe(e).source),e instanceof F?t=e:e instanceof v&&(t=new F({colorTextures:[e]}),e.source instanceof O&&(t.isRoot=!0),e.once("destroy",()=>{t.destroy(),this._renderSurfaceToRenderTargetHash.delete(e);const r=this._gpuRenderTargetHash[t.uid];r&&(this._gpuRenderTargetHash[t.uid]=null,this.adaptor.destroyGpuRenderTarget(r))})),this._renderSurfaceToRenderTargetHash.set(e,t),t}getGpuRenderTarget(e){return this._gpuRenderTargetHash[e.uid]||(this._gpuRenderTargetHash[e.uid]=this.adaptor.initGpuRenderTarget(e))}resetState(){this.renderTarget=null,this.renderSurface=null}}export{xe as A,ke as B,ve as C,At as R,Gt as S,_e as a,Ce as b,ye as c,Ut as d};
@@ -1 +0,0 @@
1
- import{r as d,u as W,j as Z}from"./index-DPwnElYV.js";import{S as $,O as tt,W as et,B as k,a as z,P as ot,C as nt,b as st,L as it,c as rt,V as _}from"./three-BZk_I9Ly.js";const m=60,q=120,V=40;function at(){try{const g=document.createElement("canvas");return!!(g.getContext("webgl2")||g.getContext("webgl"))}catch{return!1}}function pt({opacity:g=1}){const T=d.useRef(null),G=d.useRef(0),R=d.useRef({x:0,y:0}),U=d.useRef(W.getState().theme),[S]=d.useState(()=>at());return d.useEffect(()=>W.subscribe(u=>{U.current=u.theme}),[]),d.useEffect(()=>{if(!S)return;const n=T.current;if(!n)return;const u=n.clientWidth,b=n.clientHeight,N=new $,C=new tt(0,u,0,b,-100,100),c=new et({alpha:!0,antialias:!0});c.setSize(u,b),c.setPixelRatio(Math.min(window.devicePixelRatio,2)),n.appendChild(c.domElement);const r=[],v=new k,M=new Float32Array(m*3);for(let e=0;e<m;e++){const s=Math.random()*u,p=Math.random()*b,E=(Math.random()-.5)*.3,L=(Math.random()-.5)*.3;r.push({position:new _(s,p,0),velocity:new _(E,L,0),baseY:p}),M[e*3]=s,M[e*3+1]=p,M[e*3+2]=0}v.setAttribute("position",new z(M,3));const A=new ot({size:2,color:new nt("#007acc"),transparent:!0,opacity:.6,sizeAttenuation:!1}),H=new st(v,A);N.add(H);const a=new k,j=m*m,Y=new Float32Array(j*6),X=new Float32Array(j*6);a.setAttribute("position",new z(Y,3)),a.setAttribute("color",new z(X,3));const P=new it({vertexColors:!0,transparent:!0,opacity:.12,depthTest:!1}),J=new rt(a,P);N.add(J);const D=e=>{const s=n.getBoundingClientRect();R.current.x=e.clientX-s.left,R.current.y=e.clientY-s.top};n.addEventListener("mousemove",D);let F=0;const I=()=>{G.current=requestAnimationFrame(I),F+=.005;const e=U.current==="dark",s=0,p=.478,E=.8;A.color.setRGB(s,p,E),A.opacity=e?.5:.35,P.opacity=e?.08:.05;const L=v.attributes.position.array,K=R.current.x,Q=R.current.y;for(let o=0;o<m;o++){const t=r[o];t.position.x+=t.velocity.x,t.position.y+=t.velocity.y+Math.sin(F+o*.1)*.08;const y=K-t.position.x,h=Q-t.position.y,l=Math.sqrt(y*y+h*h);l<200&&l>1&&(t.position.x+=y/l*V*.005,t.position.y+=h/l*V*.005),t.position.x<-10&&(t.position.x=u+10),t.position.x>u+10&&(t.position.x=-10),t.position.y<-10&&(t.position.y=b+10),t.position.y>b+10&&(t.position.y=-10),L[o*3]=t.position.x,L[o*3+1]=t.position.y}v.attributes.position.needsUpdate=!0;let B=0;const f=a.attributes.position.array,x=a.attributes.color.array;for(let o=0;o<m;o++)for(let t=o+1;t<m;t++){const y=r[o].position.x-r[t].position.x,h=r[o].position.y-r[t].position.y,l=Math.sqrt(y*y+h*h);if(l<q){const w=1-l/q,i=B*6;f[i]=r[o].position.x,f[i+1]=r[o].position.y,f[i+2]=0,f[i+3]=r[t].position.x,f[i+4]=r[t].position.y,f[i+5]=0,x[i]=s*w,x[i+1]=p*w,x[i+2]=E*w,x[i+3]=s*w,x[i+4]=p*w,x[i+5]=E*w,B++}}a.setDrawRange(0,B*2),a.attributes.position.needsUpdate=!0,a.attributes.color.needsUpdate=!0,c.render(N,C)};I();const O=()=>{const e=n.clientWidth,s=n.clientHeight;C.right=e,C.bottom=s,C.updateProjectionMatrix(),c.setSize(e,s)};return window.addEventListener("resize",O),()=>{cancelAnimationFrame(G.current),n.removeEventListener("mousemove",D),window.removeEventListener("resize",O),c.dispose(),v.dispose(),A.dispose(),a.dispose(),P.dispose(),n.contains(c.domElement)&&n.removeChild(c.domElement)}},[S]),S?Z.jsxDEV("div",{ref:T,style:{position:"absolute",inset:0,zIndex:0,pointerEvents:"auto",opacity:g}},void 0,!1,{fileName:"/Users/thuliobittencourt/Documents/Projetos/ExpxAgents_2/dashboard/src/components/ThreeBackground.tsx",lineNumber:225,columnNumber:5},this):null}export{pt as ThreeBackground};
@@ -1,156 +0,0 @@
1
- import{D as R,I as F,l as d,K as P,f as B,w as p,g as z,a4 as ye,a0 as O,T as S,as as Ce,V as q,at as Ne,S as g,aj as V,t as y,Q as C,W as M,M as Z,au as Q,av as De,aw as J,ax as Ie,ay as Ge,A as Ue,R as Fe,v as A}from"./index-DPwnElYV.js";import{e as Pe,G as Oe,c as Me,b as Le,U as we,B as ee,d as N,f as te,g as He}from"./BufferResource-RMf3hLtL.js";import{R as Ve,S as Xe,d as ke}from"./RenderTargetSystem-Du3lfljq.js";function We(){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,i=this._didUploadHash[n.uid];s.shader.bind(n,i),i||(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 i=0;i<r.textures.count;i++)n.texture.bind(s[i],i);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 je{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 i=this._boundBufferBases[s];if(i&&i._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:i}=this;n||(n=0),r||(r=0),this._boundBufferBases[r]=null,i.bindBufferRange(i.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,i=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,i)):(n.byteLength=e.descriptor.size,r.bufferData(n.type,n.byteLength,i)),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 je(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&&(p("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,i=e.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(e.preferWebGLVersion,{alpha:n,premultipliedAlpha:s,antialias:i,stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:e.powerPreference??"default"})}}ensureCanvasSize(e){if(!this.multiView){e!==this.canvas&&p("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(()=>{var r;this.gl.isContextLost()&&((r=this.extensions.loseContext)==null||r.restoreContext())},0))}handleContextRestored(){this.getExtensions(),this._renderer.runners.contextChange.emit(this.gl)}destroy(){var r;const e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),(r=this.extensions.loseContext)==null||r.loseContext()}forceContextLoss(){var e;(e=this.extensions.loseContext)==null||e.loseContext(),this._contextLossForced=!0}validateContext(e){const r=e.getContextAttributes();r&&!r.stencil&&p("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const n=this.supports,s=this.webGLVersion===2,i=this.extensions;n.uint32Indices=s||!!i.uint32ElementIndex,n.uniformBufferObject=s,n.vertexArrayObject=s||!!i.vertexArrayObject,n.srgbTextures=s||!!i.srgb,n.nonPowOf2wrapping=s,n.nonPowOf2mipmaps=s,n.msaa=s,n.uint32Indices||p("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 Ke=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 $e(t){return X[t]??X.float32}const Ye={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5};class ze{constructor(){this.vaoCache=Object.create(null)}destroy(){this.vaoCache=Object.create(null)}}class ie{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,i,a,o)=>{n.drawArraysInstancedANGLE(s,i,a,o)},e.drawElementsInstanced=(s,i,a,o,u)=>{n.drawElementsInstancedANGLE(s,i,a,o,u)},e.vertexAttribDivisor=(s,i)=>n.vertexAttribDivisorANGLE(s,i)),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 i in s)if(!n[i])throw new Error(`shader and geometry incompatible, geometry missing the "${i}" attribute`)}getSignature(e,r){const n=e.attributes,s=r._attributeData,i=["g",e.uid];for(const a in n)s[a]&&i.push(a,s[a].location);return i.join("-")}getVao(e,r){var n;return((n=e._gpuData[this._renderer.uid])==null?void 0:n.vaoCache[r._key])||this.initGeometryVao(e,r)}initGeometryVao(e,r,n=!0){const s=this._renderer.gl,i=this._renderer.buffer;this._renderer.shader._getProgramData(r),this.checkCompatibility(e,r);const a=this.getSignature(e,r);let o=e._gpuData[this._renderer.uid];o||(o=new ze,e._gpuData[this._renderer.uid]=o,this._managedGeometries.add(e));const u=o.vaoCache;let c=u[a];if(c)return u[r._key]=c,c;Pe(e,r._attributeData);const _=e.buffers;c=s.createVertexArray(),s.bindVertexArray(c);for(let f=0;f<_.length;f++){const h=_[f];i.bind(h)}return this.activateVao(e,r),u[r._key]=c,u[a]=c,s.bindVertexArray(null),c}onGeometryUnload(e,r=!1){const n=e._gpuData[this._renderer.uid];if(!n)return;const s=n.vaoCache;if(!r)for(const i in s)this._activeVao!==s[i]&&this.resetState(),this.gl.deleteVertexArray(s[i])}destroyAll(e=!1){this._managedGeometries.removeAll(e)}activateVao(e,r){var o;const n=this._renderer.gl,s=this._renderer.buffer,i=e.attributes;e.indexBuffer&&s.bind(e.indexBuffer);let a=null;for(const u in i){const c=i[u],_=c.buffer,f=s.getGlBuffer(_),h=r._attributeData[u];if(h){a!==f&&(s.bind(_),a=f);const m=h.location;n.enableVertexAttribArray(m);const b=z(c.format),E=$e(c.format);if(((o=h.format)==null?void 0:o.substring(1,4))==="int"?n.vertexAttribIPointer(m,b.size,E,c.stride,c.offset):n.vertexAttribPointer(m,b.size,E,b.normalised,c.stride,c.offset),c.instance)if(this.hasInstance){const Be=c.divisor??1;n.vertexAttribDivisor(m,Be)}else throw new Error("geometry error, GPU Instancing is not supported on this device")}}}draw(e,r,n,s){const{gl:i}=this._renderer,a=this._activeGeometry,o=Ye[e||a.topology];if(s??(s=a.instanceCount),a.indexBuffer){const u=a.indexBuffer.data.BYTES_PER_ELEMENT,c=u===2?i.UNSIGNED_SHORT:i.UNSIGNED_INT;s!==1?i.drawElementsInstanced(o,r||a.indexBuffer.data.length,c,(n||0)*u,s):i.drawElements(o,r||a.indexBuffer.data.length,c,(n||0)*u)}else s!==1?i.drawArraysInstanced(o,n||0,r||a.getSize(),s):i.drawArrays(o,n||0,r||a.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}}ie.extension={type:[d.WebGLSystem],name:"geometry"};const qe=new Ce({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),H=class ae{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(e={}){const{useBackBuffer:r,antialias:n}={...ae.defaultOptions,...e};this.useBackBuffer=r,this._antialias=n,this._renderer.context.supports.msaa||(p("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=F.for2d();const s=new ye({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:qe,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 Ze=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:i,skipSync:a,topology:o,size:u,start:c,instanceCount:_}=e;r.shader.bind(s,a),r.geometry.bind(n,r.shader._activeProgram),i&&r.state.set(i),r.geometry.draw(o,u,c,_??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 Qe{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,i=Oe[e],a=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!==a.stencilMode||a.stencilReference!==r)&&(a.stencilMode=e,a.stencilReference=r,s.stencilFunc(this._comparisonFuncMapping[i.stencilBack.compare],r,255),s.stencilOp(s.KEEP,s.KEEP,this._stencilOpsMapping[i.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(i=>({data:i,offset:0,size:0})),r=16;let n=0,s=0;for(let i=0;i<e.length;i++){const a=e[i];if(n=fe[a.data.type],!n)throw new Error(`Unknown type ${a.data.type}`);a.data.size>1&&(n=Math.max(n,r)*a.data.size);const o=n===12?16:n;a.size=n;const u=s%r;u>0&&r-u<o?s+=(r-u)%16:s+=(n-u%n)%n,a.offset=s,s+=n}return s=Math.ceil(s/16)*16,{uboElements:e,size:s}}function et(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,i=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
- ${i}[arrayOffset++] = v[t++];
33
- }
34
- ${s!==0?`arrayOffset += ${s};`:""}
35
- }
36
- `}function tt(t){return Me(t,"uboStd40",et,Le)}class he extends we{constructor(){super({createUboElements:Je,generateUboSync:tt})}}he.extension={type:[d.WebGLSystem],name:"ubo"};class rt{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,i){const a=this._renderTargetSystem,o=this._renderer,u=a.getGpuRenderTarget(e),c=o.gl;return this.finishRenderPass(e),c.bindFramebuffer(c.FRAMEBUFFER,u.resolveTargetFramebuffer),o.texture.bind(r,0),c.copyTexSubImage2D(c.TEXTURE_2D,0,i.x,i.y,n.x,n.y,s.width,s.height),r}startRenderPass(e,r=!0,n,s,i=0,a=0){const o=this._renderTargetSystem,u=e.colorTexture,c=o.getGpuRenderTarget(e);if(a!==0&&this._renderer.context.webGLVersion<2)throw new Error("[RenderTargetSystem] Rendering to array layers requires WebGL2.");if(i>0){if(c.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&&(_=u.pixelHeight-s.height-s.y),e.colorTextures.forEach(m=>{this._renderer.texture.unbind(m)});const f=this._renderer.gl;f.bindFramebuffer(f.FRAMEBUFFER,c.framebuffer),!e.isRoot&&(c._attachedMipLevel!==i||c._attachedLayer!==a)&&(e.colorTextures.forEach((m,b)=>{const E=this._renderer.texture.getGlSource(m);if(E.target===f.TEXTURE_2D){if(a!==0)throw new Error("[RenderTargetSystem] layer must be 0 when rendering to 2D textures in WebGL.");f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0+b,f.TEXTURE_2D,E.texture,i)}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+b,E.texture,i,a)}else if(E.target===f.TEXTURE_CUBE_MAP){if(a<0||a>5)throw new Error("[RenderTargetSystem] Cube map layer must be between 0 and 5.");f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0+b,f.TEXTURE_CUBE_MAP_POSITIVE_X+a,E.texture,i)}else throw new Error("[RenderTargetSystem] Unsupported texture target for render-to-layer in WebGL.")}),c._attachedMipLevel=i,c._attachedLayer=a),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)),!c.depthStencilRenderBuffer&&(e.stencil||e.depth)&&this._initStencil(c),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 Qe;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,i=0,a=0){if(!r)return;if(a!==0)throw new Error("[RenderTargetSystem] Clearing array layers is not supported in WebGL renderer.");const o=this._renderTargetSystem;typeof r=="boolean"&&(r=r?C.ALL:C.NONE);const u=this._renderer.gl;if(r&C.COLOR){n??(n=o.defaultClearColor);const c=this._clearColorCache,_=n;(c[0]!==_[0]||c[1]!==_[1]||c[2]!==_[2]||c[3]!==_[3])&&(c[0]=_[0],c[1]=_[1],c[2]=_[2],c[3]=_[3],u.clearColor(_[0],_[1],_[2],_[3]))}u.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,i=s.createFramebuffer();if(r.resolveTargetFramebuffer=i,s.bindFramebuffer(s.FRAMEBUFFER,i),r.width=e.colorTexture.source.pixelWidth,r.height=e.colorTexture.source.pixelHeight,e.colorTextures.forEach((o,u)=>{const c=o.source;c.antialias&&(n.context.supports.msaa?r.msaa=!0:p("[RenderTexture] Antialiasing on textures is not supported in WebGL1")),n.texture.bindSource(c,0);const _=n.texture.getGlSource(c),f=_.texture;if(_.target===s.TEXTURE_2D)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+u,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+u,f,0,0)}else if(_.target===s.TEXTURE_CUBE_MAP)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+u,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((u,c)=>{const _=s.createRenderbuffer();r.msaaRenderBuffer[c]=_})}else r.framebuffer=i;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,i)=>{i!==0&&s.source.resize(n.width,n.height,n._resolution)}),r.msaa){const s=this._renderer,i=s.gl,a=r.framebuffer;i.bindFramebuffer(i.FRAMEBUFFER,a),e.colorTextures.forEach((o,u)=>{const c=o.source;s.texture.bindSource(c,0);const f=s.texture.getGlSource(c).internalFormat,h=r.msaaRenderBuffer[u];i.bindRenderbuffer(i.RENDERBUFFER,h),i.renderbufferStorageMultisample(i.RENDERBUFFER,4,f,c.pixelWidth,c.pixelHeight),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+u,i.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 i=this._renderer.context.extensions.drawBuffers;i?i.drawBuffersWEBGL(s):p("[RenderTexture] This WebGL1 context does not support rendering to multiple targets")}else r.drawBuffers(s)}}class le extends Ve{constructor(e){super(e),this.adaptor=new rt,this.adaptor.init(e,this)}}le.extension={type:[d.WebGLSystem],name:"renderTarget"};function nt(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,i=0;const a=e._getProgramData(t.glProgram);for(const u in t.groups){const c=t.groups[u];r.push(`
43
- resources = g[${u}].resources;
44
- `);for(const _ in c.resources){const f=c.resources[_];if(f instanceof M)if(f.ubo){const h=t._uniformBindMap[u][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[u][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[u][_],m=a.uniformData[h];m&&(s||(s=!0,n.push(`
59
- var tS = r.texture;
60
- `)),e._gl.uniform1i(m.location,i),r.push(`
61
- tS.bind(resources[${_}], ${i});
62
- `),i++)}}}const o=[...n,...r].join(`
63
- `);return new Function("r","s","sD",o)}class st{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"},it={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 it[r]||"float32"}function ot(t,e,r=!1){const n={},s=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let a=0;a<s;a++){const o=e.getActiveAttrib(t,a);if(o.name.startsWith("gl_"))continue;const u=at(e,o.type);n[o.name]={location:0,format:u,stride:z(u).stride,offset:0,instance:!1,start:0}}const i=Object.keys(n);if(r){i.sort((a,o)=>a>o?1:-1);for(let a=0;a<i.length;a++)n[i[a]].location=a,e.bindAttribLocation(t,a,i[a]);e.linkProgram(t)}else for(let a=0;a<i.length;a++)n[i[a]].location=e.getAttribLocation(t,i[a]);return n}function ct(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 i=e.getActiveUniformBlockName(t,s),a=e.getUniformBlockIndex(t,i),o=e.getActiveUniformBlockParameter(t,s,e.UNIFORM_BLOCK_DATA_SIZE);r[i]={name:i,index:a,size:o}}return r}function ut(t,e){const r={},n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<n;s++){const i=e.getActiveUniform(t,s),a=i.name.replace(/\[.*?\]$/,""),o=!!i.name.match(/\[.*?\]$/),u=me(e,i.type);r[a]={name:a,index:s,type:u,size:i.size,isArray:o,value:de(u,i.size)}}return r}function j(t,e){const r=t.getShaderSource(e).split(`
64
- `).map((c,_)=>`${_}: ${c}`),n=t.getShaderInfoLog(e),s=n.split(`
65
- `),i={},a=s.map(c=>parseFloat(c.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(c=>c&&!i[c]?(i[c]=!0,!0):!1),o=[""];a.forEach(c=>{r[c-1]=`%c${r[c-1]}%c`,o.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});const u=r.join(`
66
- `);o[0]=u,console.error(n),console.groupCollapsed("click to view full shader code"),console.warn(...o),console.groupEnd()}function _t(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 ft(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 i=e.transformFeedbackVaryings;i&&(typeof t.transformFeedbackVaryings!="function"?p("TransformFeedback is not supported but TransformFeedbackVaryings are given."):t.transformFeedbackVaryings(s,i.names,i.bufferMode==="separate"?t.SEPARATE_ATTRIBS:t.INTERLEAVED_ATTRIBS)),t.linkProgram(s),t.getProgramParameter(s,t.LINK_STATUS)||_t(t,s,r,n),e._attributeData=ot(s,t,!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(e.vertex)),e._uniformData=ut(s,t),e._uniformBlockData=ct(s,t),t.deleteShader(r),t.deleteShader(n);const a={};for(const u in e._uniformData){const c=e._uniformData[u];a[u]={location:t.getUniformLocation(s,u),value:de(c.type,c.size)}}return new st(s,a)}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,i=this._getProgramData(this._activeProgram),a=e._bufferResource;a||this._renderer.ubo.updateUniformGroup(e);const o=e.buffer,u=s.updateBuffer(o),c=s.freeLocationForBufferBase(u);if(a){const{offset:f,size:h}=e;f===0&&h===o.data.byteLength?s.bindBufferBase(u,c):s.bindBufferRange(u,c,f)}else s.getLastBindBaseLocation(u)!==c&&s.bindBufferBase(u,c);const _=this._activeProgram._uniformBlockData[r].index;i.uniformBlockBindings[n]!==c&&(i.uniformBlockBindings[n]=c,this._renderer.gl.uniformBlockBinding(i.program,_,c))}_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]=ft(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 nt(e,r)}resetState(){this._activeProgram=null}}Ee.extension={type:[d.WebGLSystem],name:"shader"};const ht={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);"},lt={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 dt(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 i=!1;for(let a=0;a<N.length;a++){const o=N[a];if(s.type===o.type&&o.test(s)){r.push(`name = "${n}";`,N[a].uniform),i=!0;break}}if(!i){const o=(s.size===1?ht:lt)[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){var n;return((n=this._uniformGroupSyncHash[e._signature])==null?void 0:n[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 dt(e,r)}_getSignature(e,r,n){const s=e.uniforms,i=[`${n}-`];for(const a in s)i.push(a),r[a]&&i.push(r[a].type);return i.join("-")}destroy(){this._renderer=null,this._cache=null}}be.extension={type:[d.WebGLSystem],name:"uniformGroup"};function mt(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 Et=0,bt=1,pt=2,St=3,Rt=4,gt=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[Et]=this.setBlend,this.map[bt]=this.setOffset,this.map[pt]=this.setCullFace,this.map[St]=this.setDepthTest,this.map[Rt]=this.setFrontFace,this.map[gt]=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=mt(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 Tt=pe;class xt{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 vt={id:"buffer",upload(t,e,r,n,s,i=!1){const a=s||e.target;!i&&e.width===t.width&&e.height===t.height?r.texSubImage2D(a,0,0,0,t.width,t.height,e.format,e.type,t.resource):r.texImage2D(a,0,e.internalFormat,t.width,t.height,0,e.format,e.type,t.resource),e.width=t.width,e.height=t.height}},At={"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},Bt={id:"compressed",upload(t,e,r,n,s,i){const a=s??e.target;r.pixelStorei(r.UNPACK_ALIGNMENT,4);let o=t.pixelWidth,u=t.pixelHeight;const c=!!At[t.format];for(let _=0;_<t.resource.length;_++){const f=t.resource[_];c?r.compressedTexImage2D(a,_,e.internalFormat,o,u,0,f):r.texImage2D(a,_,e.internalFormat,o,u,0,e.format,e.type,f),o=Math.max(o>>1,1),u=Math.max(u>>1,1)}}},K=["right","left","top","bottom","front","back"];function yt(t){return{id:"cube",upload(e,r,n,s){const i=e.faces;for(let a=0;a<K.length;a++){const o=K[a],u=i[o];(t[u.uploadMethodId]||t.image).upload(u,r,n,s,w.TEXTURE_CUBE_MAP_POSITIVE_X+a,(r._layerInitMask&1<<a)===0),r._layerInitMask|=1<<a}r.width=e.pixelWidth,r.height=e.pixelHeight}}}const Se={id:"image",upload(t,e,r,n,s,i=!1){const a=s||e.target,o=t.pixelWidth,u=t.pixelHeight,c=t.resourceWidth,_=t.resourceHeight,f=n===2,h=i||e.width!==o||e.height!==u,m=c>=o&&_>=u,b=t.resource;(f?Ct:Nt)(r,a,e,o,u,c,_,b,h,m),e.width=o,e.height=u}};function Ct(t,e,r,n,s,i,a,o,u,c){if(!c){u&&t.texImage2D(e,0,r.internalFormat,n,s,0,r.format,r.type,null),t.texSubImage2D(e,0,0,0,i,a,r.format,r.type,o);return}if(!u){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,i,a,o,u,c){if(!c){u&&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(!u){t.texSubImage2D(e,0,0,0,r.format,r.type,o);return}t.texImage2D(e,0,r.internalFormat,r.format,r.type,o)}const Dt=We(),It={id:"video",upload(t,e,r,n,s,i=Dt){if(!t.isValid){const a=s??e.target;r.texImage2D(a,0,e.internalFormat,1,1,0,e.format,e.type,null);return}Se.upload(t,e,r,n,s,i)}},$={linear:9729,nearest:9728},Gt={linear:{linear:9987,nearest:9985},nearest:{linear:9986,nearest:9984}},I={"clamp-to-edge":33071,repeat:10497,"mirror-repeat":33648},Ut={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,i,a,o){const u=i;if(!o||t.addressModeU!=="repeat"||t.addressModeV!=="repeat"||t.addressModeW!=="repeat"){const c=I[a?"clamp-to-edge":t.addressModeU],_=I[a?"clamp-to-edge":t.addressModeV],f=I[a?"clamp-to-edge":t.addressModeW];e[s](u,e.TEXTURE_WRAP_S,c),e[s](u,e.TEXTURE_WRAP_T,_),e.TEXTURE_WRAP_R&&e[s](u,e.TEXTURE_WRAP_R,f)}if((!o||t.magFilter!=="linear")&&e[s](u,e.TEXTURE_MAG_FILTER,$[t.magFilter]),r){if(!o||t.mipmapFilter!=="linear"){const c=Gt[t.minFilter][t.mipmapFilter];e[s](u,e.TEXTURE_MIN_FILTER,c)}}else e[s](u,e.TEXTURE_MIN_FILTER,$[t.minFilter]);if(n&&t.maxAnisotropy>1){const c=Math.min(t.maxAnisotropy,e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));e[s](u,n.TEXTURE_MAX_ANISOTROPY_EXT,c)}t.compare&&e[s](u,e.TEXTURE_COMPARE_FUNC,Ut[t.compare])}function Ft(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 Pt(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 Ot(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 Mt(t){return{"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP,"1d":null,"3d":(t==null?void 0:t.TEXTURE_3D)||null,"2d-array":(t==null?void 0:t.TEXTURE_2D_ARRAY)||null,"cube-array":(t==null?void 0:t.TEXTURE_CUBE_MAP_ARRAY)||null}}const Lt=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:vt,video:It,compressed:Bt};this._uploads={...r,cube:yt(r)}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gl=e,this._mapFormatToInternalFormat||(this._mapFormatToInternalFormat=Pt(e,this._renderer.context.extensions),this._mapFormatToType=Ot(e),this._mapFormatToFormat=Ft(e),this._mapViewDimensionToGlTarget=Mt(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 i=0;i<n.length;i++)if(n[i]===r){this._activateLocation(i);const a=this.getGlSource(r);s.bindTexture(a.target,null),n[i]=null}}_activateLocation(e){this._activeTextureLocation!==e&&(this._activeTextureLocation=e,this._gl.activeTexture(this._gl.TEXTURE0+e))}_initSource(e){const r=this._gl,n=new xt(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 i=Math.max(e.width,e.height);e.mipLevelCount=Math.floor(Math.log2(i))+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),i=Math.max(r.pixelHeight>>1,1);for(let a=1;a<r.mipLevelCount;a++)n.texImage2D(n.TEXTURE_2D,a,e.internalFormat,s,i,0,e.format,e.type,null),s=Math.max(s>>1,1),i=Math.max(i>>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 i=Math.max(r.pixelWidth>>1,1),a=Math.max(r.pixelHeight>>1,1);for(let o=1;o<r.mipLevelCount;o++)n.texImage3D(n.TEXTURE_2D_ARRAY,o,e.internalFormat,i,a,s,0,e.format,e.type,null),i=Math.max(i>>1,1),a=Math.max(a>>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 i=Math.max(r.pixelWidth>>1,1),a=Math.max(r.pixelHeight>>1,1);for(let o=1;o<r.mipLevelCount;o++){for(let u=0;u<s;u++)n.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+u,o,e.internalFormat,i,a,0,e.format,e.type,null);i=Math.max(i>>1,1),a=Math.max(a>>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),i=R.get().createCanvas();i.width=n,i.height=s;const a=i.getContext("2d");if(a){const o=a.createImageData(n,s);o.data.set(r),a.putImageData(o,0,0)}return i}getPixels(e){const r=e.source.resolution,n=e.frame,s=Math.max(Math.round(n.width*r),1),i=Math.max(Math.round(n.height*r),1),a=new Uint8Array(Lt*s*i),o=this._renderer,u=o.renderTarget.getRenderTarget(e),c=o.renderTarget.getGpuRenderTarget(u),_=o.gl;return _.bindFramebuffer(_.FRAMEBUFFER,c.resolveTargetFramebuffer),_.readPixels(Math.round(n.x*r),Math.round(n.y*r),s,i,_.RGBA,_.UNSIGNED_BYTE,a),{pixels:new Uint8ClampedArray(a.buffer),width:s,height:i}}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=Q({name:"graphics",bits:[De,Ie(n),te,J]});this.shader=new O({glProgram:s,resources:{localUniforms:r,batchSamplers:Ge(n)}})}execute(e,r){const n=r.context,s=n.customShader||this.shader,i=e.renderer,a=i.graphicsContext,{batcher:o,instructions:u}=a.getContextRenderData(n);s.groups[0]=i.globalUniforms.bindGroup,i.state.set(e.state),i.shader.bind(s),i.geometry.bind(o.geometry,s.glProgram);const c=u.instructions;for(let _=0;_<u.instructionSize;_++){const f=c[_];if(f.size){for(let h=0;h<f.textures.count;h++)i.texture.bind(f.textures.textures[h],h);i.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=Q({name:"mesh",bits:[te,He,J]});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){p("Mesh shader has no glProgram",r.shader);return}}else{s=this._shader;const i=r.texture,a=i.source;s.resources.uTexture=a,s.resources.uSampler=a.style,s.resources.textureUniforms.uniforms.uTextureMatrix=i.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 wt=[...Xe,he,Ze,Ke,ue,ne,Re,le,ie,be,Ee,ce,Tt,_e,oe],Ht=[...ke],Vt=[re,Te,ge],xe=[],ve=[],Ae=[];A.handleByNamedList(d.WebGLSystem,xe);A.handleByNamedList(d.WebGLPipes,ve);A.handleByNamedList(d.WebGLPipesAdaptor,Ae);A.add(...wt,...Ht,...Vt);class jt extends Ue{constructor(){const e={name:"webgl",type:Fe.WEBGL,systems:xe,renderPipes:ve,renderPipeAdaptors:Ae};super(e)}}export{jt as WebGLRenderer};