@industry-theme/repository-composition-panels 0.7.13 → 0.7.14

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 (143) hide show
  1. package/dist/{BufferResource-KoeNWrHZ.js → BufferResource-DME1VWVJ.js} +2 -2
  2. package/dist/{BufferResource-KoeNWrHZ.js.map → BufferResource-DME1VWVJ.js.map} +1 -1
  3. package/dist/{CanvasRenderer-C1moSsty.js → CanvasRenderer-Md8Ayshs.js} +3 -3
  4. package/dist/{CanvasRenderer-C1moSsty.js.map → CanvasRenderer-Md8Ayshs.js.map} +1 -1
  5. package/dist/{Filter-DcizUkPS.js → Filter-Bi2t_gmW.js} +2 -2
  6. package/dist/{Filter-DcizUkPS.js.map → Filter-Bi2t_gmW.js.map} +1 -1
  7. package/dist/{RenderTargetSystem-DjqXLF8u.js → RenderTargetSystem-D98tiHim.js} +3 -3
  8. package/dist/{RenderTargetSystem-DjqXLF8u.js.map → RenderTargetSystem-D98tiHim.js.map} +1 -1
  9. package/dist/{WebGLRenderer-BKDGlS-q.js → WebGLRenderer-2YtxQhbh.js} +4 -4
  10. package/dist/{WebGLRenderer-BKDGlS-q.js.map → WebGLRenderer-2YtxQhbh.js.map} +1 -1
  11. package/dist/{WebGPURenderer-DcCqN3bM.js → WebGPURenderer-kS6gO2Xc.js} +4 -4
  12. package/dist/{WebGPURenderer-DcCqN3bM.js.map → WebGPURenderer-kS6gO2Xc.js.map} +1 -1
  13. package/dist/{browserAll-uHRmnFVM.js → browserAll-TZZf5l7B.js} +3 -3
  14. package/dist/{browserAll-uHRmnFVM.js.map → browserAll-TZZf5l7B.js.map} +1 -1
  15. package/dist/{index-DoDkGrtt.js → index-pPFTSf2O.js} +2157 -7343
  16. package/dist/{index-DoDkGrtt.js.map → index-pPFTSf2O.js.map} +1 -1
  17. package/dist/{init-CfZgzsOo.js → init-CfSmqCnm.js} +3 -3
  18. package/dist/{init-CfZgzsOo.js.map → init-CfSmqCnm.js.map} +1 -1
  19. package/dist/panels.bundle.js +1 -1
  20. package/dist/webworkerAll-TcJuZTza.js +3 -0
  21. package/dist/webworkerAll-TcJuZTza.js.map +1 -0
  22. package/package.json +1 -1
  23. package/dist/assets/orchestrators/index.d.ts +0 -28
  24. package/dist/assets/orchestrators/index.d.ts.map +0 -1
  25. package/dist/index.d.ts +0 -35
  26. package/dist/index.d.ts.map +0 -1
  27. package/dist/mocks/panelContext.d.ts +0 -24
  28. package/dist/mocks/panelContext.d.ts.map +0 -1
  29. package/dist/panels/CollectionMapPanel.d.ts +0 -132
  30. package/dist/panels/CollectionMapPanel.d.ts.map +0 -1
  31. package/dist/panels/GitChangesPanel.d.ts +0 -48
  32. package/dist/panels/GitChangesPanel.d.ts.map +0 -1
  33. package/dist/panels/PackageCompositionPanel.d.ts +0 -37
  34. package/dist/panels/PackageCompositionPanel.d.ts.map +0 -1
  35. package/dist/panels/SearchPanel.d.ts +0 -33
  36. package/dist/panels/SearchPanel.d.ts.map +0 -1
  37. package/dist/panels/TelemetryCoveragePanel.d.ts +0 -48
  38. package/dist/panels/TelemetryCoveragePanel.d.ts.map +0 -1
  39. package/dist/panels/components/DependencyInfoModal.d.ts +0 -8
  40. package/dist/panels/components/DependencyInfoModal.d.ts.map +0 -1
  41. package/dist/panels/components/DependencyRow.d.ts +0 -8
  42. package/dist/panels/components/DependencyRow.d.ts.map +0 -1
  43. package/dist/panels/components/EmptyDependencies.d.ts +0 -7
  44. package/dist/panels/components/EmptyDependencies.d.ts.map +0 -1
  45. package/dist/panels/components/FilterBar.d.ts +0 -19
  46. package/dist/panels/components/FilterBar.d.ts.map +0 -1
  47. package/dist/panels/components/InheritedConfigIndicator.d.ts +0 -27
  48. package/dist/panels/components/InheritedConfigIndicator.d.ts.map +0 -1
  49. package/dist/panels/components/LensReadinessSection.d.ts +0 -8
  50. package/dist/panels/components/LensReadinessSection.d.ts.map +0 -1
  51. package/dist/panels/components/OrchestratorBadge.d.ts +0 -11
  52. package/dist/panels/components/OrchestratorBadge.d.ts.map +0 -1
  53. package/dist/panels/components/OtherScriptsSection.d.ts +0 -9
  54. package/dist/panels/components/OtherScriptsSection.d.ts.map +0 -1
  55. package/dist/panels/components/PackageDetailCard.d.ts +0 -18
  56. package/dist/panels/components/PackageDetailCard.d.ts.map +0 -1
  57. package/dist/panels/components/PackageLoadingGraph.d.ts +0 -3
  58. package/dist/panels/components/PackageLoadingGraph.d.ts.map +0 -1
  59. package/dist/panels/components/PackageManagerIcon.d.ts +0 -10
  60. package/dist/panels/components/PackageManagerIcon.d.ts.map +0 -1
  61. package/dist/panels/components/PackageSummaryCard.d.ts +0 -10
  62. package/dist/panels/components/PackageSummaryCard.d.ts.map +0 -1
  63. package/dist/panels/components/index.d.ts +0 -11
  64. package/dist/panels/components/index.d.ts.map +0 -1
  65. package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts +0 -20
  66. package/dist/panels/dependency-graph/DependencyGraphPanel.d.ts.map +0 -1
  67. package/dist/panels/dependency-graph/dependencyToCanvas.d.ts +0 -20
  68. package/dist/panels/dependency-graph/dependencyToCanvas.d.ts.map +0 -1
  69. package/dist/panels/dependency-graph/forceLayout.d.ts +0 -38
  70. package/dist/panels/dependency-graph/forceLayout.d.ts.map +0 -1
  71. package/dist/panels/dependency-graph/index.d.ts +0 -5
  72. package/dist/panels/dependency-graph/index.d.ts.map +0 -1
  73. package/dist/panels/overworld-map/BuildingSizeTest.d.ts +0 -11
  74. package/dist/panels/overworld-map/BuildingSizeTest.d.ts.map +0 -1
  75. package/dist/panels/overworld-map/LayoutEngineTest.d.ts +0 -24
  76. package/dist/panels/overworld-map/LayoutEngineTest.d.ts.map +0 -1
  77. package/dist/panels/overworld-map/LicenseSignTest.d.ts +0 -7
  78. package/dist/panels/overworld-map/LicenseSignTest.d.ts.map +0 -1
  79. package/dist/panels/overworld-map/OverworldMapPanel.d.ts +0 -62
  80. package/dist/panels/overworld-map/OverworldMapPanel.d.ts.map +0 -1
  81. package/dist/panels/overworld-map/PackageExpansionTest.d.ts +0 -25
  82. package/dist/panels/overworld-map/PackageExpansionTest.d.ts.map +0 -1
  83. package/dist/panels/overworld-map/RegionEditingTest.d.ts +0 -10
  84. package/dist/panels/overworld-map/RegionEditingTest.d.ts.map +0 -1
  85. package/dist/panels/overworld-map/collaboratorDecoration.d.ts +0 -38
  86. package/dist/panels/overworld-map/collaboratorDecoration.d.ts.map +0 -1
  87. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts +0 -159
  88. package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts.map +0 -1
  89. package/dist/panels/overworld-map/components/IsometricPathManager.d.ts +0 -50
  90. package/dist/panels/overworld-map/components/IsometricPathManager.d.ts.map +0 -1
  91. package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts +0 -88
  92. package/dist/panels/overworld-map/components/IsometricPixiCanvas.d.ts.map +0 -1
  93. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts +0 -141
  94. package/dist/panels/overworld-map/components/IsometricRenderer.d.ts.map +0 -1
  95. package/dist/panels/overworld-map/components/RegionTracker.d.ts +0 -62
  96. package/dist/panels/overworld-map/components/RegionTracker.d.ts.map +0 -1
  97. package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts +0 -19
  98. package/dist/panels/overworld-map/components/buildingSpriteGenerator.d.ts.map +0 -1
  99. package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts +0 -25
  100. package/dist/panels/overworld-map/components/collaboratorDecorationSprites.d.ts.map +0 -1
  101. package/dist/panels/overworld-map/components/licenseSignSprites.d.ts +0 -122
  102. package/dist/panels/overworld-map/components/licenseSignSprites.d.ts.map +0 -1
  103. package/dist/panels/overworld-map/components/starDecorationSprites.d.ts +0 -18
  104. package/dist/panels/overworld-map/components/starDecorationSprites.d.ts.map +0 -1
  105. package/dist/panels/overworld-map/genericMapper.d.ts +0 -81
  106. package/dist/panels/overworld-map/genericMapper.d.ts.map +0 -1
  107. package/dist/panels/overworld-map/index.d.ts +0 -11
  108. package/dist/panels/overworld-map/index.d.ts.map +0 -1
  109. package/dist/panels/overworld-map/isometricUtils.d.ts +0 -150
  110. package/dist/panels/overworld-map/isometricUtils.d.ts.map +0 -1
  111. package/dist/panels/overworld-map/packageExpansion.d.ts +0 -15
  112. package/dist/panels/overworld-map/packageExpansion.d.ts.map +0 -1
  113. package/dist/panels/overworld-map/spriteGenerator.d.ts +0 -53
  114. package/dist/panels/overworld-map/spriteGenerator.d.ts.map +0 -1
  115. package/dist/panels/overworld-map/spriteLayoutEngine.d.ts +0 -103
  116. package/dist/panels/overworld-map/spriteLayoutEngine.d.ts.map +0 -1
  117. package/dist/panels/overworld-map/starDecoration.d.ts +0 -37
  118. package/dist/panels/overworld-map/starDecoration.d.ts.map +0 -1
  119. package/dist/panels/overworld-map/test-setup.d.ts +0 -6
  120. package/dist/panels/overworld-map/test-setup.d.ts.map +0 -1
  121. package/dist/panels/overworld-map/types.d.ts +0 -228
  122. package/dist/panels/overworld-map/types.d.ts.map +0 -1
  123. package/dist/services/LocalSearchService.d.ts +0 -70
  124. package/dist/services/LocalSearchService.d.ts.map +0 -1
  125. package/dist/tools/index.d.ts +0 -32
  126. package/dist/tools/index.d.ts.map +0 -1
  127. package/dist/tools.bundle.js +0 -106
  128. package/dist/types/composition.d.ts +0 -22
  129. package/dist/types/composition.d.ts.map +0 -1
  130. package/dist/types/dependencies.d.ts +0 -26
  131. package/dist/types/dependencies.d.ts.map +0 -1
  132. package/dist/types/index.d.ts +0 -94
  133. package/dist/types/index.d.ts.map +0 -1
  134. package/dist/utils/envParser.d.ts +0 -29
  135. package/dist/utils/envParser.d.ts.map +0 -1
  136. package/dist/utils/licenseColors.d.ts +0 -13
  137. package/dist/utils/licenseColors.d.ts.map +0 -1
  138. package/dist/utils/repositoryAging.d.ts +0 -26
  139. package/dist/utils/repositoryAging.d.ts.map +0 -1
  140. package/dist/utils/repositoryScaling.d.ts +0 -40
  141. package/dist/utils/repositoryScaling.d.ts.map +0 -1
  142. package/dist/webworkerAll-CrM1lwcs.js +0 -3
  143. package/dist/webworkerAll-CrM1lwcs.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { G as GpuProgram, b as GlProgram, E as ExtensionType, M as Matrix, U as UniformGroup, B as BindGroup, T as TexturePool, c as Texture, d as Geometry, R as RendererType, w as warn, e as Bounds, f as extensions } from "./index-DoDkGrtt.js";
2
- import { F as Filter } from "./Filter-DcizUkPS.js";
1
+ import { G as GpuProgram, b as GlProgram, E as ExtensionType, M as Matrix, U as UniformGroup, B as BindGroup, T as TexturePool, c as Texture, d as Geometry, R as RendererType, w as warn, e as Bounds, f as extensions } from "./index-pPFTSf2O.js";
2
+ import { F as Filter } from "./Filter-Bi2t_gmW.js";
3
3
  var vertex = "in vec2 aPosition;\nout vec2 vTextureCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n";
4
4
  var fragment = "in vec2 vTextureCoord;\nout vec4 finalColor;\nuniform sampler2D uTexture;\nvoid main() {\n finalColor = texture(uTexture, vTextureCoord);\n}\n";
5
5
  var source = "struct GlobalFilterUniforms {\n uInputSize: vec4<f32>,\n uInputPixel: vec4<f32>,\n uInputClamp: vec4<f32>,\n uOutputFrame: vec4<f32>,\n uGlobalFrame: vec4<f32>,\n uOutputTexture: vec4<f32>,\n};\n\n@group(0) @binding(0) var <uniform> gfu: GlobalFilterUniforms;\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\n@group(0) @binding(2) var uSampler: sampler;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv: vec2<f32>\n};\n\nfn filterVertexPosition(aPosition: vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0 * gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord(aPosition: vec2<f32>) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\n@vertex\nfn mainVertex(\n @location(0) aPosition: vec2<f32>,\n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition)\n );\n}\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n) -> @location(0) vec4<f32> {\n return textureSample(uTexture, uSampler, uv);\n}\n";
@@ -667,4 +667,4 @@ FilterSystem.extension = {
667
667
  };
668
668
  extensions.add(FilterSystem);
669
669
  extensions.add(FilterPipe);
670
- //# sourceMappingURL=init-CfZgzsOo.js.map
670
+ //# sourceMappingURL=init-CfSmqCnm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-CfZgzsOo.js","sources":["../node_modules/pixi.js/lib/filters/defaults/defaultFilter.vert.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.frag.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.wgsl.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/PassthroughFilter.mjs","../node_modules/pixi.js/lib/filters/FilterPipe.mjs","../node_modules/pixi.js/lib/scene/container/bounds/getRenderableBounds.mjs","../node_modules/pixi.js/lib/filters/FilterSystem.mjs","../node_modules/pixi.js/lib/filters/init.mjs"],"sourcesContent":["var vertex = \"in vec2 aPosition;\\nout vec2 vTextureCoord;\\n\\nuniform vec4 uInputSize;\\nuniform vec4 uOutputFrame;\\nuniform vec4 uOutputTexture;\\n\\nvec4 filterVertexPosition( void )\\n{\\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\\n \\n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\\n\\n return vec4(position, 0.0, 1.0);\\n}\\n\\nvec2 filterTextureCoord( void )\\n{\\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\\n}\\n\\nvoid main(void)\\n{\\n gl_Position = filterVertexPosition();\\n vTextureCoord = filterTextureCoord();\\n}\\n\";\n\nexport { vertex as default };\n//# sourceMappingURL=defaultFilter.vert.mjs.map\n","var fragment = \"in vec2 vTextureCoord;\\nout vec4 finalColor;\\nuniform sampler2D uTexture;\\nvoid main() {\\n finalColor = texture(uTexture, vTextureCoord);\\n}\\n\";\n\nexport { fragment as default };\n//# sourceMappingURL=passthrough.frag.mjs.map\n","var source = \"struct GlobalFilterUniforms {\\n uInputSize: vec4<f32>,\\n uInputPixel: vec4<f32>,\\n uInputClamp: vec4<f32>,\\n uOutputFrame: vec4<f32>,\\n uGlobalFrame: vec4<f32>,\\n uOutputTexture: vec4<f32>,\\n};\\n\\n@group(0) @binding(0) var <uniform> gfu: GlobalFilterUniforms;\\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\\n@group(0) @binding(2) var uSampler: sampler;\\n\\nstruct VSOutput {\\n @builtin(position) position: vec4<f32>,\\n @location(0) uv: vec2<f32>\\n};\\n\\nfn filterVertexPosition(aPosition: vec2<f32>) -> vec4<f32>\\n{\\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\\n\\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\\n position.y = position.y * (2.0 * gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\\n\\n return vec4(position, 0.0, 1.0);\\n}\\n\\nfn filterTextureCoord(aPosition: vec2<f32>) -> vec2<f32>\\n{\\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\\n}\\n\\n@vertex\\nfn mainVertex(\\n @location(0) aPosition: vec2<f32>,\\n) -> VSOutput {\\n return VSOutput(\\n filterVertexPosition(aPosition),\\n filterTextureCoord(aPosition)\\n );\\n}\\n\\n@fragment\\nfn mainFragment(\\n @location(0) uv: vec2<f32>,\\n) -> @location(0) vec4<f32> {\\n return textureSample(uTexture, uSampler, uv);\\n}\\n\";\n\nexport { source as default };\n//# sourceMappingURL=passthrough.wgsl.mjs.map\n","import { GlProgram } from '../../../rendering/renderers/gl/shader/GlProgram.mjs';\nimport { GpuProgram } from '../../../rendering/renderers/gpu/shader/GpuProgram.mjs';\nimport { Filter } from '../../Filter.mjs';\nimport vertex from '../defaultFilter.vert.mjs';\nimport fragment from './passthrough.frag.mjs';\nimport source from './passthrough.wgsl.mjs';\n\n\"use strict\";\nclass PassthroughFilter extends Filter {\n constructor() {\n const gpuProgram = GpuProgram.from({\n vertex: { source, entryPoint: \"mainVertex\" },\n fragment: { source, entryPoint: \"mainFragment\" },\n name: \"passthrough-filter\"\n });\n const glProgram = GlProgram.from({\n vertex,\n fragment,\n name: \"passthrough-filter\"\n });\n super({\n gpuProgram,\n glProgram\n });\n }\n}\n\nexport { PassthroughFilter };\n//# sourceMappingURL=PassthroughFilter.mjs.map\n","import { ExtensionType } from '../extensions/Extensions.mjs';\n\n\"use strict\";\nclass FilterPipe {\n constructor(renderer) {\n this._renderer = renderer;\n }\n push(filterEffect, container, instructionSet) {\n const renderPipes = this._renderer.renderPipes;\n renderPipes.batch.break(instructionSet);\n instructionSet.add({\n renderPipeId: \"filter\",\n canBundle: false,\n action: \"pushFilter\",\n container,\n filterEffect\n });\n }\n pop(_filterEffect, _container, instructionSet) {\n this._renderer.renderPipes.batch.break(instructionSet);\n instructionSet.add({\n renderPipeId: \"filter\",\n action: \"popFilter\",\n canBundle: false\n });\n }\n execute(instruction) {\n if (instruction.action === \"pushFilter\") {\n this._renderer.filter.push(instruction);\n } else if (instruction.action === \"popFilter\") {\n this._renderer.filter.pop();\n }\n }\n destroy() {\n this._renderer = null;\n }\n}\nFilterPipe.extension = {\n type: [\n ExtensionType.WebGLPipes,\n ExtensionType.WebGPUPipes,\n ExtensionType.CanvasPipes\n ],\n name: \"filter\"\n};\n\nexport { FilterPipe };\n//# sourceMappingURL=FilterPipe.mjs.map\n","import '../../../maths/index.mjs';\nimport { Matrix } from '../../../maths/matrix/Matrix.mjs';\n\n\"use strict\";\nconst tempProjectionMatrix = new Matrix();\nfunction getGlobalRenderableBounds(renderables, bounds) {\n bounds.clear();\n const actualMatrix = bounds.matrix;\n for (let i = 0; i < renderables.length; i++) {\n const renderable = renderables[i];\n if (renderable.globalDisplayStatus < 7) {\n continue;\n }\n const renderGroup = renderable.renderGroup ?? renderable.parentRenderGroup;\n if (renderGroup?.isCachedAsTexture) {\n bounds.matrix = tempProjectionMatrix.copyFrom(renderGroup.textureOffsetInverseTransform).append(renderable.worldTransform);\n } else if (renderGroup?._parentCacheAsTextureRenderGroup) {\n bounds.matrix = tempProjectionMatrix.copyFrom(renderGroup._parentCacheAsTextureRenderGroup.inverseWorldTransform).append(renderable.groupTransform);\n } else {\n bounds.matrix = renderable.worldTransform;\n }\n bounds.addBounds(renderable.bounds);\n }\n bounds.matrix = actualMatrix;\n return bounds;\n}\n\nexport { getGlobalRenderableBounds };\n//# sourceMappingURL=getRenderableBounds.mjs.map\n","import { ExtensionType } from '../extensions/Extensions.mjs';\nimport { PassthroughFilter } from './defaults/passthrough/PassthroughFilter.mjs';\nimport { Matrix } from '../maths/matrix/Matrix.mjs';\nimport { BindGroup } from '../rendering/renderers/gpu/shader/BindGroup.mjs';\nimport { Geometry } from '../rendering/renderers/shared/geometry/Geometry.mjs';\nimport { UniformGroup } from '../rendering/renderers/shared/shader/UniformGroup.mjs';\nimport { Texture } from '../rendering/renderers/shared/texture/Texture.mjs';\nimport { TexturePool } from '../rendering/renderers/shared/texture/TexturePool.mjs';\nimport { RendererType } from '../rendering/renderers/types.mjs';\nimport { Bounds } from '../scene/container/bounds/Bounds.mjs';\nimport { getGlobalRenderableBounds } from '../scene/container/bounds/getRenderableBounds.mjs';\nimport { warn } from '../utils/logging/warn.mjs';\n\n\"use strict\";\nconst quadGeometry = new Geometry({\n attributes: {\n aPosition: {\n buffer: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),\n format: \"float32x2\",\n stride: 2 * 4,\n offset: 0\n }\n },\n indexBuffer: new Uint32Array([0, 1, 2, 0, 2, 3])\n});\nclass FilterData {\n constructor() {\n /**\n * Indicates whether the filter should be skipped.\n * @type {boolean}\n */\n this.skip = false;\n /**\n * The texture to which the filter is applied.\n * @type {Texture}\n */\n this.inputTexture = null;\n /**\n * The back texture used for blending, if required.\n * @type {Texture | null}\n */\n this.backTexture = null;\n /**\n * The list of filters to be applied.\n * @type {Filter[]}\n */\n this.filters = null;\n /**\n * The bounds of the filter area.\n * @type {Bounds}\n */\n this.bounds = new Bounds();\n /**\n * The container to which the filter is applied.\n * @type {Container}\n */\n this.container = null;\n /**\n * Indicates whether blending is required for the filter.\n * @type {boolean}\n */\n this.blendRequired = false;\n /**\n * The render surface where the output of the filter is rendered.\n * @type {RenderSurface}\n */\n this.outputRenderSurface = null;\n /**\n * The global frame of the filter area.\n * @type {{ x: number, y: number, width: number, height: number }}\n */\n this.globalFrame = { x: 0, y: 0, width: 0, height: 0 };\n /** The first enabled filter index in the current filter list. */\n this.firstEnabledIndex = -1;\n /** The last enabled filter index in the current filter list. */\n this.lastEnabledIndex = -1;\n }\n}\nclass FilterSystem {\n constructor(renderer) {\n this._filterStackIndex = 0;\n this._filterStack = [];\n this._filterGlobalUniforms = new UniformGroup({\n uInputSize: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uInputPixel: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uInputClamp: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uOutputFrame: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uGlobalFrame: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uOutputTexture: { value: new Float32Array(4), type: \"vec4<f32>\" }\n });\n this._globalFilterBindGroup = new BindGroup({});\n this.renderer = renderer;\n }\n /**\n * The back texture of the currently active filter. Requires the filter to have `blendRequired` set to true.\n * @readonly\n */\n get activeBackTexture() {\n return this._activeFilterData?.backTexture;\n }\n /**\n * Pushes a filter instruction onto the filter stack.\n * @param instruction - The instruction containing the filter effect and container.\n * @internal\n */\n push(instruction) {\n const renderer = this.renderer;\n const filters = instruction.filterEffect.filters;\n const filterData = this._pushFilterData();\n filterData.skip = false;\n filterData.filters = filters;\n filterData.container = instruction.container;\n filterData.outputRenderSurface = renderer.renderTarget.renderSurface;\n const colorTextureSource = renderer.renderTarget.renderTarget.colorTexture.source;\n const rootResolution = colorTextureSource.resolution;\n const rootAntialias = colorTextureSource.antialias;\n if (filters.every((filter) => !filter.enabled)) {\n filterData.skip = true;\n return;\n }\n const bounds = filterData.bounds;\n this._calculateFilterArea(instruction, bounds);\n this._calculateFilterBounds(filterData, renderer.renderTarget.rootViewPort, rootAntialias, rootResolution, 1);\n if (filterData.skip) {\n return;\n }\n const previousFilterData = this._getPreviousFilterData();\n const globalResolution = this._findFilterResolution(rootResolution);\n let offsetX = 0;\n let offsetY = 0;\n if (previousFilterData) {\n offsetX = previousFilterData.bounds.minX;\n offsetY = previousFilterData.bounds.minY;\n }\n this._calculateGlobalFrame(\n filterData,\n offsetX,\n offsetY,\n globalResolution,\n colorTextureSource.width,\n colorTextureSource.height\n );\n this._setupFilterTextures(filterData, bounds, renderer, previousFilterData);\n }\n /**\n * Applies filters to a texture.\n *\n * This method takes a texture and a list of filters, applies the filters to the texture,\n * and returns the resulting texture.\n * @param {object} params - The parameters for applying filters.\n * @param {Texture} params.texture - The texture to apply filters to.\n * @param {Filter[]} params.filters - The filters to apply.\n * @returns {Texture} The resulting texture after all filters have been applied.\n * @example\n *\n * ```ts\n * // Create a texture and a list of filters\n * const texture = new Texture(...);\n * const filters = [new BlurFilter(), new ColorMatrixFilter()];\n *\n * // Apply the filters to the texture\n * const resultTexture = filterSystem.applyToTexture({ texture, filters });\n *\n * // Use the resulting texture\n * sprite.texture = resultTexture;\n * ```\n *\n * Key Points:\n * 1. padding is not currently supported here - so clipping may occur with filters that use padding.\n * 2. If all filters are disabled or skipped, the original texture is returned.\n */\n generateFilteredTexture({ texture, filters }) {\n const filterData = this._pushFilterData();\n this._activeFilterData = filterData;\n filterData.skip = false;\n filterData.filters = filters;\n const colorTextureSource = texture.source;\n const rootResolution = colorTextureSource.resolution;\n const rootAntialias = colorTextureSource.antialias;\n if (filters.every((filter) => !filter.enabled)) {\n filterData.skip = true;\n return texture;\n }\n const bounds = filterData.bounds;\n bounds.addRect(texture.frame);\n this._calculateFilterBounds(filterData, bounds.rectangle, rootAntialias, rootResolution, 0);\n if (filterData.skip) {\n return texture;\n }\n const globalResolution = rootResolution;\n const offsetX = 0;\n const offsetY = 0;\n this._calculateGlobalFrame(\n filterData,\n offsetX,\n offsetY,\n globalResolution,\n colorTextureSource.width,\n colorTextureSource.height\n );\n filterData.outputRenderSurface = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n filterData.resolution,\n filterData.antialias\n );\n filterData.backTexture = Texture.EMPTY;\n filterData.inputTexture = texture;\n const renderer = this.renderer;\n renderer.renderTarget.finishRenderPass();\n this._applyFiltersToTexture(filterData, true);\n const outputTexture = filterData.outputRenderSurface;\n outputTexture.source.alphaMode = \"premultiplied-alpha\";\n return outputTexture;\n }\n /** @internal */\n pop() {\n const renderer = this.renderer;\n const filterData = this._popFilterData();\n if (filterData.skip) {\n return;\n }\n renderer.globalUniforms.pop();\n renderer.renderTarget.finishRenderPass();\n this._activeFilterData = filterData;\n this._applyFiltersToTexture(filterData, false);\n if (filterData.blendRequired) {\n TexturePool.returnTexture(filterData.backTexture);\n }\n TexturePool.returnTexture(filterData.inputTexture);\n }\n /**\n * Copies the last render surface to a texture.\n * @param lastRenderSurface - The last render surface to copy from.\n * @param bounds - The bounds of the area to copy.\n * @param previousBounds - The previous bounds to use for offsetting the copy.\n */\n getBackTexture(lastRenderSurface, bounds, previousBounds) {\n const backgroundResolution = lastRenderSurface.colorTexture.source._resolution;\n const backTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n backgroundResolution,\n false\n );\n let x = bounds.minX;\n let y = bounds.minY;\n if (previousBounds) {\n x -= previousBounds.minX;\n y -= previousBounds.minY;\n }\n x = Math.floor(x * backgroundResolution);\n y = Math.floor(y * backgroundResolution);\n const width = Math.ceil(bounds.width * backgroundResolution);\n const height = Math.ceil(bounds.height * backgroundResolution);\n this.renderer.renderTarget.copyToTexture(\n lastRenderSurface,\n backTexture,\n { x, y },\n { width, height },\n { x: 0, y: 0 }\n );\n return backTexture;\n }\n /**\n * Applies a filter to a texture.\n * @param filter - The filter to apply.\n * @param input - The input texture.\n * @param output - The output render surface.\n * @param clear - Whether to clear the output surface before applying the filter.\n */\n applyFilter(filter, input, output, clear) {\n const renderer = this.renderer;\n const filterData = this._activeFilterData;\n const outputRenderSurface = filterData.outputRenderSurface;\n const isFinalTarget = outputRenderSurface === output;\n const rootResolution = renderer.renderTarget.rootRenderTarget.colorTexture.source._resolution;\n const resolution = this._findFilterResolution(rootResolution);\n let offsetX = 0;\n let offsetY = 0;\n if (isFinalTarget) {\n const offset = this._findPreviousFilterOffset();\n offsetX = offset.x;\n offsetY = offset.y;\n }\n this._updateFilterUniforms(input, output, filterData, offsetX, offsetY, resolution, isFinalTarget, clear);\n const filterToApply = filter.enabled ? filter : this._getPassthroughFilter();\n this._setupBindGroupsAndRender(filterToApply, input, renderer);\n }\n /**\n * Multiply _input normalized coordinates_ to this matrix to get _sprite texture normalized coordinates_.\n *\n * Use `outputMatrix * vTextureCoord` in the shader.\n * @param outputMatrix - The matrix to output to.\n * @param {Sprite} sprite - The sprite to map to.\n * @returns The mapped matrix.\n */\n calculateSpriteMatrix(outputMatrix, sprite) {\n const data = this._activeFilterData;\n const mappedMatrix = outputMatrix.set(\n data.inputTexture._source.width,\n 0,\n 0,\n data.inputTexture._source.height,\n data.bounds.minX,\n data.bounds.minY\n );\n const worldTransform = sprite.worldTransform.copyTo(Matrix.shared);\n const renderGroup = sprite.renderGroup || sprite.parentRenderGroup;\n if (renderGroup && renderGroup.cacheToLocalTransform) {\n worldTransform.prepend(renderGroup.cacheToLocalTransform);\n }\n worldTransform.invert();\n mappedMatrix.prepend(worldTransform);\n mappedMatrix.scale(\n 1 / sprite.texture.orig.width,\n 1 / sprite.texture.orig.height\n );\n mappedMatrix.translate(sprite.anchor.x, sprite.anchor.y);\n return mappedMatrix;\n }\n destroy() {\n this._passthroughFilter?.destroy(true);\n this._passthroughFilter = null;\n }\n _getPassthroughFilter() {\n this._passthroughFilter ?? (this._passthroughFilter = new PassthroughFilter());\n return this._passthroughFilter;\n }\n /**\n * Sets up the bind groups and renders the filter.\n * @param filter - The filter to apply\n * @param input - The input texture\n * @param renderer - The renderer instance\n */\n _setupBindGroupsAndRender(filter, input, renderer) {\n if (renderer.renderPipes.uniformBatch) {\n const batchUniforms = renderer.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);\n this._globalFilterBindGroup.setResource(batchUniforms, 0);\n } else {\n this._globalFilterBindGroup.setResource(this._filterGlobalUniforms, 0);\n }\n this._globalFilterBindGroup.setResource(input.source, 1);\n this._globalFilterBindGroup.setResource(input.source.style, 2);\n filter.groups[0] = this._globalFilterBindGroup;\n renderer.encoder.draw({\n geometry: quadGeometry,\n shader: filter,\n state: filter._state,\n topology: \"triangle-list\"\n });\n if (renderer.type === RendererType.WEBGL) {\n renderer.renderTarget.finishRenderPass();\n }\n }\n /**\n * Sets up the filter textures including input texture and back texture if needed.\n * @param filterData - The filter data to update\n * @param bounds - The bounds for the texture\n * @param renderer - The renderer instance\n * @param previousFilterData - The previous filter data for back texture calculation\n */\n _setupFilterTextures(filterData, bounds, renderer, previousFilterData) {\n filterData.backTexture = Texture.EMPTY;\n filterData.inputTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n filterData.resolution,\n filterData.antialias\n );\n if (filterData.blendRequired) {\n renderer.renderTarget.finishRenderPass();\n const renderTarget = renderer.renderTarget.getRenderTarget(filterData.outputRenderSurface);\n filterData.backTexture = this.getBackTexture(renderTarget, bounds, previousFilterData?.bounds);\n }\n renderer.renderTarget.bind(filterData.inputTexture, true);\n renderer.globalUniforms.push({\n offset: bounds\n });\n }\n /**\n * Calculates and sets the global frame for the filter.\n * @param filterData - The filter data to update\n * @param offsetX - The X offset\n * @param offsetY - The Y offset\n * @param globalResolution - The global resolution\n * @param sourceWidth - The source texture width\n * @param sourceHeight - The source texture height\n */\n _calculateGlobalFrame(filterData, offsetX, offsetY, globalResolution, sourceWidth, sourceHeight) {\n const globalFrame = filterData.globalFrame;\n globalFrame.x = offsetX * globalResolution;\n globalFrame.y = offsetY * globalResolution;\n globalFrame.width = sourceWidth * globalResolution;\n globalFrame.height = sourceHeight * globalResolution;\n }\n /**\n * Updates the filter uniforms with the current filter state.\n * @param input - The input texture\n * @param output - The output render surface\n * @param filterData - The current filter data\n * @param offsetX - The X offset for positioning\n * @param offsetY - The Y offset for positioning\n * @param resolution - The current resolution\n * @param isFinalTarget - Whether this is the final render target\n * @param clear - Whether to clear the output surface\n */\n _updateFilterUniforms(input, output, filterData, offsetX, offsetY, resolution, isFinalTarget, clear) {\n const uniforms = this._filterGlobalUniforms.uniforms;\n const outputFrame = uniforms.uOutputFrame;\n const inputSize = uniforms.uInputSize;\n const inputPixel = uniforms.uInputPixel;\n const inputClamp = uniforms.uInputClamp;\n const globalFrame = uniforms.uGlobalFrame;\n const outputTexture = uniforms.uOutputTexture;\n if (isFinalTarget) {\n outputFrame[0] = filterData.bounds.minX - offsetX;\n outputFrame[1] = filterData.bounds.minY - offsetY;\n } else {\n outputFrame[0] = 0;\n outputFrame[1] = 0;\n }\n outputFrame[2] = input.frame.width;\n outputFrame[3] = input.frame.height;\n inputSize[0] = input.source.width;\n inputSize[1] = input.source.height;\n inputSize[2] = 1 / inputSize[0];\n inputSize[3] = 1 / inputSize[1];\n inputPixel[0] = input.source.pixelWidth;\n inputPixel[1] = input.source.pixelHeight;\n inputPixel[2] = 1 / inputPixel[0];\n inputPixel[3] = 1 / inputPixel[1];\n inputClamp[0] = 0.5 * inputPixel[2];\n inputClamp[1] = 0.5 * inputPixel[3];\n inputClamp[2] = input.frame.width * inputSize[2] - 0.5 * inputPixel[2];\n inputClamp[3] = input.frame.height * inputSize[3] - 0.5 * inputPixel[3];\n const rootTexture = this.renderer.renderTarget.rootRenderTarget.colorTexture;\n globalFrame[0] = offsetX * resolution;\n globalFrame[1] = offsetY * resolution;\n globalFrame[2] = rootTexture.source.width * resolution;\n globalFrame[3] = rootTexture.source.height * resolution;\n if (output instanceof Texture) output.source.resource = null;\n const renderTarget = this.renderer.renderTarget.getRenderTarget(output);\n this.renderer.renderTarget.bind(output, !!clear);\n if (output instanceof Texture) {\n outputTexture[0] = output.frame.width;\n outputTexture[1] = output.frame.height;\n } else {\n outputTexture[0] = renderTarget.width;\n outputTexture[1] = renderTarget.height;\n }\n outputTexture[2] = renderTarget.isRoot ? -1 : 1;\n this._filterGlobalUniforms.update();\n }\n /**\n * Finds the correct resolution by looking back through the filter stack.\n * @param rootResolution - The fallback root resolution to use\n * @returns The resolution from the previous filter or root resolution\n */\n _findFilterResolution(rootResolution) {\n let currentIndex = this._filterStackIndex - 1;\n while (currentIndex > 0 && this._filterStack[currentIndex].skip) {\n --currentIndex;\n }\n return currentIndex > 0 && this._filterStack[currentIndex].inputTexture ? this._filterStack[currentIndex].inputTexture.source._resolution : rootResolution;\n }\n /**\n * Finds the offset from the previous non-skipped filter in the stack.\n * @returns The offset coordinates from the previous filter\n */\n _findPreviousFilterOffset() {\n let offsetX = 0;\n let offsetY = 0;\n let lastIndex = this._filterStackIndex;\n while (lastIndex > 0) {\n lastIndex--;\n const prevFilterData = this._filterStack[lastIndex];\n if (!prevFilterData.skip) {\n offsetX = prevFilterData.bounds.minX;\n offsetY = prevFilterData.bounds.minY;\n break;\n }\n }\n return { x: offsetX, y: offsetY };\n }\n /**\n * Calculates the filter area bounds based on the instruction type.\n * @param instruction - The filter instruction\n * @param bounds - The bounds object to populate\n */\n _calculateFilterArea(instruction, bounds) {\n if (instruction.renderables) {\n getGlobalRenderableBounds(instruction.renderables, bounds);\n } else if (instruction.filterEffect.filterArea) {\n bounds.clear();\n bounds.addRect(instruction.filterEffect.filterArea);\n bounds.applyMatrix(instruction.container.worldTransform);\n } else {\n instruction.container.getFastGlobalBounds(true, bounds);\n }\n if (instruction.container) {\n const renderGroup = instruction.container.renderGroup || instruction.container.parentRenderGroup;\n const filterFrameTransform = renderGroup.cacheToLocalTransform;\n if (filterFrameTransform) {\n bounds.applyMatrix(filterFrameTransform);\n }\n }\n }\n _applyFiltersToTexture(filterData, clear) {\n const inputTexture = filterData.inputTexture;\n const bounds = filterData.bounds;\n const filters = filterData.filters;\n const firstEnabled = filterData.firstEnabledIndex;\n const lastEnabled = filterData.lastEnabledIndex;\n this._globalFilterBindGroup.setResource(inputTexture.source.style, 2);\n this._globalFilterBindGroup.setResource(filterData.backTexture.source, 3);\n if (firstEnabled === lastEnabled) {\n filters[firstEnabled].apply(this, inputTexture, filterData.outputRenderSurface, clear);\n } else {\n let flip = filterData.inputTexture;\n const tempTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n flip.source._resolution,\n false\n );\n let flop = tempTexture;\n for (let i = firstEnabled; i < lastEnabled; i++) {\n const filter = filters[i];\n if (!filter.enabled) continue;\n filter.apply(this, flip, flop, true);\n const t = flip;\n flip = flop;\n flop = t;\n }\n filters[lastEnabled].apply(this, flip, filterData.outputRenderSurface, clear);\n TexturePool.returnTexture(tempTexture);\n }\n }\n _calculateFilterBounds(filterData, viewPort, rootAntialias, rootResolution, paddingMultiplier) {\n const renderer = this.renderer;\n const bounds = filterData.bounds;\n const filters = filterData.filters;\n let resolution = Infinity;\n let padding = 0;\n let antialias = true;\n let blendRequired = false;\n let enabled = false;\n let clipToViewport = true;\n let firstEnabledIndex = -1;\n let lastEnabledIndex = -1;\n for (let i = 0; i < filters.length; i++) {\n const filter = filters[i];\n if (!filter.enabled) continue;\n if (firstEnabledIndex === -1) firstEnabledIndex = i;\n lastEnabledIndex = i;\n resolution = Math.min(resolution, filter.resolution === \"inherit\" ? rootResolution : filter.resolution);\n padding += filter.padding;\n if (filter.antialias === \"off\") {\n antialias = false;\n } else if (filter.antialias === \"inherit\") {\n antialias && (antialias = rootAntialias);\n }\n if (!filter.clipToViewport) {\n clipToViewport = false;\n }\n const isCompatible = !!(filter.compatibleRenderers & renderer.type);\n if (!isCompatible) {\n enabled = false;\n break;\n }\n if (filter.blendRequired && !(renderer.backBuffer?.useBackBuffer ?? true)) {\n warn(\"Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options.\");\n enabled = false;\n break;\n }\n enabled = true;\n blendRequired || (blendRequired = filter.blendRequired);\n }\n if (!enabled) {\n filterData.skip = true;\n return;\n }\n if (clipToViewport) {\n bounds.fitBounds(0, viewPort.width / rootResolution, 0, viewPort.height / rootResolution);\n }\n bounds.scale(resolution).ceil().scale(1 / resolution).pad((padding | 0) * paddingMultiplier);\n if (!bounds.isPositive) {\n filterData.skip = true;\n return;\n }\n filterData.antialias = antialias;\n filterData.resolution = resolution;\n filterData.blendRequired = blendRequired;\n filterData.firstEnabledIndex = firstEnabledIndex;\n filterData.lastEnabledIndex = lastEnabledIndex;\n }\n _popFilterData() {\n this._filterStackIndex--;\n return this._filterStack[this._filterStackIndex];\n }\n _getPreviousFilterData() {\n let previousFilterData;\n let index = this._filterStackIndex - 1;\n while (index > 0) {\n index--;\n previousFilterData = this._filterStack[index];\n if (!previousFilterData.skip) {\n break;\n }\n }\n return previousFilterData;\n }\n _pushFilterData() {\n let filterData = this._filterStack[this._filterStackIndex];\n if (!filterData) {\n filterData = this._filterStack[this._filterStackIndex] = new FilterData();\n }\n this._filterStackIndex++;\n return filterData;\n }\n}\n/** @ignore */\nFilterSystem.extension = {\n type: [\n ExtensionType.WebGLSystem,\n ExtensionType.WebGPUSystem\n ],\n name: \"filter\"\n};\n\nexport { FilterSystem };\n//# sourceMappingURL=FilterSystem.mjs.map\n","import { extensions } from '../extensions/Extensions.mjs';\nimport { FilterPipe } from './FilterPipe.mjs';\nimport { FilterSystem } from './FilterSystem.mjs';\n\n\"use strict\";\nextensions.add(FilterSystem);\nextensions.add(FilterPipe);\n//# sourceMappingURL=init.mjs.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
1
+ {"version":3,"file":"init-CfSmqCnm.js","sources":["../node_modules/pixi.js/lib/filters/defaults/defaultFilter.vert.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.frag.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.wgsl.mjs","../node_modules/pixi.js/lib/filters/defaults/passthrough/PassthroughFilter.mjs","../node_modules/pixi.js/lib/filters/FilterPipe.mjs","../node_modules/pixi.js/lib/scene/container/bounds/getRenderableBounds.mjs","../node_modules/pixi.js/lib/filters/FilterSystem.mjs","../node_modules/pixi.js/lib/filters/init.mjs"],"sourcesContent":["var vertex = \"in vec2 aPosition;\\nout vec2 vTextureCoord;\\n\\nuniform vec4 uInputSize;\\nuniform vec4 uOutputFrame;\\nuniform vec4 uOutputTexture;\\n\\nvec4 filterVertexPosition( void )\\n{\\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\\n \\n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\\n\\n return vec4(position, 0.0, 1.0);\\n}\\n\\nvec2 filterTextureCoord( void )\\n{\\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\\n}\\n\\nvoid main(void)\\n{\\n gl_Position = filterVertexPosition();\\n vTextureCoord = filterTextureCoord();\\n}\\n\";\n\nexport { vertex as default };\n//# sourceMappingURL=defaultFilter.vert.mjs.map\n","var fragment = \"in vec2 vTextureCoord;\\nout vec4 finalColor;\\nuniform sampler2D uTexture;\\nvoid main() {\\n finalColor = texture(uTexture, vTextureCoord);\\n}\\n\";\n\nexport { fragment as default };\n//# sourceMappingURL=passthrough.frag.mjs.map\n","var source = \"struct GlobalFilterUniforms {\\n uInputSize: vec4<f32>,\\n uInputPixel: vec4<f32>,\\n uInputClamp: vec4<f32>,\\n uOutputFrame: vec4<f32>,\\n uGlobalFrame: vec4<f32>,\\n uOutputTexture: vec4<f32>,\\n};\\n\\n@group(0) @binding(0) var <uniform> gfu: GlobalFilterUniforms;\\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\\n@group(0) @binding(2) var uSampler: sampler;\\n\\nstruct VSOutput {\\n @builtin(position) position: vec4<f32>,\\n @location(0) uv: vec2<f32>\\n};\\n\\nfn filterVertexPosition(aPosition: vec2<f32>) -> vec4<f32>\\n{\\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\\n\\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\\n position.y = position.y * (2.0 * gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\\n\\n return vec4(position, 0.0, 1.0);\\n}\\n\\nfn filterTextureCoord(aPosition: vec2<f32>) -> vec2<f32>\\n{\\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\\n}\\n\\n@vertex\\nfn mainVertex(\\n @location(0) aPosition: vec2<f32>,\\n) -> VSOutput {\\n return VSOutput(\\n filterVertexPosition(aPosition),\\n filterTextureCoord(aPosition)\\n );\\n}\\n\\n@fragment\\nfn mainFragment(\\n @location(0) uv: vec2<f32>,\\n) -> @location(0) vec4<f32> {\\n return textureSample(uTexture, uSampler, uv);\\n}\\n\";\n\nexport { source as default };\n//# sourceMappingURL=passthrough.wgsl.mjs.map\n","import { GlProgram } from '../../../rendering/renderers/gl/shader/GlProgram.mjs';\nimport { GpuProgram } from '../../../rendering/renderers/gpu/shader/GpuProgram.mjs';\nimport { Filter } from '../../Filter.mjs';\nimport vertex from '../defaultFilter.vert.mjs';\nimport fragment from './passthrough.frag.mjs';\nimport source from './passthrough.wgsl.mjs';\n\n\"use strict\";\nclass PassthroughFilter extends Filter {\n constructor() {\n const gpuProgram = GpuProgram.from({\n vertex: { source, entryPoint: \"mainVertex\" },\n fragment: { source, entryPoint: \"mainFragment\" },\n name: \"passthrough-filter\"\n });\n const glProgram = GlProgram.from({\n vertex,\n fragment,\n name: \"passthrough-filter\"\n });\n super({\n gpuProgram,\n glProgram\n });\n }\n}\n\nexport { PassthroughFilter };\n//# sourceMappingURL=PassthroughFilter.mjs.map\n","import { ExtensionType } from '../extensions/Extensions.mjs';\n\n\"use strict\";\nclass FilterPipe {\n constructor(renderer) {\n this._renderer = renderer;\n }\n push(filterEffect, container, instructionSet) {\n const renderPipes = this._renderer.renderPipes;\n renderPipes.batch.break(instructionSet);\n instructionSet.add({\n renderPipeId: \"filter\",\n canBundle: false,\n action: \"pushFilter\",\n container,\n filterEffect\n });\n }\n pop(_filterEffect, _container, instructionSet) {\n this._renderer.renderPipes.batch.break(instructionSet);\n instructionSet.add({\n renderPipeId: \"filter\",\n action: \"popFilter\",\n canBundle: false\n });\n }\n execute(instruction) {\n if (instruction.action === \"pushFilter\") {\n this._renderer.filter.push(instruction);\n } else if (instruction.action === \"popFilter\") {\n this._renderer.filter.pop();\n }\n }\n destroy() {\n this._renderer = null;\n }\n}\nFilterPipe.extension = {\n type: [\n ExtensionType.WebGLPipes,\n ExtensionType.WebGPUPipes,\n ExtensionType.CanvasPipes\n ],\n name: \"filter\"\n};\n\nexport { FilterPipe };\n//# sourceMappingURL=FilterPipe.mjs.map\n","import '../../../maths/index.mjs';\nimport { Matrix } from '../../../maths/matrix/Matrix.mjs';\n\n\"use strict\";\nconst tempProjectionMatrix = new Matrix();\nfunction getGlobalRenderableBounds(renderables, bounds) {\n bounds.clear();\n const actualMatrix = bounds.matrix;\n for (let i = 0; i < renderables.length; i++) {\n const renderable = renderables[i];\n if (renderable.globalDisplayStatus < 7) {\n continue;\n }\n const renderGroup = renderable.renderGroup ?? renderable.parentRenderGroup;\n if (renderGroup?.isCachedAsTexture) {\n bounds.matrix = tempProjectionMatrix.copyFrom(renderGroup.textureOffsetInverseTransform).append(renderable.worldTransform);\n } else if (renderGroup?._parentCacheAsTextureRenderGroup) {\n bounds.matrix = tempProjectionMatrix.copyFrom(renderGroup._parentCacheAsTextureRenderGroup.inverseWorldTransform).append(renderable.groupTransform);\n } else {\n bounds.matrix = renderable.worldTransform;\n }\n bounds.addBounds(renderable.bounds);\n }\n bounds.matrix = actualMatrix;\n return bounds;\n}\n\nexport { getGlobalRenderableBounds };\n//# sourceMappingURL=getRenderableBounds.mjs.map\n","import { ExtensionType } from '../extensions/Extensions.mjs';\nimport { PassthroughFilter } from './defaults/passthrough/PassthroughFilter.mjs';\nimport { Matrix } from '../maths/matrix/Matrix.mjs';\nimport { BindGroup } from '../rendering/renderers/gpu/shader/BindGroup.mjs';\nimport { Geometry } from '../rendering/renderers/shared/geometry/Geometry.mjs';\nimport { UniformGroup } from '../rendering/renderers/shared/shader/UniformGroup.mjs';\nimport { Texture } from '../rendering/renderers/shared/texture/Texture.mjs';\nimport { TexturePool } from '../rendering/renderers/shared/texture/TexturePool.mjs';\nimport { RendererType } from '../rendering/renderers/types.mjs';\nimport { Bounds } from '../scene/container/bounds/Bounds.mjs';\nimport { getGlobalRenderableBounds } from '../scene/container/bounds/getRenderableBounds.mjs';\nimport { warn } from '../utils/logging/warn.mjs';\n\n\"use strict\";\nconst quadGeometry = new Geometry({\n attributes: {\n aPosition: {\n buffer: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]),\n format: \"float32x2\",\n stride: 2 * 4,\n offset: 0\n }\n },\n indexBuffer: new Uint32Array([0, 1, 2, 0, 2, 3])\n});\nclass FilterData {\n constructor() {\n /**\n * Indicates whether the filter should be skipped.\n * @type {boolean}\n */\n this.skip = false;\n /**\n * The texture to which the filter is applied.\n * @type {Texture}\n */\n this.inputTexture = null;\n /**\n * The back texture used for blending, if required.\n * @type {Texture | null}\n */\n this.backTexture = null;\n /**\n * The list of filters to be applied.\n * @type {Filter[]}\n */\n this.filters = null;\n /**\n * The bounds of the filter area.\n * @type {Bounds}\n */\n this.bounds = new Bounds();\n /**\n * The container to which the filter is applied.\n * @type {Container}\n */\n this.container = null;\n /**\n * Indicates whether blending is required for the filter.\n * @type {boolean}\n */\n this.blendRequired = false;\n /**\n * The render surface where the output of the filter is rendered.\n * @type {RenderSurface}\n */\n this.outputRenderSurface = null;\n /**\n * The global frame of the filter area.\n * @type {{ x: number, y: number, width: number, height: number }}\n */\n this.globalFrame = { x: 0, y: 0, width: 0, height: 0 };\n /** The first enabled filter index in the current filter list. */\n this.firstEnabledIndex = -1;\n /** The last enabled filter index in the current filter list. */\n this.lastEnabledIndex = -1;\n }\n}\nclass FilterSystem {\n constructor(renderer) {\n this._filterStackIndex = 0;\n this._filterStack = [];\n this._filterGlobalUniforms = new UniformGroup({\n uInputSize: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uInputPixel: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uInputClamp: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uOutputFrame: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uGlobalFrame: { value: new Float32Array(4), type: \"vec4<f32>\" },\n uOutputTexture: { value: new Float32Array(4), type: \"vec4<f32>\" }\n });\n this._globalFilterBindGroup = new BindGroup({});\n this.renderer = renderer;\n }\n /**\n * The back texture of the currently active filter. Requires the filter to have `blendRequired` set to true.\n * @readonly\n */\n get activeBackTexture() {\n return this._activeFilterData?.backTexture;\n }\n /**\n * Pushes a filter instruction onto the filter stack.\n * @param instruction - The instruction containing the filter effect and container.\n * @internal\n */\n push(instruction) {\n const renderer = this.renderer;\n const filters = instruction.filterEffect.filters;\n const filterData = this._pushFilterData();\n filterData.skip = false;\n filterData.filters = filters;\n filterData.container = instruction.container;\n filterData.outputRenderSurface = renderer.renderTarget.renderSurface;\n const colorTextureSource = renderer.renderTarget.renderTarget.colorTexture.source;\n const rootResolution = colorTextureSource.resolution;\n const rootAntialias = colorTextureSource.antialias;\n if (filters.every((filter) => !filter.enabled)) {\n filterData.skip = true;\n return;\n }\n const bounds = filterData.bounds;\n this._calculateFilterArea(instruction, bounds);\n this._calculateFilterBounds(filterData, renderer.renderTarget.rootViewPort, rootAntialias, rootResolution, 1);\n if (filterData.skip) {\n return;\n }\n const previousFilterData = this._getPreviousFilterData();\n const globalResolution = this._findFilterResolution(rootResolution);\n let offsetX = 0;\n let offsetY = 0;\n if (previousFilterData) {\n offsetX = previousFilterData.bounds.minX;\n offsetY = previousFilterData.bounds.minY;\n }\n this._calculateGlobalFrame(\n filterData,\n offsetX,\n offsetY,\n globalResolution,\n colorTextureSource.width,\n colorTextureSource.height\n );\n this._setupFilterTextures(filterData, bounds, renderer, previousFilterData);\n }\n /**\n * Applies filters to a texture.\n *\n * This method takes a texture and a list of filters, applies the filters to the texture,\n * and returns the resulting texture.\n * @param {object} params - The parameters for applying filters.\n * @param {Texture} params.texture - The texture to apply filters to.\n * @param {Filter[]} params.filters - The filters to apply.\n * @returns {Texture} The resulting texture after all filters have been applied.\n * @example\n *\n * ```ts\n * // Create a texture and a list of filters\n * const texture = new Texture(...);\n * const filters = [new BlurFilter(), new ColorMatrixFilter()];\n *\n * // Apply the filters to the texture\n * const resultTexture = filterSystem.applyToTexture({ texture, filters });\n *\n * // Use the resulting texture\n * sprite.texture = resultTexture;\n * ```\n *\n * Key Points:\n * 1. padding is not currently supported here - so clipping may occur with filters that use padding.\n * 2. If all filters are disabled or skipped, the original texture is returned.\n */\n generateFilteredTexture({ texture, filters }) {\n const filterData = this._pushFilterData();\n this._activeFilterData = filterData;\n filterData.skip = false;\n filterData.filters = filters;\n const colorTextureSource = texture.source;\n const rootResolution = colorTextureSource.resolution;\n const rootAntialias = colorTextureSource.antialias;\n if (filters.every((filter) => !filter.enabled)) {\n filterData.skip = true;\n return texture;\n }\n const bounds = filterData.bounds;\n bounds.addRect(texture.frame);\n this._calculateFilterBounds(filterData, bounds.rectangle, rootAntialias, rootResolution, 0);\n if (filterData.skip) {\n return texture;\n }\n const globalResolution = rootResolution;\n const offsetX = 0;\n const offsetY = 0;\n this._calculateGlobalFrame(\n filterData,\n offsetX,\n offsetY,\n globalResolution,\n colorTextureSource.width,\n colorTextureSource.height\n );\n filterData.outputRenderSurface = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n filterData.resolution,\n filterData.antialias\n );\n filterData.backTexture = Texture.EMPTY;\n filterData.inputTexture = texture;\n const renderer = this.renderer;\n renderer.renderTarget.finishRenderPass();\n this._applyFiltersToTexture(filterData, true);\n const outputTexture = filterData.outputRenderSurface;\n outputTexture.source.alphaMode = \"premultiplied-alpha\";\n return outputTexture;\n }\n /** @internal */\n pop() {\n const renderer = this.renderer;\n const filterData = this._popFilterData();\n if (filterData.skip) {\n return;\n }\n renderer.globalUniforms.pop();\n renderer.renderTarget.finishRenderPass();\n this._activeFilterData = filterData;\n this._applyFiltersToTexture(filterData, false);\n if (filterData.blendRequired) {\n TexturePool.returnTexture(filterData.backTexture);\n }\n TexturePool.returnTexture(filterData.inputTexture);\n }\n /**\n * Copies the last render surface to a texture.\n * @param lastRenderSurface - The last render surface to copy from.\n * @param bounds - The bounds of the area to copy.\n * @param previousBounds - The previous bounds to use for offsetting the copy.\n */\n getBackTexture(lastRenderSurface, bounds, previousBounds) {\n const backgroundResolution = lastRenderSurface.colorTexture.source._resolution;\n const backTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n backgroundResolution,\n false\n );\n let x = bounds.minX;\n let y = bounds.minY;\n if (previousBounds) {\n x -= previousBounds.minX;\n y -= previousBounds.minY;\n }\n x = Math.floor(x * backgroundResolution);\n y = Math.floor(y * backgroundResolution);\n const width = Math.ceil(bounds.width * backgroundResolution);\n const height = Math.ceil(bounds.height * backgroundResolution);\n this.renderer.renderTarget.copyToTexture(\n lastRenderSurface,\n backTexture,\n { x, y },\n { width, height },\n { x: 0, y: 0 }\n );\n return backTexture;\n }\n /**\n * Applies a filter to a texture.\n * @param filter - The filter to apply.\n * @param input - The input texture.\n * @param output - The output render surface.\n * @param clear - Whether to clear the output surface before applying the filter.\n */\n applyFilter(filter, input, output, clear) {\n const renderer = this.renderer;\n const filterData = this._activeFilterData;\n const outputRenderSurface = filterData.outputRenderSurface;\n const isFinalTarget = outputRenderSurface === output;\n const rootResolution = renderer.renderTarget.rootRenderTarget.colorTexture.source._resolution;\n const resolution = this._findFilterResolution(rootResolution);\n let offsetX = 0;\n let offsetY = 0;\n if (isFinalTarget) {\n const offset = this._findPreviousFilterOffset();\n offsetX = offset.x;\n offsetY = offset.y;\n }\n this._updateFilterUniforms(input, output, filterData, offsetX, offsetY, resolution, isFinalTarget, clear);\n const filterToApply = filter.enabled ? filter : this._getPassthroughFilter();\n this._setupBindGroupsAndRender(filterToApply, input, renderer);\n }\n /**\n * Multiply _input normalized coordinates_ to this matrix to get _sprite texture normalized coordinates_.\n *\n * Use `outputMatrix * vTextureCoord` in the shader.\n * @param outputMatrix - The matrix to output to.\n * @param {Sprite} sprite - The sprite to map to.\n * @returns The mapped matrix.\n */\n calculateSpriteMatrix(outputMatrix, sprite) {\n const data = this._activeFilterData;\n const mappedMatrix = outputMatrix.set(\n data.inputTexture._source.width,\n 0,\n 0,\n data.inputTexture._source.height,\n data.bounds.minX,\n data.bounds.minY\n );\n const worldTransform = sprite.worldTransform.copyTo(Matrix.shared);\n const renderGroup = sprite.renderGroup || sprite.parentRenderGroup;\n if (renderGroup && renderGroup.cacheToLocalTransform) {\n worldTransform.prepend(renderGroup.cacheToLocalTransform);\n }\n worldTransform.invert();\n mappedMatrix.prepend(worldTransform);\n mappedMatrix.scale(\n 1 / sprite.texture.orig.width,\n 1 / sprite.texture.orig.height\n );\n mappedMatrix.translate(sprite.anchor.x, sprite.anchor.y);\n return mappedMatrix;\n }\n destroy() {\n this._passthroughFilter?.destroy(true);\n this._passthroughFilter = null;\n }\n _getPassthroughFilter() {\n this._passthroughFilter ?? (this._passthroughFilter = new PassthroughFilter());\n return this._passthroughFilter;\n }\n /**\n * Sets up the bind groups and renders the filter.\n * @param filter - The filter to apply\n * @param input - The input texture\n * @param renderer - The renderer instance\n */\n _setupBindGroupsAndRender(filter, input, renderer) {\n if (renderer.renderPipes.uniformBatch) {\n const batchUniforms = renderer.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);\n this._globalFilterBindGroup.setResource(batchUniforms, 0);\n } else {\n this._globalFilterBindGroup.setResource(this._filterGlobalUniforms, 0);\n }\n this._globalFilterBindGroup.setResource(input.source, 1);\n this._globalFilterBindGroup.setResource(input.source.style, 2);\n filter.groups[0] = this._globalFilterBindGroup;\n renderer.encoder.draw({\n geometry: quadGeometry,\n shader: filter,\n state: filter._state,\n topology: \"triangle-list\"\n });\n if (renderer.type === RendererType.WEBGL) {\n renderer.renderTarget.finishRenderPass();\n }\n }\n /**\n * Sets up the filter textures including input texture and back texture if needed.\n * @param filterData - The filter data to update\n * @param bounds - The bounds for the texture\n * @param renderer - The renderer instance\n * @param previousFilterData - The previous filter data for back texture calculation\n */\n _setupFilterTextures(filterData, bounds, renderer, previousFilterData) {\n filterData.backTexture = Texture.EMPTY;\n filterData.inputTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n filterData.resolution,\n filterData.antialias\n );\n if (filterData.blendRequired) {\n renderer.renderTarget.finishRenderPass();\n const renderTarget = renderer.renderTarget.getRenderTarget(filterData.outputRenderSurface);\n filterData.backTexture = this.getBackTexture(renderTarget, bounds, previousFilterData?.bounds);\n }\n renderer.renderTarget.bind(filterData.inputTexture, true);\n renderer.globalUniforms.push({\n offset: bounds\n });\n }\n /**\n * Calculates and sets the global frame for the filter.\n * @param filterData - The filter data to update\n * @param offsetX - The X offset\n * @param offsetY - The Y offset\n * @param globalResolution - The global resolution\n * @param sourceWidth - The source texture width\n * @param sourceHeight - The source texture height\n */\n _calculateGlobalFrame(filterData, offsetX, offsetY, globalResolution, sourceWidth, sourceHeight) {\n const globalFrame = filterData.globalFrame;\n globalFrame.x = offsetX * globalResolution;\n globalFrame.y = offsetY * globalResolution;\n globalFrame.width = sourceWidth * globalResolution;\n globalFrame.height = sourceHeight * globalResolution;\n }\n /**\n * Updates the filter uniforms with the current filter state.\n * @param input - The input texture\n * @param output - The output render surface\n * @param filterData - The current filter data\n * @param offsetX - The X offset for positioning\n * @param offsetY - The Y offset for positioning\n * @param resolution - The current resolution\n * @param isFinalTarget - Whether this is the final render target\n * @param clear - Whether to clear the output surface\n */\n _updateFilterUniforms(input, output, filterData, offsetX, offsetY, resolution, isFinalTarget, clear) {\n const uniforms = this._filterGlobalUniforms.uniforms;\n const outputFrame = uniforms.uOutputFrame;\n const inputSize = uniforms.uInputSize;\n const inputPixel = uniforms.uInputPixel;\n const inputClamp = uniforms.uInputClamp;\n const globalFrame = uniforms.uGlobalFrame;\n const outputTexture = uniforms.uOutputTexture;\n if (isFinalTarget) {\n outputFrame[0] = filterData.bounds.minX - offsetX;\n outputFrame[1] = filterData.bounds.minY - offsetY;\n } else {\n outputFrame[0] = 0;\n outputFrame[1] = 0;\n }\n outputFrame[2] = input.frame.width;\n outputFrame[3] = input.frame.height;\n inputSize[0] = input.source.width;\n inputSize[1] = input.source.height;\n inputSize[2] = 1 / inputSize[0];\n inputSize[3] = 1 / inputSize[1];\n inputPixel[0] = input.source.pixelWidth;\n inputPixel[1] = input.source.pixelHeight;\n inputPixel[2] = 1 / inputPixel[0];\n inputPixel[3] = 1 / inputPixel[1];\n inputClamp[0] = 0.5 * inputPixel[2];\n inputClamp[1] = 0.5 * inputPixel[3];\n inputClamp[2] = input.frame.width * inputSize[2] - 0.5 * inputPixel[2];\n inputClamp[3] = input.frame.height * inputSize[3] - 0.5 * inputPixel[3];\n const rootTexture = this.renderer.renderTarget.rootRenderTarget.colorTexture;\n globalFrame[0] = offsetX * resolution;\n globalFrame[1] = offsetY * resolution;\n globalFrame[2] = rootTexture.source.width * resolution;\n globalFrame[3] = rootTexture.source.height * resolution;\n if (output instanceof Texture) output.source.resource = null;\n const renderTarget = this.renderer.renderTarget.getRenderTarget(output);\n this.renderer.renderTarget.bind(output, !!clear);\n if (output instanceof Texture) {\n outputTexture[0] = output.frame.width;\n outputTexture[1] = output.frame.height;\n } else {\n outputTexture[0] = renderTarget.width;\n outputTexture[1] = renderTarget.height;\n }\n outputTexture[2] = renderTarget.isRoot ? -1 : 1;\n this._filterGlobalUniforms.update();\n }\n /**\n * Finds the correct resolution by looking back through the filter stack.\n * @param rootResolution - The fallback root resolution to use\n * @returns The resolution from the previous filter or root resolution\n */\n _findFilterResolution(rootResolution) {\n let currentIndex = this._filterStackIndex - 1;\n while (currentIndex > 0 && this._filterStack[currentIndex].skip) {\n --currentIndex;\n }\n return currentIndex > 0 && this._filterStack[currentIndex].inputTexture ? this._filterStack[currentIndex].inputTexture.source._resolution : rootResolution;\n }\n /**\n * Finds the offset from the previous non-skipped filter in the stack.\n * @returns The offset coordinates from the previous filter\n */\n _findPreviousFilterOffset() {\n let offsetX = 0;\n let offsetY = 0;\n let lastIndex = this._filterStackIndex;\n while (lastIndex > 0) {\n lastIndex--;\n const prevFilterData = this._filterStack[lastIndex];\n if (!prevFilterData.skip) {\n offsetX = prevFilterData.bounds.minX;\n offsetY = prevFilterData.bounds.minY;\n break;\n }\n }\n return { x: offsetX, y: offsetY };\n }\n /**\n * Calculates the filter area bounds based on the instruction type.\n * @param instruction - The filter instruction\n * @param bounds - The bounds object to populate\n */\n _calculateFilterArea(instruction, bounds) {\n if (instruction.renderables) {\n getGlobalRenderableBounds(instruction.renderables, bounds);\n } else if (instruction.filterEffect.filterArea) {\n bounds.clear();\n bounds.addRect(instruction.filterEffect.filterArea);\n bounds.applyMatrix(instruction.container.worldTransform);\n } else {\n instruction.container.getFastGlobalBounds(true, bounds);\n }\n if (instruction.container) {\n const renderGroup = instruction.container.renderGroup || instruction.container.parentRenderGroup;\n const filterFrameTransform = renderGroup.cacheToLocalTransform;\n if (filterFrameTransform) {\n bounds.applyMatrix(filterFrameTransform);\n }\n }\n }\n _applyFiltersToTexture(filterData, clear) {\n const inputTexture = filterData.inputTexture;\n const bounds = filterData.bounds;\n const filters = filterData.filters;\n const firstEnabled = filterData.firstEnabledIndex;\n const lastEnabled = filterData.lastEnabledIndex;\n this._globalFilterBindGroup.setResource(inputTexture.source.style, 2);\n this._globalFilterBindGroup.setResource(filterData.backTexture.source, 3);\n if (firstEnabled === lastEnabled) {\n filters[firstEnabled].apply(this, inputTexture, filterData.outputRenderSurface, clear);\n } else {\n let flip = filterData.inputTexture;\n const tempTexture = TexturePool.getOptimalTexture(\n bounds.width,\n bounds.height,\n flip.source._resolution,\n false\n );\n let flop = tempTexture;\n for (let i = firstEnabled; i < lastEnabled; i++) {\n const filter = filters[i];\n if (!filter.enabled) continue;\n filter.apply(this, flip, flop, true);\n const t = flip;\n flip = flop;\n flop = t;\n }\n filters[lastEnabled].apply(this, flip, filterData.outputRenderSurface, clear);\n TexturePool.returnTexture(tempTexture);\n }\n }\n _calculateFilterBounds(filterData, viewPort, rootAntialias, rootResolution, paddingMultiplier) {\n const renderer = this.renderer;\n const bounds = filterData.bounds;\n const filters = filterData.filters;\n let resolution = Infinity;\n let padding = 0;\n let antialias = true;\n let blendRequired = false;\n let enabled = false;\n let clipToViewport = true;\n let firstEnabledIndex = -1;\n let lastEnabledIndex = -1;\n for (let i = 0; i < filters.length; i++) {\n const filter = filters[i];\n if (!filter.enabled) continue;\n if (firstEnabledIndex === -1) firstEnabledIndex = i;\n lastEnabledIndex = i;\n resolution = Math.min(resolution, filter.resolution === \"inherit\" ? rootResolution : filter.resolution);\n padding += filter.padding;\n if (filter.antialias === \"off\") {\n antialias = false;\n } else if (filter.antialias === \"inherit\") {\n antialias && (antialias = rootAntialias);\n }\n if (!filter.clipToViewport) {\n clipToViewport = false;\n }\n const isCompatible = !!(filter.compatibleRenderers & renderer.type);\n if (!isCompatible) {\n enabled = false;\n break;\n }\n if (filter.blendRequired && !(renderer.backBuffer?.useBackBuffer ?? true)) {\n warn(\"Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options.\");\n enabled = false;\n break;\n }\n enabled = true;\n blendRequired || (blendRequired = filter.blendRequired);\n }\n if (!enabled) {\n filterData.skip = true;\n return;\n }\n if (clipToViewport) {\n bounds.fitBounds(0, viewPort.width / rootResolution, 0, viewPort.height / rootResolution);\n }\n bounds.scale(resolution).ceil().scale(1 / resolution).pad((padding | 0) * paddingMultiplier);\n if (!bounds.isPositive) {\n filterData.skip = true;\n return;\n }\n filterData.antialias = antialias;\n filterData.resolution = resolution;\n filterData.blendRequired = blendRequired;\n filterData.firstEnabledIndex = firstEnabledIndex;\n filterData.lastEnabledIndex = lastEnabledIndex;\n }\n _popFilterData() {\n this._filterStackIndex--;\n return this._filterStack[this._filterStackIndex];\n }\n _getPreviousFilterData() {\n let previousFilterData;\n let index = this._filterStackIndex - 1;\n while (index > 0) {\n index--;\n previousFilterData = this._filterStack[index];\n if (!previousFilterData.skip) {\n break;\n }\n }\n return previousFilterData;\n }\n _pushFilterData() {\n let filterData = this._filterStack[this._filterStackIndex];\n if (!filterData) {\n filterData = this._filterStack[this._filterStackIndex] = new FilterData();\n }\n this._filterStackIndex++;\n return filterData;\n }\n}\n/** @ignore */\nFilterSystem.extension = {\n type: [\n ExtensionType.WebGLSystem,\n ExtensionType.WebGPUSystem\n ],\n name: \"filter\"\n};\n\nexport { FilterSystem };\n//# sourceMappingURL=FilterSystem.mjs.map\n","import { extensions } from '../extensions/Extensions.mjs';\nimport { FilterPipe } from './FilterPipe.mjs';\nimport { FilterSystem } from './FilterSystem.mjs';\n\n\"use strict\";\nextensions.add(FilterSystem);\nextensions.add(FilterPipe);\n//# sourceMappingURL=init.mjs.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
@@ -1,4 +1,4 @@
1
- import { aR, aS, aB, aC, aD, as, at, au, aN, aH, av, aw, ax, ay, az, aA, aO, aP, aQ, aF, aG, aE, aL, aI, aK, aJ, aq, ar, ap, aM } from "./index-DoDkGrtt.js";
1
+ import { aR, aS, aB, aC, aD, as, at, au, aN, aH, av, aw, ax, ay, az, aA, aO, aP, aQ, aF, aG, aE, aL, aI, aK, aJ, aq, ar, ap, aM } from "./index-pPFTSf2O.js";
2
2
  export {
3
3
  aR as CollectionMapPanel,
4
4
  aS as CollectionMapPanelContent,
@@ -0,0 +1,3 @@
1
+ import "./index-pPFTSf2O.js";
2
+ import "./init-CfSmqCnm.js";
3
+ //# sourceMappingURL=webworkerAll-TcJuZTza.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webworkerAll-TcJuZTza.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@industry-theme/repository-composition-panels",
3
- "version": "0.7.13",
3
+ "version": "0.7.14",
4
4
  "description": "Repository composition panels including Git Changes panel for the panel framework",
5
5
  "type": "module",
6
6
  "main": "dist/panels.bundle.js",
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- interface LogoProps {
3
- size?: number;
4
- className?: string;
5
- style?: React.CSSProperties;
6
- }
7
- export declare const TurboLogo: React.FC<LogoProps>;
8
- export declare const NxLogo: React.FC<LogoProps>;
9
- export declare const LernaLogo: React.FC<LogoProps>;
10
- export declare const PnpmLogo: React.FC<LogoProps>;
11
- export declare const RushLogo: React.FC<LogoProps>;
12
- export declare const orchestratorLogos: {
13
- readonly turbo: React.FC<LogoProps>;
14
- readonly nx: React.FC<LogoProps>;
15
- readonly lerna: React.FC<LogoProps>;
16
- readonly pnpm: React.FC<LogoProps>;
17
- readonly rush: React.FC<LogoProps>;
18
- };
19
- export declare const orchestratorColors: {
20
- readonly turbo: "#FF1E56";
21
- readonly nx: "#143055";
22
- readonly lerna: "#9333EA";
23
- readonly pnpm: "#F69220";
24
- readonly rush: "#0078D4";
25
- readonly none: "#6B7280";
26
- };
27
- export {};
28
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/orchestrators/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAczC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CActC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAczC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAcxC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAcxC,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,35 +0,0 @@
1
- import type { PanelDefinition } from './types';
2
- /**
3
- * Export array of panel definitions.
4
- * This is the required export for panel extensions.
5
- *
6
- * Note: Uses `any` for both TActions and TContext because this is a heterogeneous array containing
7
- * panels with different action and context type requirements (e.g., CollectionMapPanelActions, CollectionMapPanelContext).
8
- * Each panel definition is still individually type-checked.
9
- */
10
- export declare const panels: ReadonlyArray<PanelDefinition<any, any>>;
11
- /**
12
- * Optional: Called once when the entire package is loaded.
13
- */
14
- export declare const onPackageLoad: () => Promise<void>;
15
- /**
16
- * Optional: Called once when the package is unloaded.
17
- */
18
- export declare const onPackageUnload: () => Promise<void>;
19
- export { GitChangesPanel, GitChangesPanelContent, GitChangesPanelPreview, } from './panels/GitChangesPanel';
20
- export type { GitChangesPanelProps, ContextMenuAction, } from './panels/GitChangesPanel';
21
- export { PackageCompositionPanel, PackageCompositionPanelContent, PackageCompositionPanelPreview, } from './panels/PackageCompositionPanel';
22
- export type { PackageCompositionPanelProps } from './panels/PackageCompositionPanel';
23
- export { SearchPanel, SearchPanelContent, SearchPanelPreview, } from './panels/SearchPanel';
24
- export type { SearchPanelProps } from './panels/SearchPanel';
25
- export { DependencyGraphPanel, DependencyGraphPanelContent, DependencyGraphPanelPreview, dependencyTreeToCanvas, applyForceLayout, applySugiyamaLayout, } from './panels/dependency-graph';
26
- export type { DependencyGraphPanelProps, DependencyCanvasOptions, ForceLayoutOptions, SugiyamaLayoutOptions, } from './panels/dependency-graph';
27
- export { OverworldMapPanelContent, nodesToOverworldMap, nodesToUnifiedOverworldMap, nodesToOverworldMapCollection, gridToScreen, screenToGrid, MAX_NODES_PER_MAP, } from './panels/overworld-map';
28
- export type { OverworldMapPanelProps, OverworldMap, OverworldMapCollection, MapRegion, LocationNode, PathConnection, GenericNode, GenericMapperOptions, } from './panels/overworld-map';
29
- export { TelemetryCoveragePanel, TelemetryCoveragePanelContent, TelemetryCoveragePanelPreview, } from './panels/TelemetryCoveragePanel';
30
- export type { TelemetryCoveragePanelProps, PackageTelemetryCoverage, } from './panels/TelemetryCoveragePanel';
31
- export { CollectionMapPanel, CollectionMapPanelContent, } from './panels/CollectionMapPanel';
32
- export type { CollectionMapPanelProps, AlexandriaEntryWithMetrics, RegionCallbacks, CollectionMapPanelActions, CollectionMapPanelContext, SelectedCollectionView, } from './panels/CollectionMapPanel';
33
- export type { Collection, CollectionMembership, CustomRegion, CollectionMetadata, CollectionMembershipMetadata, RepositoryLayoutData, } from '@principal-ai/alexandria-collections';
34
- export type { GitStatus, GitChangeSelectionStatus, GitFileStatus, FileTree, PanelComponentProps, PanelDefinition, PanelContextValue, PackageLayer, PackageCommand, ConfigFile, QualityMetrics, DependencyItem, PackageSummary, PackagesSliceData, } from './types';
35
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAElE;;;;;;;GAOG;AAEH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAuJ3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,qBAGzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,qBAG3B,CAAC;AAGF,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,wBAAwB,EAExB,mBAAmB,EACnB,0BAA0B,EAC1B,6BAA6B,EAE7B,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EACX,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EACV,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import type { PanelComponentProps, PanelContextValue, PanelActions, PanelEventEmitter } from '../types';
3
- /**
4
- * Mock Panel Context for Storybook
5
- */
6
- export declare const createMockContext: (overrides?: Partial<PanelContextValue>) => PanelContextValue;
7
- /**
8
- * Mock Panel Actions for Storybook
9
- */
10
- export declare const createMockActions: (overrides?: Partial<PanelActions>) => PanelActions;
11
- /**
12
- * Mock Event Emitter for Storybook
13
- */
14
- export declare const createMockEvents: () => PanelEventEmitter;
15
- /**
16
- * Mock Panel Props Provider
17
- * Wraps components with mock context and ThemeProvider for Storybook
18
- */
19
- export declare const MockPanelProvider: React.FC<{
20
- children: (props: PanelComponentProps) => React.ReactNode;
21
- contextOverrides?: Partial<PanelContextValue>;
22
- actionsOverrides?: Partial<PanelActions>;
23
- }>;
24
- //# sourceMappingURL=panelContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,KACrC,iBAuBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1C,CAMA,CAAC"}
@@ -1,132 +0,0 @@
1
- /**
2
- * CollectionMapPanel - Visualize Alexandria Collections as overworld maps
3
- */
4
- import React from 'react';
5
- import type { PanelComponentProps, PanelActions, RepositoryMetadata, DataSlice } from '../types';
6
- import type { RegionLayout } from './overworld-map/genericMapper';
7
- import type { AlexandriaEntry } from '@principal-ai/alexandria-core-library/types';
8
- import type { PackageLayer } from '../types/composition';
9
- import type { CustomRegion, RepositoryLayoutData, Collection } from '@principal-ai/alexandria-collections';
10
- /**
11
- * Extended Alexandria Entry with metrics for visualization sizing
12
- * (Local extension until metrics are added to upstream)
13
- */
14
- export interface AlexandriaEntryWithMetrics extends AlexandriaEntry {
15
- /** Repository metrics for visualization sizing */
16
- metrics?: {
17
- fileCount?: number;
18
- lineCount?: number;
19
- commitCount?: number;
20
- contributors?: number;
21
- lastEditedAt?: string;
22
- createdAt?: string;
23
- };
24
- /** Optional array of packages for monorepos */
25
- packages?: PackageLayer[];
26
- /** Extended github fields (supplement to AlexandriaEntry.github) */
27
- github?: AlexandriaEntry['github'] & {
28
- ownerAvatar?: string;
29
- };
30
- }
31
- /**
32
- * Callbacks for region management
33
- */
34
- export interface RegionCallbacks {
35
- /** Create a new custom region */
36
- onRegionCreated: (collectionId: string, region: Omit<CustomRegion, 'id'>) => Promise<CustomRegion>;
37
- /** Update an existing region */
38
- onRegionUpdated: (collectionId: string, regionId: string, updates: Partial<CustomRegion>) => Promise<void>;
39
- /** Delete a region */
40
- onRegionDeleted: (collectionId: string, regionId: string) => Promise<void>;
41
- /** Assign a repository to a region (used when manually adding repos) */
42
- onRepositoryAssigned: (collectionId: string, repositoryId: string, regionId: string) => Promise<void>;
43
- /** Update a repository's manual position (used when dragging sprites) */
44
- onRepositoryPositionUpdated: (collectionId: string, repositoryId: string, layout: RepositoryLayoutData) => Promise<void>;
45
- /**
46
- * Batch initialize layout (regions + assignments + positions)
47
- * Called once when collection loads to compute initial layout
48
- * Reduces re-renders from N to 1
49
- */
50
- onBatchLayoutInitialized: (collectionId: string, updates: {
51
- regions?: CustomRegion[];
52
- assignments?: Array<{
53
- repositoryId: string;
54
- regionId: string;
55
- }>;
56
- positions?: Array<{
57
- repositoryId: string;
58
- layout: RepositoryLayoutData;
59
- }>;
60
- }) => Promise<void>;
61
- }
62
- /**
63
- * Actions interface required by CollectionMapPanel
64
- * Extends PanelActions with region management callbacks and repository addition
65
- */
66
- export interface CollectionMapPanelActions extends PanelActions, RegionCallbacks {
67
- /** Add a repository to a collection (for drag-drop integration) */
68
- addRepositoryToCollection: (collectionId: string, repositoryPath: string, repositoryMetadata: RepositoryMetadata) => Promise<void>;
69
- /** Callback when a repository is clicked (without being moved), or null when clicking empty space to deselect */
70
- onRepositoryClicked?: (repositoryId: string | null) => void;
71
- /** Currently selected repository ID */
72
- selectedRepositoryId?: string | null;
73
- }
74
- /**
75
- * Context interface for CollectionMapPanel data slices
76
- * The panel expects the host to provide data for the SELECTED collection only
77
- */
78
- export interface CollectionMapPanelContext {
79
- selectedCollectionView: DataSlice<{
80
- /** The selected collection to display (null when no collection is selected) */
81
- collection: Collection | null;
82
- /** Repositories ONLY for the selected collection (already filtered by host) */
83
- repositories: AlexandriaEntryWithMetrics[];
84
- /** Optional dependency graph for connections between repos */
85
- dependencies?: Record<string, string[]>;
86
- }>;
87
- }
88
- /**
89
- * Type alias for the selectedCollectionView property
90
- * Exported for convenience so hosts don't need to use indexed access types
91
- */
92
- export type SelectedCollectionView = CollectionMapPanelContext['selectedCollectionView'];
93
- export interface CollectionMapPanelProps {
94
- /** The collection to visualize as an overworld map */
95
- collection: Collection;
96
- /** Full repository data */
97
- repositories: AlexandriaEntryWithMetrics[];
98
- /** Optional dependency graph for connections between repos */
99
- dependencies?: Record<string, string[]>;
100
- /** Region layout configuration (columns, rows, fill direction) */
101
- regionLayout?: RegionLayout;
102
- /** Panel width */
103
- width?: number;
104
- /** Panel height */
105
- height?: number;
106
- /** Loading state */
107
- isLoading?: boolean;
108
- /** Callbacks for region management operations (REQUIRED) */
109
- regionCallbacks: RegionCallbacks;
110
- /** Add a repository to the collection (for drag-drop) */
111
- addRepositoryToCollection: (collectionId: string, repositoryPath: string, repositoryMetadata: RepositoryMetadata) => Promise<void>;
112
- /** Callback when a repository is clicked (without being moved), or null when clicking empty space to deselect */
113
- onRepositoryClicked?: (repositoryId: string | null) => void;
114
- /** Currently selected repository ID */
115
- selectedRepositoryId?: string | null;
116
- /** Callback when hovering over a package within a monorepo */
117
- onPackageHover?: (repositoryId: string, packageName: string) => void;
118
- /** Callback when hover ends on a package within a monorepo */
119
- onPackageHoverEnd?: (repositoryId: string, packageName: string) => void;
120
- /** Callback when clicking on a package within a monorepo */
121
- onPackageClick?: (repositoryId: string, packageName: string) => void;
122
- }
123
- /**
124
- * CollectionMapPanelContent Component
125
- * Converts Alexandria Collections to overworld map visualization
126
- */
127
- export declare const CollectionMapPanelContent: React.FC<CollectionMapPanelProps>;
128
- /**
129
- * Main panel component that integrates with the panel framework
130
- */
131
- export declare const CollectionMapPanel: React.FC<PanelComponentProps<CollectionMapPanelActions, CollectionMapPanelContext>>;
132
- //# sourceMappingURL=CollectionMapPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollectionMapPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CollectionMapPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import React from 'react';
2
- import type { FileTree, GitStatusWithFiles } from '@principal-ai/repository-abstraction';
3
- import type { GitChangeSelectionStatus, GitChangesPanelPropsTyped } from '../types';
4
- import './GitChangesPanel.css';
5
- export type ContextMenuAction = {
6
- type: 'copyFullPath';
7
- path: string;
8
- } | {
9
- type: 'copyRelativePath';
10
- path: string;
11
- } | {
12
- type: 'openFile';
13
- path: string;
14
- } | {
15
- type: 'openFolder';
16
- path: string;
17
- };
18
- export interface GitChangesPanelProps {
19
- /** Git status data with categorized file paths */
20
- gitStatus: GitStatusWithFiles;
21
- /** Complete file tree structure - git status will be overlaid on this tree */
22
- fileTree: FileTree;
23
- /** Root path for the repository */
24
- rootPath?: string;
25
- /** Whether git status is currently loading */
26
- isLoading?: boolean;
27
- /** Callback when a file is clicked */
28
- onFileClick?: (filePath: string, status?: GitChangeSelectionStatus) => void;
29
- /** Callback when a context menu action is triggered */
30
- onContextMenuAction?: (action: ContextMenuAction) => void;
31
- /** Message to display when there are no changes */
32
- emptyMessage?: string;
33
- /** Message to display while loading */
34
- loadingMessage?: string;
35
- /** Currently selected file path */
36
- selectedFile?: string;
37
- }
38
- /**
39
- * GitChangesPanelContent - Internal component that renders the git changes UI
40
- * Can be used directly with props or via the framework wrapper
41
- */
42
- export declare const GitChangesPanelContent: React.FC<GitChangesPanelProps>;
43
- export declare const GitChangesPanelPreview: React.FC;
44
- /**
45
- * GitChangesPanel - Panel Framework compatible component
46
- */
47
- export declare const GitChangesPanel: React.FC<GitChangesPanelPropsTyped>;
48
- //# sourceMappingURL=GitChangesPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitChangesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitChangesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAGnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,uBAAuB,CAAC;AA4B/B,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,SAAS,EAAE,kBAAkB,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,EAAE,QAAQ,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5E,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1D,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2ajE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAiD1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA4D/D,CAAC"}
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import type { PackageCompositionPanelPropsTyped, PanelEventEmitter } from '../types';
3
- import type { PackageLayer, ConfigFile, PackageCommand } from '../types/composition';
4
- export interface PackageCompositionPanelProps {
5
- /** Detected packages in the repository */
6
- packages: PackageLayer[];
7
- /** Whether package data is loading */
8
- isLoading?: boolean;
9
- /** Manifest files found in the project (for empty state display) */
10
- foundManifests?: string[];
11
- /** Whether the GitHub repository is public (undefined if no GitHub info) */
12
- isGitHubPublic?: boolean;
13
- /** Callback when a command is clicked */
14
- onCommandClick?: (command: PackageCommand, packagePath: string) => void;
15
- /** Callback when a config file is clicked */
16
- onConfigClick?: (configFile: ConfigFile) => void;
17
- /** Callback when a package folder is clicked */
18
- onPackageClick?: (packagePath: string) => void;
19
- /** Callback when hovering over a package (null when hover ends) */
20
- onPackageHover?: (pkg: PackageLayer | null) => void;
21
- /** Callback when a package is selected (null when deselected) */
22
- onPackageSelect?: (pkg: PackageLayer | null) => void;
23
- /** Event emitter for panel communication */
24
- events?: PanelEventEmitter;
25
- /** Read file content from the repository */
26
- readFile?: (filePath: string) => Promise<string>;
27
- }
28
- /**
29
- * PackageCompositionPanelContent - Internal component that renders the package composition UI
30
- */
31
- export declare const PackageCompositionPanelContent: React.FC<PackageCompositionPanelProps>;
32
- export declare const PackageCompositionPanelPreview: React.FC;
33
- /**
34
- * PackageCompositionPanel - Panel Framework compatible component
35
- */
36
- export declare const PackageCompositionPanel: React.FC<PackageCompositionPanelPropsTyped>;
37
- //# sourceMappingURL=PackageCompositionPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PackageCompositionPanel.d.ts","sourceRoot":"","sources":["../../src/panels/PackageCompositionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAiBjD,OAAO,KAAK,EACV,iCAAiC,EACjC,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,4BAA4B;IAC3C,0CAA0C;IAC1C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACjD,gDAAgD;IAChD,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,mEAAmE;IACnE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,iEAAiE;IACjE,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,4CAA4C;IAC5C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CACnD,4BAA4B,CAqL7B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAsDlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAC5C,iCAAiC,CAmDlC,CAAC"}