react-native-shine 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/lib/module/components/Content.js +39 -34
  2. package/lib/module/components/Content.js.map +1 -1
  3. package/lib/module/components/ShineGroup.js +0 -2
  4. package/lib/module/components/ShineGroup.js.map +1 -1
  5. package/lib/module/config/debugMode.js +5 -0
  6. package/lib/module/config/debugMode.js.map +1 -0
  7. package/lib/module/enums/colorPresets.js +71 -0
  8. package/lib/module/enums/colorPresets.js.map +1 -0
  9. package/lib/module/enums/waveCallback.js +2 -1
  10. package/lib/module/enums/waveCallback.js.map +1 -1
  11. package/lib/module/index.js +1 -0
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/shaders/bindGroupLayouts.js +11 -1
  14. package/lib/module/shaders/bindGroupLayouts.js.map +1 -1
  15. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js +28 -0
  16. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js.map +1 -0
  17. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +42 -6
  18. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -1
  19. package/lib/module/shaders/fragmentShaders/glareFragment.js +4 -5
  20. package/lib/module/shaders/fragmentShaders/glareFragment.js.map +1 -1
  21. package/lib/module/shaders/fragmentShaders/holoFragment.js +10 -2
  22. package/lib/module/shaders/fragmentShaders/holoFragment.js.map +1 -1
  23. package/lib/module/shaders/fragmentShaders/maskFragment.js +1 -0
  24. package/lib/module/shaders/fragmentShaders/maskFragment.js.map +1 -1
  25. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js +1 -0
  26. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js.map +1 -1
  27. package/lib/module/shaders/resourceManagement/bitmaps.js +4 -3
  28. package/lib/module/shaders/resourceManagement/bitmaps.js.map +1 -1
  29. package/lib/module/shaders/resourceManagement/bufferManager.js +6 -1
  30. package/lib/module/shaders/resourceManagement/bufferManager.js.map +1 -1
  31. package/lib/module/shaders/resourceManagement/textures.js.map +1 -1
  32. package/lib/module/shaders/tgpuUtils.js +62 -34
  33. package/lib/module/shaders/tgpuUtils.js.map +1 -1
  34. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js +1 -0
  35. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js.map +1 -1
  36. package/lib/module/shaders/vertexShaders/mainVertex.js +1 -0
  37. package/lib/module/shaders/vertexShaders/mainVertex.js.map +1 -1
  38. package/lib/module/types/typeUtils.js +39 -4
  39. package/lib/module/types/typeUtils.js.map +1 -1
  40. package/lib/module/utils/vector.js +7 -0
  41. package/lib/module/utils/vector.js.map +1 -1
  42. package/lib/typescript/src/components/Content.d.ts +4 -2
  43. package/lib/typescript/src/components/Content.d.ts.map +1 -1
  44. package/lib/typescript/src/components/ShineGroup.d.ts +1 -1
  45. package/lib/typescript/src/components/ShineGroup.d.ts.map +1 -1
  46. package/lib/typescript/src/config/debugMode.d.ts +3 -0
  47. package/lib/typescript/src/config/debugMode.d.ts.map +1 -0
  48. package/lib/typescript/src/enums/colorPresets.d.ts +33 -0
  49. package/lib/typescript/src/enums/colorPresets.d.ts.map +1 -0
  50. package/lib/typescript/src/index.d.ts +1 -0
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +32 -10
  53. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -1
  54. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +20 -0
  55. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -1
  56. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts +5 -0
  57. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts.map +1 -0
  58. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -1
  59. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts.map +1 -1
  60. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts.map +1 -1
  61. package/lib/typescript/src/shaders/resourceManagement/bitmaps.d.ts.map +1 -1
  62. package/lib/typescript/src/shaders/resourceManagement/bufferManager.d.ts.map +1 -1
  63. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts +3 -3
  64. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts.map +1 -1
  65. package/lib/typescript/src/shaders/tgpuUtils.d.ts +1 -0
  66. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -1
  67. package/lib/typescript/src/types/typeUtils.d.ts +10 -0
  68. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -1
  69. package/lib/typescript/src/types/types.d.ts +10 -0
  70. package/lib/typescript/src/types/types.d.ts.map +1 -1
  71. package/lib/typescript/src/utils/vector.d.ts +1 -0
  72. package/lib/typescript/src/utils/vector.d.ts.map +1 -1
  73. package/package.json +4 -4
  74. package/src/components/Content.tsx +48 -22
  75. package/src/components/ShineGroup.tsx +0 -2
  76. package/src/config/debugMode.ts +2 -0
  77. package/src/enums/colorPresets.ts +41 -0
  78. package/src/enums/waveCallback.ts +1 -1
  79. package/src/index.tsx +1 -0
  80. package/src/shaders/bindGroupLayouts.ts +10 -0
  81. package/src/shaders/fragmentShaders/baseTextureFragment.ts +18 -0
  82. package/src/shaders/fragmentShaders/colorMaskFragment.ts +55 -4
  83. package/src/shaders/fragmentShaders/glareFragment.ts +2 -4
  84. package/src/shaders/fragmentShaders/holoFragment.ts +7 -1
  85. package/src/shaders/resourceManagement/bitmaps.ts +4 -3
  86. package/src/shaders/resourceManagement/bufferManager.ts +10 -1
  87. package/src/shaders/resourceManagement/textures.ts +3 -3
  88. package/src/shaders/tgpuUtils.ts +55 -43
  89. package/src/types/typeUtils.ts +36 -2
  90. package/src/types/types.ts +7 -0
  91. package/src/utils/vector.ts +4 -0
@@ -4,6 +4,7 @@ import tgpu from 'typegpu';
4
4
  import * as d from 'typegpu/data';
5
5
  import * as std from 'typegpu/std';
6
6
  import { textureBindGroupLayout, colorMaskBindGroupLayout } from "../bindGroupLayouts.js";
7
+ import { rgbToHSV } from "../tgpuUtils.js";
7
8
  const colorMaskFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~unstable'].fragmentFn({
8
9
  in: {
9
10
  uv: d.vec2f
@@ -14,24 +15,59 @@ const colorMaskFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~u
14
15
  const mask = colorMaskBindGroupLayout.$.mask;
15
16
  const maskedColor = mask.baseColor;
16
17
  const rgbToleranceRange = mask.rgbToleranceRange;
18
+ const useHSV = mask.useHSV;
19
+ const hueToleranceRange = mask.hueToleranceRange;
20
+ const hueUpper = hueToleranceRange.upper;
21
+ const hueLower = hueToleranceRange.lower;
22
+ const brightnessTolerance = mask.brightnessTolerance;
23
+ const saturationTolerance = mask.saturationTolerance;
24
+ const lowSaturationThreshold = mask.lowSaturationThreshold;
25
+ const lowBrightnessThreshold = mask.lowBrightnessThreshold;
26
+ const colorMaskDebug = mask.debugMode;
17
27
  let color = std.textureSample(textureBindGroupLayout.$.texture, textureBindGroupLayout.$.sampler, texcoord);
18
28
  const maskedColorLower = std.sub(maskedColor, rgbToleranceRange.lower);
19
29
  const maskedColorUpper = std.add(maskedColor, rgbToleranceRange.upper);
20
30
  const upperCheck = std.all(std.le(color.xyz, maskedColorUpper));
21
31
  const lowerCheck = std.all(std.ge(color.xyz, maskedColorLower));
22
- if (upperCheck && lowerCheck) {
23
- return d.vec4f(color.xyz, 0.0);
24
- }
25
- return d.vec4f(color.xyz, color.w);
32
+ const rgbCheck = upperCheck && lowerCheck;
33
+ const maskedHSV = rgbToHSV(maskedColor);
34
+ const colorHSV = rgbToHSV(color.xyz);
35
+ let hueDiff = std.sub(colorHSV.x, maskedHSV.x);
36
+ hueDiff = std.select(hueDiff, std.sub(hueDiff, 1.0), hueDiff > d.f32(0.5));
37
+ hueDiff = std.select(hueDiff, std.add(hueDiff, 1.0), hueDiff < d.f32(-0.5));
38
+ const lowerHueCheck = hueDiff >= -hueLower;
39
+ const upperHueCheck = hueDiff <= hueUpper;
40
+ let hueCheck = lowerHueCheck && upperHueCheck;
41
+ const saturationDiff = std.abs(std.sub(colorHSV.y, maskedHSV.y));
42
+ const saturationCheck = saturationDiff <= saturationTolerance;
43
+ const brightnessDiff = std.abs(std.sub(colorHSV.z, maskedHSV.z));
44
+ const brightnessCheck = brightnessDiff <= brightnessTolerance;
45
+ const pixelIsGray = colorHSV.y < lowSaturationThreshold;
46
+ const targetIsGray = maskedHSV.y < lowSaturationThreshold;
47
+ const pixelIsBlack = colorHSV.z < lowBrightnessThreshold;
48
+ const targetIsBlack = maskedHSV.z < lowBrightnessThreshold;
49
+
50
+ //hue is unstable when either color is gray or black (low saturation or low brightness)
51
+ const hueIsUnstable = pixelIsGray || targetIsGray || pixelIsBlack || targetIsBlack;
52
+ hueCheck = std.select(hueCheck, d.bool(true), hueIsUnstable);
53
+ const hsvCheck = hueCheck && saturationCheck && brightnessCheck;
54
+ const maskCheck = std.select(rgbCheck, hsvCheck, useHSV === d.u32(1));
55
+ color = std.select(color, d.vec4f(color.xyz, 0.0), maskCheck);
56
+
57
+ //debug - shows masked areas coloring them red
58
+ color = std.select(color, d.vec4f(1.0, 0.0, 0.0, 0.0), maskCheck && colorMaskDebug === d.u32(1));
59
+ return color;
26
60
  }, {
27
61
  v: 1,
28
- ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"mask",[7,[7,"colorMaskBindGroupLayout","$"],"mask"]],[13,"maskedColor",[7,"mask","baseColor"]],[13,"rgbToleranceRange",[7,"mask","rgbToleranceRange"]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"maskedColorLower",[6,[7,"std","sub"],["maskedColor",[7,"rgbToleranceRange","lower"]]]],[13,"maskedColorUpper",[6,[7,"std","add"],["maskedColor",[7,"rgbToleranceRange","upper"]]]],[13,"upperCheck",[6,[7,"std","all"],[[6,[7,"std","le"],[[7,"color","xyz"],"maskedColorUpper"]]]]],[13,"lowerCheck",[6,[7,"std","all"],[[6,[7,"std","ge"],[[7,"color","xyz"],"maskedColorLower"]]]]],[11,[3,"upperCheck","&&","lowerCheck"],[0,[[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[5,"0"]]]]]]],[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[7,"color","w"]]]]]],"externalNames":["d","colorMaskBindGroupLayout","std","textureBindGroupLayout"]},
62
+ name: void 0,
63
+ ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"mask",[7,[7,"colorMaskBindGroupLayout","$"],"mask"]],[13,"maskedColor",[7,"mask","baseColor"]],[13,"rgbToleranceRange",[7,"mask","rgbToleranceRange"]],[13,"useHSV",[7,"mask","useHSV"]],[13,"hueToleranceRange",[7,"mask","hueToleranceRange"]],[13,"hueUpper",[7,"hueToleranceRange","upper"]],[13,"hueLower",[7,"hueToleranceRange","lower"]],[13,"brightnessTolerance",[7,"mask","brightnessTolerance"]],[13,"saturationTolerance",[7,"mask","saturationTolerance"]],[13,"lowSaturationThreshold",[7,"mask","lowSaturationThreshold"]],[13,"lowBrightnessThreshold",[7,"mask","lowBrightnessThreshold"]],[13,"colorMaskDebug",[7,"mask","debugMode"]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"maskedColorLower",[6,[7,"std","sub"],["maskedColor",[7,"rgbToleranceRange","lower"]]]],[13,"maskedColorUpper",[6,[7,"std","add"],["maskedColor",[7,"rgbToleranceRange","upper"]]]],[13,"upperCheck",[6,[7,"std","all"],[[6,[7,"std","le"],[[7,"color","xyz"],"maskedColorUpper"]]]]],[13,"lowerCheck",[6,[7,"std","all"],[[6,[7,"std","ge"],[[7,"color","xyz"],"maskedColorLower"]]]]],[13,"rgbCheck",[3,"upperCheck","&&","lowerCheck"]],[13,"maskedHSV",[6,"rgbToHSV",["maskedColor"]]],[13,"colorHSV",[6,"rgbToHSV",[[7,"color","xyz"]]]],[12,"hueDiff",[6,[7,"std","sub"],[[7,"colorHSV","x"],[7,"maskedHSV","x"]]]],[2,"hueDiff","=",[6,[7,"std","select"],["hueDiff",[6,[7,"std","sub"],["hueDiff",[5,"1"]]],[1,"hueDiff",">",[6,[7,"d","f32"],[[5,"0.5"]]]]]]],[2,"hueDiff","=",[6,[7,"std","select"],["hueDiff",[6,[7,"std","add"],["hueDiff",[5,"1"]]],[1,"hueDiff","<",[6,[7,"d","f32"],[[4,"-",[5,"0.5"]]]]]]]],[13,"lowerHueCheck",[1,"hueDiff",">=",[4,"-","hueLower"]]],[13,"upperHueCheck",[1,"hueDiff","<=","hueUpper"]],[12,"hueCheck",[3,"lowerHueCheck","&&","upperHueCheck"]],[13,"saturationDiff",[6,[7,"std","abs"],[[6,[7,"std","sub"],[[7,"colorHSV","y"],[7,"maskedHSV","y"]]]]]],[13,"saturationCheck",[1,"saturationDiff","<=","saturationTolerance"]],[13,"brightnessDiff",[6,[7,"std","abs"],[[6,[7,"std","sub"],[[7,"colorHSV","z"],[7,"maskedHSV","z"]]]]]],[13,"brightnessCheck",[1,"brightnessDiff","<=","brightnessTolerance"]],[13,"pixelIsGray",[1,[7,"colorHSV","y"],"<","lowSaturationThreshold"]],[13,"targetIsGray",[1,[7,"maskedHSV","y"],"<","lowSaturationThreshold"]],[13,"pixelIsBlack",[1,[7,"colorHSV","z"],"<","lowBrightnessThreshold"]],[13,"targetIsBlack",[1,[7,"maskedHSV","z"],"<","lowBrightnessThreshold"]],[13,"hueIsUnstable",[3,[3,[3,"pixelIsGray","||","targetIsGray"],"||","pixelIsBlack"],"||","targetIsBlack"]],[2,"hueCheck","=",[6,[7,"std","select"],["hueCheck",[6,[7,"d","bool"],[true]],"hueIsUnstable"]]],[13,"hsvCheck",[3,[3,"hueCheck","&&","saturationCheck"],"&&","brightnessCheck"]],[13,"maskCheck",[6,[7,"std","select"],["rgbCheck","hsvCheck",[1,"useHSV","==",[6,[7,"d","u32"],[[5,"1"]]]]]]],[2,"color","=",[6,[7,"std","select"],["color",[6,[7,"d","vec4f"],[[7,"color","xyz"],[5,"0"]]],"maskCheck"]]],[2,"color","=",[6,[7,"std","select"],["color",[6,[7,"d","vec4f"],[[5,"1"],[5,"0"],[5,"0"],[5,"0"]]],[3,"maskCheck","&&",[1,"colorMaskDebug","==",[6,[7,"d","u32"],[[5,"1"]]]]]]]],[10,"color"]]],"externalNames":["d","colorMaskBindGroupLayout","std","textureBindGroupLayout","rgbToHSV"]},
29
64
  get externals() {
30
65
  return {
31
66
  d,
32
67
  colorMaskBindGroupLayout,
33
68
  std,
34
- textureBindGroupLayout
69
+ textureBindGroupLayout,
70
+ rgbToHSV
35
71
  };
36
72
  }
37
73
  }) && $.f)({})), "colorMaskFragment");
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","colorMaskBindGroupLayout","colorMaskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","maskedColor","baseColor","rgbToleranceRange","color","textureSample","texture","sampler","maskedColorLower","sub","lower","maskedColorUpper","add","upper","upperCheck","all","le","xyz","lowerCheck","ge","w","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[7,[7,\"colorMaskBindGroupLayout\",\"$\"],\"mask\"]],[13,\"maskedColor\",[7,\"mask\",\"baseColor\"]],[13,\"rgbToleranceRange\",[7,\"mask\",\"rgbToleranceRange\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"maskedColorLower\",[6,[7,\"std\",\"sub\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"lower\"]]]],[13,\"maskedColorUpper\",[6,[7,\"std\",\"add\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"upper\"]]]],[13,\"upperCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"le\"],[[7,\"color\",\"xyz\"],\"maskedColorUpper\"]]]]],[13,\"lowerCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"ge\"],[[7,\"color\",\"xyz\"],\"maskedColorLower\"]]]]],[11,[3,\"upperCheck\",\"&&\",\"lowerCheck\"],[0,[[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[5,\"0\"]]]]]]],[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[7,\"color\",\"w\"]]]]]],\"externalNames\":[\"d\",\"colorMaskBindGroupLayout\",\"std\",\"textureBindGroupLayout\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/colorMaskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,wBAAwB,QACnB,wBAAqB;AAE5B,MAAMC,iBAAiB,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGR,IAAI,CAAC,WAAW,CAAC,CAACS,UAAU,CAAC;EACrDC,EAAE,EAAE;IAAEC,EAAE,EAAEV,CAAC,CAACW;EAAM,CAAC;EACnBC,GAAG,EAAEZ,CAAC,CAACa;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGpB,CAAC,CAACW,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGpB,wBAAwB,CAACW,CAAC,CAACS,IAAI;EAC5C,MAAMC,WAAW,GAAGD,IAAI,CAACE,SAAS;EAClC,MAAMC,iBAAiB,GAAGH,IAAI,CAACG,iBAAiB;EAEhD,IAAIC,KAAK,GAAG1B,GAAG,CAAC2B,aAAa,CAC3B1B,sBAAsB,CAACY,CAAC,CAACe,OAAO,EAChC3B,sBAAsB,CAACY,CAAC,CAACgB,OAAO,EAChCV,QACF,CAAC;EAED,MAAMW,gBAAgB,GAAG9B,GAAG,CAAC+B,GAAG,CAACR,WAAW,EAAEE,iBAAiB,CAACO,KAAK,CAAC;EACtE,MAAMC,gBAAgB,GAAGjC,GAAG,CAACkC,GAAG,CAACX,WAAW,EAAEE,iBAAiB,CAACU,KAAK,CAAC;EACtE,MAAMC,UAAU,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,EAAE,CAACZ,KAAK,CAACa,GAAG,EAAEN,gBAAgB,CAAC,CAAC;EAC/D,MAAMO,UAAU,GAAGxC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACyC,EAAE,CAACf,KAAK,CAACa,GAAG,EAAET,gBAAgB,CAAC,CAAC;EAC/D,IAAIM,UAAU,IAAII,UAAU,EAAE;IAC5B,OAAOzC,CAAC,CAACa,KAAK,CAACc,KAAK,CAACa,GAAG,EAAE,GAAG,CAAC;EAChC;EACA,OAAOxC,CAAC,CAACa,KAAK,CAACc,KAAK,CAACa,GAAG,EAAEb,KAAK,CAACgB,CAAC,CAAC;AACpC,CAAC;EAAAC,CAAA;EAAAC,GAAA,EAAAC,2jCAAA;EAAA,IAAAC,UAAA;IAAA;MAAA/C,CAAA;MAAAG,wBAAA;MAAAF,GAAA;MAAAC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,4BAAC;AAEF,eAAed,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","colorMaskBindGroupLayout","rgbToHSV","colorMaskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","maskedColor","baseColor","rgbToleranceRange","useHSV","hueToleranceRange","hueUpper","upper","hueLower","lower","brightnessTolerance","saturationTolerance","lowSaturationThreshold","lowBrightnessThreshold","colorMaskDebug","debugMode","color","textureSample","texture","sampler","maskedColorLower","sub","maskedColorUpper","add","upperCheck","all","le","xyz","lowerCheck","ge","rgbCheck","maskedHSV","colorHSV","hueDiff","select","f32","lowerHueCheck","upperHueCheck","hueCheck","saturationDiff","abs","saturationCheck","brightnessDiff","z","brightnessCheck","pixelIsGray","targetIsGray","pixelIsBlack","targetIsBlack","hueIsUnstable","bool","hsvCheck","maskCheck","u32","v","name","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[7,[7,\"colorMaskBindGroupLayout\",\"$\"],\"mask\"]],[13,\"maskedColor\",[7,\"mask\",\"baseColor\"]],[13,\"rgbToleranceRange\",[7,\"mask\",\"rgbToleranceRange\"]],[13,\"useHSV\",[7,\"mask\",\"useHSV\"]],[13,\"hueToleranceRange\",[7,\"mask\",\"hueToleranceRange\"]],[13,\"hueUpper\",[7,\"hueToleranceRange\",\"upper\"]],[13,\"hueLower\",[7,\"hueToleranceRange\",\"lower\"]],[13,\"brightnessTolerance\",[7,\"mask\",\"brightnessTolerance\"]],[13,\"saturationTolerance\",[7,\"mask\",\"saturationTolerance\"]],[13,\"lowSaturationThreshold\",[7,\"mask\",\"lowSaturationThreshold\"]],[13,\"lowBrightnessThreshold\",[7,\"mask\",\"lowBrightnessThreshold\"]],[13,\"colorMaskDebug\",[7,\"mask\",\"debugMode\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"maskedColorLower\",[6,[7,\"std\",\"sub\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"lower\"]]]],[13,\"maskedColorUpper\",[6,[7,\"std\",\"add\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"upper\"]]]],[13,\"upperCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"le\"],[[7,\"color\",\"xyz\"],\"maskedColorUpper\"]]]]],[13,\"lowerCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"ge\"],[[7,\"color\",\"xyz\"],\"maskedColorLower\"]]]]],[13,\"rgbCheck\",[3,\"upperCheck\",\"&&\",\"lowerCheck\"]],[13,\"maskedHSV\",[6,\"rgbToHSV\",[\"maskedColor\"]]],[13,\"colorHSV\",[6,\"rgbToHSV\",[[7,\"color\",\"xyz\"]]]],[12,\"hueDiff\",[6,[7,\"std\",\"sub\"],[[7,\"colorHSV\",\"x\"],[7,\"maskedHSV\",\"x\"]]]],[2,\"hueDiff\",\"=\",[6,[7,\"std\",\"select\"],[\"hueDiff\",[6,[7,\"std\",\"sub\"],[\"hueDiff\",[5,\"1\"]]],[1,\"hueDiff\",\">\",[6,[7,\"d\",\"f32\"],[[5,\"0.5\"]]]]]]],[2,\"hueDiff\",\"=\",[6,[7,\"std\",\"select\"],[\"hueDiff\",[6,[7,\"std\",\"add\"],[\"hueDiff\",[5,\"1\"]]],[1,\"hueDiff\",\"<\",[6,[7,\"d\",\"f32\"],[[4,\"-\",[5,\"0.5\"]]]]]]]],[13,\"lowerHueCheck\",[1,\"hueDiff\",\">=\",[4,\"-\",\"hueLower\"]]],[13,\"upperHueCheck\",[1,\"hueDiff\",\"<=\",\"hueUpper\"]],[12,\"hueCheck\",[3,\"lowerHueCheck\",\"&&\",\"upperHueCheck\"]],[13,\"saturationDiff\",[6,[7,\"std\",\"abs\"],[[6,[7,\"std\",\"sub\"],[[7,\"colorHSV\",\"y\"],[7,\"maskedHSV\",\"y\"]]]]]],[13,\"saturationCheck\",[1,\"saturationDiff\",\"<=\",\"saturationTolerance\"]],[13,\"brightnessDiff\",[6,[7,\"std\",\"abs\"],[[6,[7,\"std\",\"sub\"],[[7,\"colorHSV\",\"z\"],[7,\"maskedHSV\",\"z\"]]]]]],[13,\"brightnessCheck\",[1,\"brightnessDiff\",\"<=\",\"brightnessTolerance\"]],[13,\"pixelIsGray\",[1,[7,\"colorHSV\",\"y\"],\"<\",\"lowSaturationThreshold\"]],[13,\"targetIsGray\",[1,[7,\"maskedHSV\",\"y\"],\"<\",\"lowSaturationThreshold\"]],[13,\"pixelIsBlack\",[1,[7,\"colorHSV\",\"z\"],\"<\",\"lowBrightnessThreshold\"]],[13,\"targetIsBlack\",[1,[7,\"maskedHSV\",\"z\"],\"<\",\"lowBrightnessThreshold\"]],[13,\"hueIsUnstable\",[3,[3,[3,\"pixelIsGray\",\"||\",\"targetIsGray\"],\"||\",\"pixelIsBlack\"],\"||\",\"targetIsBlack\"]],[2,\"hueCheck\",\"=\",[6,[7,\"std\",\"select\"],[\"hueCheck\",[6,[7,\"d\",\"bool\"],[true]],\"hueIsUnstable\"]]],[13,\"hsvCheck\",[3,[3,\"hueCheck\",\"&&\",\"saturationCheck\"],\"&&\",\"brightnessCheck\"]],[13,\"maskCheck\",[6,[7,\"std\",\"select\"],[\"rgbCheck\",\"hsvCheck\",[1,\"useHSV\",\"==\",[6,[7,\"d\",\"u32\"],[[5,\"1\"]]]]]]],[2,\"color\",\"=\",[6,[7,\"std\",\"select\"],[\"color\",[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[5,\"0\"]]],\"maskCheck\"]]],[2,\"color\",\"=\",[6,[7,\"std\",\"select\"],[\"color\",[6,[7,\"d\",\"vec4f\"],[[5,\"1\"],[5,\"0\"],[5,\"0\"],[5,\"0\"]]],[3,\"maskCheck\",\"&&\",[1,\"colorMaskDebug\",\"==\",[6,[7,\"d\",\"u32\"],[[5,\"1\"]]]]]]]],[10,\"color\"]]],\"externalNames\":[\"d\",\"colorMaskBindGroupLayout\",\"std\",\"textureBindGroupLayout\",\"rgbToHSV\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/colorMaskFragment.ts"],"mappings":"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","ignoreList":[]}
@@ -68,6 +68,7 @@ export const glareFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu[
68
68
  return color;
69
69
  }, {
70
70
  v: 1,
71
+ name: void 0,
71
72
  ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"centeredCoords",[6,[7,"std","sub"],[[6,[7,"std","mul"],["uv",[5,"2"]]],[5,"1"]]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"center",[6,[7,"std","add"],[[6,[7,"d","vec2f"],[[5,"0"]]],[6,[7,"d","vec2f"],[[7,"rot","x"],[7,"rot","y"]]]]]],[13,"glareOptions",[7,[7,"glareBindGroupLayout","$"],"glareOptions"]],[13,"glareIntensity",[7,"glareOptions","glareIntensity"]],[13,"glowPower",[7,"glareOptions","glowPower"]],[13,"hueBlendPower",[7,"glareOptions","hueBlendPower"]],[13,"hueShiftAngleMax",[7,"glareOptions","hueShiftAngleMax"]],[13,"hueShiftAngleMin",[7,"glareOptions","hueShiftAngleMin"]],[13,"lightIntensity",[7,"glareOptions","lightIntensity"]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"dst",[6,[7,"std","exp"],[[4,"-",[6,[7,"std","distance"],["center","centeredCoords"]]]]]],[13,"distToCenter",[6,[7,"std","smoothstep"],[[5,"0"],[1,[5,"1"],"/","glareIntensity"],"dst"]]],[12,"glow",[6,[7,"d","vec3f"],["distToCenter"]]],[2,"glow","=",[6,[7,"std","mul"],["glow",[1,"glowPower","*",[7,"color","w"]]]]],[13,"hueBlend",[1,[1,[6,[7,"d","f32"],["hueBlendPower"]],"*","dst"],"/",[5,"10"]]],[2,"glow","=",[6,[7,"std","add"],["glow",[1,"lightIntensity","/",[5,"10"]]]]],[12,"shiftedRGB",[6,"glareColorShift",[[7,"color","xyz"],[1,"dst","/",[1,"lightIntensity","*",[5,"2"]]]]]],[13,"hueShiftAngle",[6,[7,"std","smoothstep"],["hueShiftAngleMin","hueShiftAngleMax","distToCenter"]]],[13,"shiftedHue",[6,"hueShift",["shiftedRGB","hueShiftAngle"]]],[2,"shiftedRGB","=",[6,"overlayChannels",["shiftedRGB","shiftedHue"]]],[2,"color","=",[6,[7,"d","vec4f"],[[6,[7,"std","mix"],[[7,"color","xyz"],"shiftedRGB","hueBlend"]],[7,"color","w"]]]],[13,"baseColor","color"],[13,"blendColor","glow"],[13,"combined",[6,"overlayChannels",[[7,"baseColor","xyz"],"blendColor"]]],[2,"color","=",[6,[7,"d","vec4f"],[[6,[7,"std","mix"],[[7,"color","xyz"],"combined","glow"]],[7,"color","w"]]]],[10,"color"]]],"externalNames":["d","std","rotationBindGroupLayout","glareBindGroupLayout","textureBindGroupLayout","glareColorShift","hueShift","overlayChannels"]},
72
73
  get externals() {
73
74
  return {
@@ -98,8 +99,8 @@ export const newGlareFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tg
98
99
  const glareIntensity = opts.glareIntensity; // [0..∞): bigger → wider/stronger area
99
100
  const glowPower = opts.glowPower; // (0..∞): curve shaping; bigger → softer/wider glow
100
101
  const hueBlendPower = opts.hueBlendPower; // [0..1+]: how much hue-shifted color blends in
101
- const hueShiftAngleMin = opts.hueShiftAngleMin; // radians
102
- const hueShiftAngleMax = opts.hueShiftAngleMax; // radians
102
+ const hueShiftAngleMin = opts.hueShiftAngleMin; // degrees
103
+ const hueShiftAngleMax = opts.hueShiftAngleMax; // degrees
103
104
  const lightIntensity = opts.lightIntensity / 1.3; // [0..∞): brightness boost of the glare/bloom
104
105
 
105
106
  let color = std.textureSample(textureBindGroupLayout.$.texture, textureBindGroupLayout.$.sampler, texcoord);
@@ -122,12 +123,10 @@ export const newGlareFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tg
122
123
  const overlaidRGB = overlayChannels(chromaMixed, glareLayer);
123
124
  const finalRGB = std.mix(chromaMixed, overlaidRGB, d.vec3f(maskedGlow));
124
125
  const outRGB = std.clamp(finalRGB, d.vec3f(0.0), d.vec3f(1.0));
125
-
126
- // if (maskedGlow > 0.6) return d.vec4f(0.0, 0.0, 0.0, 0.0);
127
-
128
126
  return d.vec4f(outRGB, color.w);
129
127
  }, {
130
128
  v: 1,
129
+ name: void 0,
131
130
  ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"centeredCoords",[6,[7,"std","sub"],[[6,[7,"std","mul"],["uv",[5,"2"]]],[5,"1"]]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"center",[6,[7,"std","add"],[[6,[7,"d","vec2f"],[[5,"0"]]],[6,[7,"d","vec2f"],[[7,"rot","x"],[7,"rot","y"]]]]]],[13,"opts",[7,[7,"glareBindGroupLayout","$"],"glareOptions"]],[13,"glareIntensity",[7,"opts","glareIntensity"]],[13,"glowPower",[7,"opts","glowPower"]],[13,"hueBlendPower",[7,"opts","hueBlendPower"]],[13,"hueShiftAngleMin",[7,"opts","hueShiftAngleMin"]],[13,"hueShiftAngleMax",[7,"opts","hueShiftAngleMax"]],[13,"lightIntensity",[1,[7,"opts","lightIntensity"],"/",[5,"1.3"]]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"dist",[6,[7,"std","distance"],["center","centeredCoords"]]],[13,"radial",[6,[7,"std","exp"],[[4,"-","dist"]]]],[13,"radialScaled",[6,[7,"std","mul"],["radial",[6,[7,"std","add"],[[5,"1"],[6,[7,"std","max"],[[5,"0"],"glareIntensity"]]]]]]],[13,"influenceRaw",[6,[7,"std","smoothstep"],[[5,"0"],[5,"1"],"radialScaled"]]],[13,"curveExp",[6,[7,"std","clamp"],["glowPower",[5,"0.05"],[5,"64"]]]],[13,"glowMask",[6,[7,"std","pow"],["influenceRaw",[6,[7,"std","div"],[[5,"1"],"curveExp"]]]]],[13,"maskedGlow",[6,[7,"std","mul"],["glowMask",[7,"color","w"]]]],[13,"boostedRGB",[6,"glareColorShift",[[7,"color","xyz"],"maskedGlow"]]],[13,"hueT",[6,[7,"std","clamp"],["maskedGlow",[5,"0"],[5,"1"]]]],[13,"hueAngle",[6,[7,"std","mix"],["hueShiftAngleMin","hueShiftAngleMax","hueT"]]],[13,"hueShifted",[6,"hueShift",["boostedRGB","hueAngle"]]],[13,"hueMixWeight",[6,[7,"std","clamp"],[[6,[7,"std","mul"],[[1,"hueBlendPower","/",[5,"5"]],"maskedGlow"]],[5,"0"],[5,"1"]]]],[13,"chromaMixed",[6,[7,"std","mix"],[[7,"color","xyz"],"hueShifted","hueMixWeight"]]],[13,"glareStrength",[6,[7,"std","clamp"],["lightIntensity",[5,"0"],[5,"100"]]]],[13,"glareLayer",[6,[7,"std","mul"],[[6,[7,"d","vec3f"],["maskedGlow"]],"glareStrength"]]],[13,"overlaidRGB",[6,"overlayChannels",["chromaMixed","glareLayer"]]],[13,"finalRGB",[6,[7,"std","mix"],["chromaMixed","overlaidRGB",[6,[7,"d","vec3f"],["maskedGlow"]]]]],[13,"outRGB",[6,[7,"std","clamp"],["finalRGB",[6,[7,"d","vec3f"],[[5,"0"]]],[6,[7,"d","vec3f"],[[5,"1"]]]]]],[10,[6,[7,"d","vec4f"],["outRGB",[7,"color","w"]]]]]],"externalNames":["d","std","rotationBindGroupLayout","glareBindGroupLayout","textureBindGroupLayout","glareColorShift","hueShift","overlayChannels"]},
132
131
  get externals() {
133
132
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","glareBindGroupLayout","glareColorShift","hueShift","overlayChannels","glareFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","centeredCoords","sub","mul","rot","vec","center","add","glareOptions","glareIntensity","glowPower","hueBlendPower","hueShiftAngleMax","hueShiftAngleMin","lightIntensity","color","textureSample","texture","sampler","dst","exp","distance","distToCenter","smoothstep","glow","vec3f","w","hueBlend","f32","shiftedRGB","xyz","hueShiftAngle","shiftedHue","mix","baseColor","blendColor","combined","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"glareOptions\",[7,[7,\"glareBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"glareOptions\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"glareOptions\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"glareOptions\",\"hueBlendPower\"]],[13,\"hueShiftAngleMax\",[7,\"glareOptions\",\"hueShiftAngleMax\"]],[13,\"hueShiftAngleMin\",[7,\"glareOptions\",\"hueShiftAngleMin\"]],[13,\"lightIntensity\",[7,\"glareOptions\",\"lightIntensity\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dst\",[6,[7,\"std\",\"exp\"],[[4,\"-\",[6,[7,\"std\",\"distance\"],[\"center\",\"centeredCoords\"]]]]]],[13,\"distToCenter\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[1,[5,\"1\"],\"/\",\"glareIntensity\"],\"dst\"]]],[12,\"glow\",[6,[7,\"d\",\"vec3f\"],[\"distToCenter\"]]],[2,\"glow\",\"=\",[6,[7,\"std\",\"mul\"],[\"glow\",[1,\"glowPower\",\"*\",[7,\"color\",\"w\"]]]]],[13,\"hueBlend\",[1,[1,[6,[7,\"d\",\"f32\"],[\"hueBlendPower\"]],\"*\",\"dst\"],\"/\",[5,\"10\"]]],[2,\"glow\",\"=\",[6,[7,\"std\",\"add\"],[\"glow\",[1,\"lightIntensity\",\"/\",[5,\"10\"]]]]],[12,\"shiftedRGB\",[6,\"glareColorShift\",[[7,\"color\",\"xyz\"],[1,\"dst\",\"/\",[1,\"lightIntensity\",\"*\",[5,\"2\"]]]]]],[13,\"hueShiftAngle\",[6,[7,\"std\",\"smoothstep\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",\"distToCenter\"]]],[13,\"shiftedHue\",[6,\"hueShift\",[\"shiftedRGB\",\"hueShiftAngle\"]]],[2,\"shiftedRGB\",\"=\",[6,\"overlayChannels\",[\"shiftedRGB\",\"shiftedHue\"]]],[2,\"color\",\"=\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"shiftedRGB\",\"hueBlend\"]],[7,\"color\",\"w\"]]]],[13,\"baseColor\",\"color\"],[13,\"blendColor\",\"glow\"],[13,\"combined\",[6,\"overlayChannels\",[[7,\"baseColor\",\"xyz\"],\"blendColor\"]]],[2,\"color\",\"=\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"combined\",\"glow\"]],[7,\"color\",\"w\"]]]],[10,\"color\"]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"glareBindGroupLayout\",\"textureBindGroupLayout\",\"glareColorShift\",\"hueShift\",\"overlayChannels\"]}","externals","newGlareFragment","opts","dist","radial","radialScaled","max","influenceRaw","curveExp","clamp","glowMask","pow","div","maskedGlow","boostedRGB","hueT","hueAngle","hueShifted","hueMixWeight","chromaMixed","glareStrength","glareLayer","overlaidRGB","finalRGB","outRGB","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"opts\",[7,[7,\"glareBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"opts\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"opts\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"opts\",\"hueBlendPower\"]],[13,\"hueShiftAngleMin\",[7,\"opts\",\"hueShiftAngleMin\"]],[13,\"hueShiftAngleMax\",[7,\"opts\",\"hueShiftAngleMax\"]],[13,\"lightIntensity\",[1,[7,\"opts\",\"lightIntensity\"],\"/\",[5,\"1.3\"]]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dist\",[6,[7,\"std\",\"distance\"],[\"center\",\"centeredCoords\"]]],[13,\"radial\",[6,[7,\"std\",\"exp\"],[[4,\"-\",\"dist\"]]]],[13,\"radialScaled\",[6,[7,\"std\",\"mul\"],[\"radial\",[6,[7,\"std\",\"add\"],[[5,\"1\"],[6,[7,\"std\",\"max\"],[[5,\"0\"],\"glareIntensity\"]]]]]]],[13,\"influenceRaw\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[5,\"1\"],\"radialScaled\"]]],[13,\"curveExp\",[6,[7,\"std\",\"clamp\"],[\"glowPower\",[5,\"0.05\"],[5,\"64\"]]]],[13,\"glowMask\",[6,[7,\"std\",\"pow\"],[\"influenceRaw\",[6,[7,\"std\",\"div\"],[[5,\"1\"],\"curveExp\"]]]]],[13,\"maskedGlow\",[6,[7,\"std\",\"mul\"],[\"glowMask\",[7,\"color\",\"w\"]]]],[13,\"boostedRGB\",[6,\"glareColorShift\",[[7,\"color\",\"xyz\"],\"maskedGlow\"]]],[13,\"hueT\",[6,[7,\"std\",\"clamp\"],[\"maskedGlow\",[5,\"0\"],[5,\"1\"]]]],[13,\"hueAngle\",[6,[7,\"std\",\"mix\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",\"hueT\"]]],[13,\"hueShifted\",[6,\"hueShift\",[\"boostedRGB\",\"hueAngle\"]]],[13,\"hueMixWeight\",[6,[7,\"std\",\"clamp\"],[[6,[7,\"std\",\"mul\"],[[1,\"hueBlendPower\",\"/\",[5,\"5\"]],\"maskedGlow\"]],[5,\"0\"],[5,\"1\"]]]],[13,\"chromaMixed\",[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"hueShifted\",\"hueMixWeight\"]]],[13,\"glareStrength\",[6,[7,\"std\",\"clamp\"],[\"lightIntensity\",[5,\"0\"],[5,\"100\"]]]],[13,\"glareLayer\",[6,[7,\"std\",\"mul\"],[[6,[7,\"d\",\"vec3f\"],[\"maskedGlow\"]],\"glareStrength\"]]],[13,\"overlaidRGB\",[6,\"overlayChannels\",[\"chromaMixed\",\"glareLayer\"]]],[13,\"finalRGB\",[6,[7,\"std\",\"mix\"],[\"chromaMixed\",\"overlaidRGB\",[6,[7,\"d\",\"vec3f\"],[\"maskedGlow\"]]]]],[13,\"outRGB\",[6,[7,\"std\",\"clamp\"],[\"finalRGB\",[6,[7,\"d\",\"vec3f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec3f\"],[[5,\"1\"]]]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"outRGB\",[7,\"color\",\"w\"]]]]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"glareBindGroupLayout\",\"textureBindGroupLayout\",\"glareColorShift\",\"hueShift\",\"overlayChannels\"]}"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/glareFragment.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","glareBindGroupLayout","glareColorShift","hueShift","overlayChannels","glareFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","centeredCoords","sub","mul","rot","vec","center","add","glareOptions","glareIntensity","glowPower","hueBlendPower","hueShiftAngleMax","hueShiftAngleMin","lightIntensity","color","textureSample","texture","sampler","dst","exp","distance","distToCenter","smoothstep","glow","vec3f","w","hueBlend","f32","shiftedRGB","xyz","hueShiftAngle","shiftedHue","mix","baseColor","blendColor","combined","v","name","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"glareOptions\",[7,[7,\"glareBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"glareOptions\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"glareOptions\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"glareOptions\",\"hueBlendPower\"]],[13,\"hueShiftAngleMax\",[7,\"glareOptions\",\"hueShiftAngleMax\"]],[13,\"hueShiftAngleMin\",[7,\"glareOptions\",\"hueShiftAngleMin\"]],[13,\"lightIntensity\",[7,\"glareOptions\",\"lightIntensity\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dst\",[6,[7,\"std\",\"exp\"],[[4,\"-\",[6,[7,\"std\",\"distance\"],[\"center\",\"centeredCoords\"]]]]]],[13,\"distToCenter\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[1,[5,\"1\"],\"/\",\"glareIntensity\"],\"dst\"]]],[12,\"glow\",[6,[7,\"d\",\"vec3f\"],[\"distToCenter\"]]],[2,\"glow\",\"=\",[6,[7,\"std\",\"mul\"],[\"glow\",[1,\"glowPower\",\"*\",[7,\"color\",\"w\"]]]]],[13,\"hueBlend\",[1,[1,[6,[7,\"d\",\"f32\"],[\"hueBlendPower\"]],\"*\",\"dst\"],\"/\",[5,\"10\"]]],[2,\"glow\",\"=\",[6,[7,\"std\",\"add\"],[\"glow\",[1,\"lightIntensity\",\"/\",[5,\"10\"]]]]],[12,\"shiftedRGB\",[6,\"glareColorShift\",[[7,\"color\",\"xyz\"],[1,\"dst\",\"/\",[1,\"lightIntensity\",\"*\",[5,\"2\"]]]]]],[13,\"hueShiftAngle\",[6,[7,\"std\",\"smoothstep\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",\"distToCenter\"]]],[13,\"shiftedHue\",[6,\"hueShift\",[\"shiftedRGB\",\"hueShiftAngle\"]]],[2,\"shiftedRGB\",\"=\",[6,\"overlayChannels\",[\"shiftedRGB\",\"shiftedHue\"]]],[2,\"color\",\"=\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"shiftedRGB\",\"hueBlend\"]],[7,\"color\",\"w\"]]]],[13,\"baseColor\",\"color\"],[13,\"blendColor\",\"glow\"],[13,\"combined\",[6,\"overlayChannels\",[[7,\"baseColor\",\"xyz\"],\"blendColor\"]]],[2,\"color\",\"=\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"combined\",\"glow\"]],[7,\"color\",\"w\"]]]],[10,\"color\"]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"glareBindGroupLayout\",\"textureBindGroupLayout\",\"glareColorShift\",\"hueShift\",\"overlayChannels\"]}","externals","newGlareFragment","opts","dist","radial","radialScaled","max","influenceRaw","curveExp","clamp","glowMask","pow","div","maskedGlow","boostedRGB","hueT","hueAngle","hueShifted","hueMixWeight","chromaMixed","glareStrength","glareLayer","overlaidRGB","finalRGB","outRGB","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"opts\",[7,[7,\"glareBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"opts\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"opts\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"opts\",\"hueBlendPower\"]],[13,\"hueShiftAngleMin\",[7,\"opts\",\"hueShiftAngleMin\"]],[13,\"hueShiftAngleMax\",[7,\"opts\",\"hueShiftAngleMax\"]],[13,\"lightIntensity\",[1,[7,\"opts\",\"lightIntensity\"],\"/\",[5,\"1.3\"]]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dist\",[6,[7,\"std\",\"distance\"],[\"center\",\"centeredCoords\"]]],[13,\"radial\",[6,[7,\"std\",\"exp\"],[[4,\"-\",\"dist\"]]]],[13,\"radialScaled\",[6,[7,\"std\",\"mul\"],[\"radial\",[6,[7,\"std\",\"add\"],[[5,\"1\"],[6,[7,\"std\",\"max\"],[[5,\"0\"],\"glareIntensity\"]]]]]]],[13,\"influenceRaw\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[5,\"1\"],\"radialScaled\"]]],[13,\"curveExp\",[6,[7,\"std\",\"clamp\"],[\"glowPower\",[5,\"0.05\"],[5,\"64\"]]]],[13,\"glowMask\",[6,[7,\"std\",\"pow\"],[\"influenceRaw\",[6,[7,\"std\",\"div\"],[[5,\"1\"],\"curveExp\"]]]]],[13,\"maskedGlow\",[6,[7,\"std\",\"mul\"],[\"glowMask\",[7,\"color\",\"w\"]]]],[13,\"boostedRGB\",[6,\"glareColorShift\",[[7,\"color\",\"xyz\"],\"maskedGlow\"]]],[13,\"hueT\",[6,[7,\"std\",\"clamp\"],[\"maskedGlow\",[5,\"0\"],[5,\"1\"]]]],[13,\"hueAngle\",[6,[7,\"std\",\"mix\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",\"hueT\"]]],[13,\"hueShifted\",[6,\"hueShift\",[\"boostedRGB\",\"hueAngle\"]]],[13,\"hueMixWeight\",[6,[7,\"std\",\"clamp\"],[[6,[7,\"std\",\"mul\"],[[1,\"hueBlendPower\",\"/\",[5,\"5\"]],\"maskedGlow\"]],[5,\"0\"],[5,\"1\"]]]],[13,\"chromaMixed\",[6,[7,\"std\",\"mix\"],[[7,\"color\",\"xyz\"],\"hueShifted\",\"hueMixWeight\"]]],[13,\"glareStrength\",[6,[7,\"std\",\"clamp\"],[\"lightIntensity\",[5,\"0\"],[5,\"100\"]]]],[13,\"glareLayer\",[6,[7,\"std\",\"mul\"],[[6,[7,\"d\",\"vec3f\"],[\"maskedGlow\"]],\"glareStrength\"]]],[13,\"overlaidRGB\",[6,\"overlayChannels\",[\"chromaMixed\",\"glareLayer\"]]],[13,\"finalRGB\",[6,[7,\"std\",\"mix\"],[\"chromaMixed\",\"overlaidRGB\",[6,[7,\"d\",\"vec3f\"],[\"maskedGlow\"]]]]],[13,\"outRGB\",[6,[7,\"std\",\"clamp\"],[\"finalRGB\",[6,[7,\"d\",\"vec3f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec3f\"],[[5,\"1\"]]]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"outRGB\",[7,\"color\",\"w\"]]]]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"glareBindGroupLayout\",\"textureBindGroupLayout\",\"glareColorShift\",\"hueShift\",\"overlayChannels\"]}"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/glareFragment.ts"],"mappings":"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","ignoreList":[]}
@@ -20,13 +20,21 @@ export const holoFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['
20
20
  const waveX = wave.x;
21
21
  const waveY = wave.y;
22
22
  const band = std.add(0.2 * waveX * uv.x, 2 * waveY * uv.y);
23
- const hueAngle = std.mul(std.abs(band), 10 * Math.PI * rot.x / 3);
23
+
24
+ //TODO: fix holo
25
+ const hueAngle = d.f32(180) * std.mul(std.abs(band), 10 * Math.PI * rot.x / 3);
24
26
  const rainbowColor = hueShift(d.vec3f(1.0, 1.0, 1.0), hueAngle);
25
27
  const finalColor = std.mul(rainbowColor, 1.0);
28
+
29
+ // console.log('\ncurrentColor = (', rainbowColor.xyz, ')');
30
+ // console.log('hueAngle = ', hueAngle);
31
+ // console.clear();
32
+
26
33
  return d.vec4f(finalColor, 0.9 * textureColor.w);
27
34
  }, {
28
35
  v: 1,
29
- ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"textureColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"wave",[6,[7,"waveCallbackSlot","$"],[[7,"rot","xy"]]]],[13,"waveX",[7,"wave","x"]],[13,"waveY",[7,"wave","y"]],[13,"band",[6,[7,"std","add"],[[1,[1,[5,"0.2"],"*","waveX"],"*",[7,"uv","x"]],[1,[1,[5,"2"],"*","waveY"],"*",[7,"uv","y"]]]]],[13,"hueAngle",[6,[7,"std","mul"],[[6,[7,"std","abs"],["band"]],[1,[1,[1,[5,"10"],"*",[7,"Math","PI"]],"*",[7,"rot","x"]],"/",[5,"3"]]]]],[13,"rainbowColor",[6,"hueShift",[[6,[7,"d","vec3f"],[[5,"1"],[5,"1"],[5,"1"]]],"hueAngle"]]],[13,"finalColor",[6,[7,"std","mul"],["rainbowColor",[5,"1"]]]],[10,[6,[7,"d","vec4f"],["finalColor",[1,[5,"0.9"],"*",[7,"textureColor","w"]]]]]]],"externalNames":["d","std","textureBindGroupLayout","rotationBindGroupLayout","waveCallbackSlot","Math","hueShift"]},
36
+ name: void 0,
37
+ ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"textureColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"wave",[6,[7,"waveCallbackSlot","$"],[[7,"rot","xy"]]]],[13,"waveX",[7,"wave","x"]],[13,"waveY",[7,"wave","y"]],[13,"band",[6,[7,"std","add"],[[1,[1,[5,"0.2"],"*","waveX"],"*",[7,"uv","x"]],[1,[1,[5,"2"],"*","waveY"],"*",[7,"uv","y"]]]]],[13,"hueAngle",[1,[6,[7,"d","f32"],[[5,"180"]]],"*",[6,[7,"std","mul"],[[6,[7,"std","abs"],["band"]],[1,[1,[1,[5,"10"],"*",[7,"Math","PI"]],"*",[7,"rot","x"]],"/",[5,"3"]]]]]],[13,"rainbowColor",[6,"hueShift",[[6,[7,"d","vec3f"],[[5,"1"],[5,"1"],[5,"1"]]],"hueAngle"]]],[13,"finalColor",[6,[7,"std","mul"],["rainbowColor",[5,"1"]]]],[10,[6,[7,"d","vec4f"],["finalColor",[1,[5,"0.9"],"*",[7,"textureColor","w"]]]]]]],"externalNames":["d","std","textureBindGroupLayout","rotationBindGroupLayout","waveCallbackSlot","Math","hueShift"]},
30
38
  get externals() {
31
39
  return {
32
40
  d,
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","hueShift","waveCallbackSlot","holoFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","textureColor","textureSample","texture","sampler","rot","vec","wave","xy","waveX","waveY","band","add","hueAngle","mul","abs","Math","PI","rainbowColor","vec3f","finalColor","w","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"textureColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"wave\",[6,[7,\"waveCallbackSlot\",\"$\"],[[7,\"rot\",\"xy\"]]]],[13,\"waveX\",[7,\"wave\",\"x\"]],[13,\"waveY\",[7,\"wave\",\"y\"]],[13,\"band\",[6,[7,\"std\",\"add\"],[[1,[1,[5,\"0.2\"],\"*\",\"waveX\"],\"*\",[7,\"uv\",\"x\"]],[1,[1,[5,\"2\"],\"*\",\"waveY\"],\"*\",[7,\"uv\",\"y\"]]]]],[13,\"hueAngle\",[6,[7,\"std\",\"mul\"],[[6,[7,\"std\",\"abs\"],[\"band\"]],[1,[1,[1,[5,\"10\"],\"*\",[7,\"Math\",\"PI\"]],\"*\",[7,\"rot\",\"x\"]],\"/\",[5,\"3\"]]]]],[13,\"rainbowColor\",[6,\"hueShift\",[[6,[7,\"d\",\"vec3f\"],[[5,\"1\"],[5,\"1\"],[5,\"1\"]]],\"hueAngle\"]]],[13,\"finalColor\",[6,[7,\"std\",\"mul\"],[\"rainbowColor\",[5,\"1\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"finalColor\",[1,[5,\"0.9\"],\"*\",[7,\"textureColor\",\"w\"]]]]]]],\"externalNames\":[\"d\",\"std\",\"textureBindGroupLayout\",\"rotationBindGroupLayout\",\"waveCallbackSlot\",\"Math\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/holoFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,uBAAuB,EACvBC,sBAAsB,QACjB,wBAAqB;AAC5B,SAASC,QAAQ,QAAQ,iBAAc;AACvC,SAASC,gBAAgB,QAAQ,6BAA0B;AAE3D,OAAO,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGV,IAAI,CAAC,WAAW,CAAC,CAACW,UAAU,CAAC;EACvDC,EAAE,EAAE;IAAEC,EAAE,EAAEZ,CAAC,CAACa;EAAM,CAAC;EACnBC,GAAG,EAAEd,CAAC,CAACe;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGtB,CAAC,CAACa,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EACtD,MAAMZ,EAAE,GAAGU,QAAQ;EACnB,MAAMG,YAAY,GAAGxB,GAAG,CAACyB,aAAa,CACpCvB,sBAAsB,CAACa,CAAC,CAACW,OAAO,EAChCxB,sBAAsB,CAACa,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EACD,MAAMO,GAAG,GAAG3B,uBAAuB,CAACc,CAAC,CAACc,GAAG;EAEzC,MAAMC,IAAI,GAAG1B,gBAAgB,CAACW,CAAC,CAACa,GAAG,CAACG,EAAE,CAAC;EACvC,MAAMC,KAAK,GAAGF,IAAI,CAACR,CAAC;EACpB,MAAMW,KAAK,GAAGH,IAAI,CAACP,CAAC;EAEpB,MAAMW,IAAI,GAAGlC,GAAG,CAACmC,GAAG,CAAC,GAAG,GAAGH,KAAK,GAAGrB,EAAE,CAACW,CAAC,EAAE,CAAC,GAAGW,KAAK,GAAGtB,EAAE,CAACY,CAAC,CAAC;EAE1D,MAAMa,QAAQ,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,GAAG,CAACJ,IAAI,CAAC,EAAG,EAAE,GAAGK,IAAI,CAACC,EAAE,GAAGZ,GAAG,CAACN,CAAC,GAAI,CAAC,CAAC;EACnE,MAAMmB,YAAY,GAAGtC,QAAQ,CAACJ,CAAC,CAAC2C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEN,QAAQ,CAAC;EAC/D,MAAMO,UAAU,GAAG3C,GAAG,CAACqC,GAAG,CAACI,YAAY,EAAE,GAAG,CAAC;EAE7C,OAAO1C,CAAC,CAACe,KAAK,CAAC6B,UAAU,EAAE,GAAG,GAAGnB,YAAY,CAACoB,CAAC,CAAC;AAClD,CAAC;EAAAC,CAAA;EAAAC,GAAA,EAAAC,omCAAA;EAAA,IAAAC,UAAA;IAAA;MAAAjD,CAAA;MAAAC,GAAA;MAAAE,sBAAA;MAAAD,uBAAA;MAAAG,gBAAA;MAAAmC,IAAA;MAAApC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","hueShift","waveCallbackSlot","holoFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","textureColor","textureSample","texture","sampler","rot","vec","wave","xy","waveX","waveY","band","add","hueAngle","f32","mul","abs","Math","PI","rainbowColor","vec3f","finalColor","w","v","name","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"textureColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"wave\",[6,[7,\"waveCallbackSlot\",\"$\"],[[7,\"rot\",\"xy\"]]]],[13,\"waveX\",[7,\"wave\",\"x\"]],[13,\"waveY\",[7,\"wave\",\"y\"]],[13,\"band\",[6,[7,\"std\",\"add\"],[[1,[1,[5,\"0.2\"],\"*\",\"waveX\"],\"*\",[7,\"uv\",\"x\"]],[1,[1,[5,\"2\"],\"*\",\"waveY\"],\"*\",[7,\"uv\",\"y\"]]]]],[13,\"hueAngle\",[1,[6,[7,\"d\",\"f32\"],[[5,\"180\"]]],\"*\",[6,[7,\"std\",\"mul\"],[[6,[7,\"std\",\"abs\"],[\"band\"]],[1,[1,[1,[5,\"10\"],\"*\",[7,\"Math\",\"PI\"]],\"*\",[7,\"rot\",\"x\"]],\"/\",[5,\"3\"]]]]]],[13,\"rainbowColor\",[6,\"hueShift\",[[6,[7,\"d\",\"vec3f\"],[[5,\"1\"],[5,\"1\"],[5,\"1\"]]],\"hueAngle\"]]],[13,\"finalColor\",[6,[7,\"std\",\"mul\"],[\"rainbowColor\",[5,\"1\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"finalColor\",[1,[5,\"0.9\"],\"*\",[7,\"textureColor\",\"w\"]]]]]]],\"externalNames\":[\"d\",\"std\",\"textureBindGroupLayout\",\"rotationBindGroupLayout\",\"waveCallbackSlot\",\"Math\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/holoFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,uBAAuB,EACvBC,sBAAsB,QACjB,wBAAqB;AAC5B,SAASC,QAAQ,QAAQ,iBAAc;AACvC,SAASC,gBAAgB,QAAQ,6BAA0B;AAE3D,OAAO,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGV,IAAI,CAAC,WAAW,CAAC,CAACW,UAAU,CAAC;EACvDC,EAAE,EAAE;IAAEC,EAAE,EAAEZ,CAAC,CAACa;EAAM,CAAC;EACnBC,GAAG,EAAEd,CAAC,CAACe;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGtB,CAAC,CAACa,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EACtD,MAAMZ,EAAE,GAAGU,QAAQ;EACnB,MAAMG,YAAY,GAAGxB,GAAG,CAACyB,aAAa,CACpCvB,sBAAsB,CAACa,CAAC,CAACW,OAAO,EAChCxB,sBAAsB,CAACa,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EACD,MAAMO,GAAG,GAAG3B,uBAAuB,CAACc,CAAC,CAACc,GAAG;EAEzC,MAAMC,IAAI,GAAG1B,gBAAgB,CAACW,CAAC,CAACa,GAAG,CAACG,EAAE,CAAC;EACvC,MAAMC,KAAK,GAAGF,IAAI,CAACR,CAAC;EACpB,MAAMW,KAAK,GAAGH,IAAI,CAACP,CAAC;EAEpB,MAAMW,IAAI,GAAGlC,GAAG,CAACmC,GAAG,CAAC,GAAG,GAAGH,KAAK,GAAGrB,EAAE,CAACW,CAAC,EAAE,CAAC,GAAGW,KAAK,GAAGtB,EAAE,CAACY,CAAC,CAAC;;EAE1D;EACA,MAAMa,QAAQ,GACZrC,CAAC,CAACsC,GAAG,CAAC,GAAG,CAAC,GAAGrC,GAAG,CAACsC,GAAG,CAACtC,GAAG,CAACuC,GAAG,CAACL,IAAI,CAAC,EAAG,EAAE,GAAGM,IAAI,CAACC,EAAE,GAAGb,GAAG,CAACN,CAAC,GAAI,CAAC,CAAC;EACjE,MAAMoB,YAAY,GAAGvC,QAAQ,CAACJ,CAAC,CAAC4C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEP,QAAQ,CAAC;EAC/D,MAAMQ,UAAU,GAAG5C,GAAG,CAACsC,GAAG,CAACI,YAAY,EAAE,GAAG,CAAC;;EAE7C;EACA;EACA;;EAEA,OAAO3C,CAAC,CAACe,KAAK,CAAC8B,UAAU,EAAE,GAAG,GAAGpB,YAAY,CAACqB,CAAC,CAAC;AAClD,CAAC;EAAAC,CAAA;EAAAC,IAAA;EAAAC,GAAA,EAAAC,0oCAAA;EAAA,IAAAC,UAAA;IAAA;MAAAnD,CAAA;MAAAC,GAAA;MAAAE,sBAAA;MAAAD,uBAAA;MAAAG,gBAAA;MAAAoC,IAAA;MAAArC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC","ignoreList":[]}
@@ -17,6 +17,7 @@ const maskFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~unstab
17
17
  return d.vec4f(color.xyz, reversedMask.x);
18
18
  }, {
19
19
  v: 1,
20
+ name: void 0,
20
21
  ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"mask",[6,[7,"std","textureSample"],[[7,[7,"maskTextureBindGroupLayout","$"],"texture"],[7,[7,"maskTextureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"reversedMask",[6,[7,"d","vec4f"],[[6,[7,"std","sub"],[[5,"1"],[7,"mask","xyz"]]],[7,"mask","w"]]]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[7,"reversedMask","x"]]]]]],"externalNames":["d","std","maskTextureBindGroupLayout","textureBindGroupLayout"]},
21
22
  get externals() {
22
23
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","maskTextureBindGroupLayout","maskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","textureSample","texture","sampler","reversedMask","sub","xyz","w","color","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"reversedMask\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"sub\"],[[5,\"1\"],[7,\"mask\",\"xyz\"]]],[7,\"mask\",\"w\"]]]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[7,\"reversedMask\",\"x\"]]]]]],\"externalNames\":[\"d\",\"std\",\"maskTextureBindGroupLayout\",\"textureBindGroupLayout\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/maskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,0BAA0B,QACrB,wBAAqB;AAE5B,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGR,IAAI,CAAC,WAAW,CAAC,CAACS,UAAU,CAAC;EAChDC,EAAE,EAAE;IAAEC,EAAE,EAAEV,CAAC,CAACW;EAAM,CAAC;EACnBC,GAAG,EAAEZ,CAAC,CAACa;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGpB,CAAC,CAACW,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGtB,GAAG,CAACuB,aAAa,CAC5BrB,0BAA0B,CAACW,CAAC,CAACW,OAAO,EACpCtB,0BAA0B,CAACW,CAAC,CAACY,OAAO,EACpCN,QACF,CAAC;EACD,MAAMO,YAAY,GAAG3B,CAAC,CAACa,KAAK,CAACZ,GAAG,CAAC2B,GAAG,CAAC,GAAG,EAAEL,IAAI,CAACM,GAAG,CAAC,EAAEN,IAAI,CAACO,CAAC,CAAC;EAE5D,IAAIC,KAAK,GAAG9B,GAAG,CAACuB,aAAa,CAC3BtB,sBAAsB,CAACY,CAAC,CAACW,OAAO,EAChCvB,sBAAsB,CAACY,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EAED,OAAOpB,CAAC,CAACa,KAAK,CAACkB,KAAK,CAACF,GAAG,EAAEF,YAAY,CAACN,CAAC,CAAC;AAC3C,CAAC;EAAAW,CAAA;EAAAC,GAAA,EAAAC,8sBAAA;EAAA,IAAAC,UAAA;IAAA;MAAAnC,CAAA;MAAAC,GAAA;MAAAE,0BAAA;MAAAD;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC;AAEF,eAAed,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","maskTextureBindGroupLayout","maskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","textureSample","texture","sampler","reversedMask","sub","xyz","w","color","v","name","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"reversedMask\",[6,[7,\"d\",\"vec4f\"],[[6,[7,\"std\",\"sub\"],[[5,\"1\"],[7,\"mask\",\"xyz\"]]],[7,\"mask\",\"w\"]]]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[7,\"reversedMask\",\"x\"]]]]]],\"externalNames\":[\"d\",\"std\",\"maskTextureBindGroupLayout\",\"textureBindGroupLayout\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/maskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,0BAA0B,QACrB,wBAAqB;AAE5B,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGR,IAAI,CAAC,WAAW,CAAC,CAACS,UAAU,CAAC;EAChDC,EAAE,EAAE;IAAEC,EAAE,EAAEV,CAAC,CAACW;EAAM,CAAC;EACnBC,GAAG,EAAEZ,CAAC,CAACa;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGpB,CAAC,CAACW,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGtB,GAAG,CAACuB,aAAa,CAC5BrB,0BAA0B,CAACW,CAAC,CAACW,OAAO,EACpCtB,0BAA0B,CAACW,CAAC,CAACY,OAAO,EACpCN,QACF,CAAC;EACD,MAAMO,YAAY,GAAG3B,CAAC,CAACa,KAAK,CAACZ,GAAG,CAAC2B,GAAG,CAAC,GAAG,EAAEL,IAAI,CAACM,GAAG,CAAC,EAAEN,IAAI,CAACO,CAAC,CAAC;EAE5D,IAAIC,KAAK,GAAG9B,GAAG,CAACuB,aAAa,CAC3BtB,sBAAsB,CAACY,CAAC,CAACW,OAAO,EAChCvB,sBAAsB,CAACY,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EAED,OAAOpB,CAAC,CAACa,KAAK,CAACkB,KAAK,CAACF,GAAG,EAAEF,YAAY,CAACN,CAAC,CAAC;AAC3C,CAAC;EAAAW,CAAA;EAAAC,IAAA;EAAAC,GAAA,EAAAC,8sBAAA;EAAA,IAAAC,UAAA;IAAA;MAAApC,CAAA;MAAAC,GAAA;MAAAE,0BAAA;MAAAD;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC;AAEF,eAAed,YAAY","ignoreList":[]}
@@ -65,6 +65,7 @@ export const reverseHoloFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))
65
65
  return d.vec4f(shineLayer, 1 - maskedGlow);
66
66
  }, {
67
67
  v: 1,
68
+ name: void 0,
68
69
  ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"centeredCoords",[6,[7,"std","sub"],[[6,[7,"std","mul"],["uv",[5,"2"]]],[5,"1"]]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"center",[6,[7,"std","add"],[[6,[7,"d","vec2f"],[[5,"0"]]],[6,[7,"d","vec2f"],[[7,"rot","x"],[7,"rot","y"]]]]]],[13,"opts",[7,[7,"reverseHoloDetectionChannelFlagsBindGroupLayout","$"],"glareOptions"]],[13,"glareIntensity",[7,"opts","glareIntensity"]],[13,"glowPower",[7,"opts","glowPower"]],[13,"hueBlendPower",[7,"opts","hueBlendPower"]],[13,"hueShiftAngleMin",[7,"opts","hueShiftAngleMin"]],[13,"hueShiftAngleMax",[7,"opts","hueShiftAngleMax"]],[13,"lightIntensity",[7,"opts","lightIntensity"]],[13,"detectionChannelFlags",[7,[7,"reverseHoloDetectionChannelFlagsBindGroupLayout","$"],"channelFlags"]],[13,"redChannelFlag",[7,"detectionChannelFlags","redChannel"]],[13,"greenChannelFlag",[7,"detectionChannelFlags","greenChannel"]],[13,"blueChannelFlag",[7,"detectionChannelFlags","blueChannel"]],[13,"hueFlag",[7,"detectionChannelFlags","hue"]],[13,"saturationFlag",[7,"detectionChannelFlags","saturation"]],[13,"valueFlag",[7,"detectionChannelFlags","value"]],[13,"cardColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"holoMaskColor",[6,[7,"std","textureSample"],[[7,[7,"maskTextureBindGroupLayout","$"],"texture"],[7,[7,"maskTextureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"dist",[6,[7,"std","distance"],["centeredCoords","center"]]],[13,"rFalloff",[6,[7,"std","exp"],[[4,"-","dist"]]]],[13,"scaledRadial",[6,[7,"std","mul"],["rFalloff",[6,[7,"std","add"],[[5,"1"],[6,[7,"std","max"],[[5,"0"],"glareIntensity"]]]]]]],[13,"influence",[6,[7,"std","smoothstep"],[[5,"0"],[5,"1"],"scaledRadial"]]],[13,"curvePower",[6,[7,"std","clamp"],["glowPower",[5,"0.05"],[5,"64"]]]],[13,"glowMask",[6,[7,"std","pow"],["influence",[6,[7,"std","div"],[[5,"1"],"curvePower"]]]]],[13,"holoMaskColorHSV",[6,"rgbToHSV",[[7,"holoMaskColor","xyz"]]]],[13,"rgbSelection",[6,[7,"d","vec3f"],["redChannelFlag","greenChannelFlag","blueChannelFlag"]]],[13,"channelFactor",[6,[7,"std","dot"],[[7,"holoMaskColor","xyz"],"rgbSelection"]]],[13,"hsvSelection",[6,[7,"d","vec3f"],["hueFlag","saturationFlag","valueFlag"]]],[13,"channelFactorHSV",[6,[7,"std","dot"],[[7,"holoMaskColorHSV","xyz"],"hsvSelection"]]],[13,"channelFactorCombined",[6,[7,"std","mix"],["channelFactor","channelFactorHSV",[5,"0"]]]],[13,"holoFactor",[1,[1,[1,[5,"1"],"-","channelFactorCombined"],"*",[7,"holoMaskColor","w"]],"*",[6,[7,"std","pow"],["scaledRadial",[5,"1.5"]]]]],[13,"maskedGlow",[6,[7,"std","mul"],["glowMask","holoFactor"]]],[13,"hueAmount",[6,[7,"std","mix"],["hueShiftAngleMin","hueShiftAngleMax",[6,[7,"std","clamp"],["maskedGlow",[5,"0"],[5,"1"]]]]]],[13,"sparkleHue",[6,"hueShift",[[7,"cardColor","xyz"],"hueAmount"]]],[13,"hueMixAmt",[6,[7,"std","clamp"],[[1,[1,"hueBlendPower","/",[5,"5"]],"*","maskedGlow"],[5,"0"],[5,"1"]]]],[13,"chromaMix",[6,[7,"std","mix"],[[7,"cardColor","xyz"],"sparkleHue","hueMixAmt"]]],[13,"shineStrength",[6,[7,"std","clamp"],["lightIntensity",[5,"1"],[5,"100"]]]],[13,"shineLayer",[6,[7,"std","mul"],["chromaMix",[1,[1,[5,"1.5"],"*","shineStrength"],"*","maskedGlow"]]]],[10,[6,[7,"d","vec4f"],["shineLayer",[1,[5,"1"],"-","maskedGlow"]]]]]],"externalNames":["d","std","rotationBindGroupLayout","reverseHoloDetectionChannelFlagsBindGroupLayout","textureBindGroupLayout","maskTextureBindGroupLayout","rgbToHSV","hueShift"]},
69
70
  get externals() {
70
71
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","maskTextureBindGroupLayout","rotationBindGroupLayout","reverseHoloDetectionChannelFlagsBindGroupLayout","hueShift","rgbToHSV","reverseHoloFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","centeredCoords","sub","mul","rot","vec","center","add","opts","glareOptions","glareIntensity","glowPower","hueBlendPower","hueShiftAngleMin","hueShiftAngleMax","lightIntensity","detectionChannelFlags","channelFlags","redChannelFlag","redChannel","greenChannelFlag","greenChannel","blueChannelFlag","blueChannel","hueFlag","hue","saturationFlag","saturation","valueFlag","value","cardColor","textureSample","texture","sampler","holoMaskColor","dist","distance","rFalloff","exp","scaledRadial","max","influence","smoothstep","curvePower","clamp","glowMask","pow","div","holoMaskColorHSV","xyz","rgbSelection","vec3f","channelFactor","dot","hsvSelection","channelFactorHSV","channelFactorCombined","mix","holoFactor","w","maskedGlow","hueAmount","sparkleHue","hueMixAmt","chromaMix","shineStrength","shineLayer","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"opts\",[7,[7,\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"opts\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"opts\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"opts\",\"hueBlendPower\"]],[13,\"hueShiftAngleMin\",[7,\"opts\",\"hueShiftAngleMin\"]],[13,\"hueShiftAngleMax\",[7,\"opts\",\"hueShiftAngleMax\"]],[13,\"lightIntensity\",[7,\"opts\",\"lightIntensity\"]],[13,\"detectionChannelFlags\",[7,[7,\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"$\"],\"channelFlags\"]],[13,\"redChannelFlag\",[7,\"detectionChannelFlags\",\"redChannel\"]],[13,\"greenChannelFlag\",[7,\"detectionChannelFlags\",\"greenChannel\"]],[13,\"blueChannelFlag\",[7,\"detectionChannelFlags\",\"blueChannel\"]],[13,\"hueFlag\",[7,\"detectionChannelFlags\",\"hue\"]],[13,\"saturationFlag\",[7,\"detectionChannelFlags\",\"saturation\"]],[13,\"valueFlag\",[7,\"detectionChannelFlags\",\"value\"]],[13,\"cardColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"holoMaskColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dist\",[6,[7,\"std\",\"distance\"],[\"centeredCoords\",\"center\"]]],[13,\"rFalloff\",[6,[7,\"std\",\"exp\"],[[4,\"-\",\"dist\"]]]],[13,\"scaledRadial\",[6,[7,\"std\",\"mul\"],[\"rFalloff\",[6,[7,\"std\",\"add\"],[[5,\"1\"],[6,[7,\"std\",\"max\"],[[5,\"0\"],\"glareIntensity\"]]]]]]],[13,\"influence\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[5,\"1\"],\"scaledRadial\"]]],[13,\"curvePower\",[6,[7,\"std\",\"clamp\"],[\"glowPower\",[5,\"0.05\"],[5,\"64\"]]]],[13,\"glowMask\",[6,[7,\"std\",\"pow\"],[\"influence\",[6,[7,\"std\",\"div\"],[[5,\"1\"],\"curvePower\"]]]]],[13,\"holoMaskColorHSV\",[6,\"rgbToHSV\",[[7,\"holoMaskColor\",\"xyz\"]]]],[13,\"rgbSelection\",[6,[7,\"d\",\"vec3f\"],[\"redChannelFlag\",\"greenChannelFlag\",\"blueChannelFlag\"]]],[13,\"channelFactor\",[6,[7,\"std\",\"dot\"],[[7,\"holoMaskColor\",\"xyz\"],\"rgbSelection\"]]],[13,\"hsvSelection\",[6,[7,\"d\",\"vec3f\"],[\"hueFlag\",\"saturationFlag\",\"valueFlag\"]]],[13,\"channelFactorHSV\",[6,[7,\"std\",\"dot\"],[[7,\"holoMaskColorHSV\",\"xyz\"],\"hsvSelection\"]]],[13,\"channelFactorCombined\",[6,[7,\"std\",\"mix\"],[\"channelFactor\",\"channelFactorHSV\",[5,\"0\"]]]],[13,\"holoFactor\",[1,[1,[1,[5,\"1\"],\"-\",\"channelFactorCombined\"],\"*\",[7,\"holoMaskColor\",\"w\"]],\"*\",[6,[7,\"std\",\"pow\"],[\"scaledRadial\",[5,\"1.5\"]]]]],[13,\"maskedGlow\",[6,[7,\"std\",\"mul\"],[\"glowMask\",\"holoFactor\"]]],[13,\"hueAmount\",[6,[7,\"std\",\"mix\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",[6,[7,\"std\",\"clamp\"],[\"maskedGlow\",[5,\"0\"],[5,\"1\"]]]]]],[13,\"sparkleHue\",[6,\"hueShift\",[[7,\"cardColor\",\"xyz\"],\"hueAmount\"]]],[13,\"hueMixAmt\",[6,[7,\"std\",\"clamp\"],[[1,[1,\"hueBlendPower\",\"/\",[5,\"5\"]],\"*\",\"maskedGlow\"],[5,\"0\"],[5,\"1\"]]]],[13,\"chromaMix\",[6,[7,\"std\",\"mix\"],[[7,\"cardColor\",\"xyz\"],\"sparkleHue\",\"hueMixAmt\"]]],[13,\"shineStrength\",[6,[7,\"std\",\"clamp\"],[\"lightIntensity\",[5,\"1\"],[5,\"100\"]]]],[13,\"shineLayer\",[6,[7,\"std\",\"mul\"],[\"chromaMix\",[1,[1,[5,\"1.5\"],\"*\",\"shineStrength\"],\"*\",\"maskedGlow\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"shineLayer\",[1,[5,\"1\"],\"-\",\"maskedGlow\"]]]]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"textureBindGroupLayout\",\"maskTextureBindGroupLayout\",\"rgbToHSV\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/reverseHoloFragment.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","maskTextureBindGroupLayout","rotationBindGroupLayout","reverseHoloDetectionChannelFlagsBindGroupLayout","hueShift","rgbToHSV","reverseHoloFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","centeredCoords","sub","mul","rot","vec","center","add","opts","glareOptions","glareIntensity","glowPower","hueBlendPower","hueShiftAngleMin","hueShiftAngleMax","lightIntensity","detectionChannelFlags","channelFlags","redChannelFlag","redChannel","greenChannelFlag","greenChannel","blueChannelFlag","blueChannel","hueFlag","hue","saturationFlag","saturation","valueFlag","value","cardColor","textureSample","texture","sampler","holoMaskColor","dist","distance","rFalloff","exp","scaledRadial","max","influence","smoothstep","curvePower","clamp","glowMask","pow","div","holoMaskColorHSV","xyz","rgbSelection","vec3f","channelFactor","dot","hsvSelection","channelFactorHSV","channelFactorCombined","mix","holoFactor","w","maskedGlow","hueAmount","sparkleHue","hueMixAmt","chromaMix","shineStrength","shineLayer","v","name","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"centeredCoords\",[6,[7,\"std\",\"sub\"],[[6,[7,\"std\",\"mul\"],[\"uv\",[5,\"2\"]]],[5,\"1\"]]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"center\",[6,[7,\"std\",\"add\"],[[6,[7,\"d\",\"vec2f\"],[[5,\"0\"]]],[6,[7,\"d\",\"vec2f\"],[[7,\"rot\",\"x\"],[7,\"rot\",\"y\"]]]]]],[13,\"opts\",[7,[7,\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"$\"],\"glareOptions\"]],[13,\"glareIntensity\",[7,\"opts\",\"glareIntensity\"]],[13,\"glowPower\",[7,\"opts\",\"glowPower\"]],[13,\"hueBlendPower\",[7,\"opts\",\"hueBlendPower\"]],[13,\"hueShiftAngleMin\",[7,\"opts\",\"hueShiftAngleMin\"]],[13,\"hueShiftAngleMax\",[7,\"opts\",\"hueShiftAngleMax\"]],[13,\"lightIntensity\",[7,\"opts\",\"lightIntensity\"]],[13,\"detectionChannelFlags\",[7,[7,\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"$\"],\"channelFlags\"]],[13,\"redChannelFlag\",[7,\"detectionChannelFlags\",\"redChannel\"]],[13,\"greenChannelFlag\",[7,\"detectionChannelFlags\",\"greenChannel\"]],[13,\"blueChannelFlag\",[7,\"detectionChannelFlags\",\"blueChannel\"]],[13,\"hueFlag\",[7,\"detectionChannelFlags\",\"hue\"]],[13,\"saturationFlag\",[7,\"detectionChannelFlags\",\"saturation\"]],[13,\"valueFlag\",[7,\"detectionChannelFlags\",\"value\"]],[13,\"cardColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"holoMaskColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"maskTextureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"dist\",[6,[7,\"std\",\"distance\"],[\"centeredCoords\",\"center\"]]],[13,\"rFalloff\",[6,[7,\"std\",\"exp\"],[[4,\"-\",\"dist\"]]]],[13,\"scaledRadial\",[6,[7,\"std\",\"mul\"],[\"rFalloff\",[6,[7,\"std\",\"add\"],[[5,\"1\"],[6,[7,\"std\",\"max\"],[[5,\"0\"],\"glareIntensity\"]]]]]]],[13,\"influence\",[6,[7,\"std\",\"smoothstep\"],[[5,\"0\"],[5,\"1\"],\"scaledRadial\"]]],[13,\"curvePower\",[6,[7,\"std\",\"clamp\"],[\"glowPower\",[5,\"0.05\"],[5,\"64\"]]]],[13,\"glowMask\",[6,[7,\"std\",\"pow\"],[\"influence\",[6,[7,\"std\",\"div\"],[[5,\"1\"],\"curvePower\"]]]]],[13,\"holoMaskColorHSV\",[6,\"rgbToHSV\",[[7,\"holoMaskColor\",\"xyz\"]]]],[13,\"rgbSelection\",[6,[7,\"d\",\"vec3f\"],[\"redChannelFlag\",\"greenChannelFlag\",\"blueChannelFlag\"]]],[13,\"channelFactor\",[6,[7,\"std\",\"dot\"],[[7,\"holoMaskColor\",\"xyz\"],\"rgbSelection\"]]],[13,\"hsvSelection\",[6,[7,\"d\",\"vec3f\"],[\"hueFlag\",\"saturationFlag\",\"valueFlag\"]]],[13,\"channelFactorHSV\",[6,[7,\"std\",\"dot\"],[[7,\"holoMaskColorHSV\",\"xyz\"],\"hsvSelection\"]]],[13,\"channelFactorCombined\",[6,[7,\"std\",\"mix\"],[\"channelFactor\",\"channelFactorHSV\",[5,\"0\"]]]],[13,\"holoFactor\",[1,[1,[1,[5,\"1\"],\"-\",\"channelFactorCombined\"],\"*\",[7,\"holoMaskColor\",\"w\"]],\"*\",[6,[7,\"std\",\"pow\"],[\"scaledRadial\",[5,\"1.5\"]]]]],[13,\"maskedGlow\",[6,[7,\"std\",\"mul\"],[\"glowMask\",\"holoFactor\"]]],[13,\"hueAmount\",[6,[7,\"std\",\"mix\"],[\"hueShiftAngleMin\",\"hueShiftAngleMax\",[6,[7,\"std\",\"clamp\"],[\"maskedGlow\",[5,\"0\"],[5,\"1\"]]]]]],[13,\"sparkleHue\",[6,\"hueShift\",[[7,\"cardColor\",\"xyz\"],\"hueAmount\"]]],[13,\"hueMixAmt\",[6,[7,\"std\",\"clamp\"],[[1,[1,\"hueBlendPower\",\"/\",[5,\"5\"]],\"*\",\"maskedGlow\"],[5,\"0\"],[5,\"1\"]]]],[13,\"chromaMix\",[6,[7,\"std\",\"mix\"],[[7,\"cardColor\",\"xyz\"],\"sparkleHue\",\"hueMixAmt\"]]],[13,\"shineStrength\",[6,[7,\"std\",\"clamp\"],[\"lightIntensity\",[5,\"1\"],[5,\"100\"]]]],[13,\"shineLayer\",[6,[7,\"std\",\"mul\"],[\"chromaMix\",[1,[1,[5,\"1.5\"],\"*\",\"shineStrength\"],\"*\",\"maskedGlow\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"shineLayer\",[1,[5,\"1\"],\"-\",\"maskedGlow\"]]]]]],\"externalNames\":[\"d\",\"std\",\"rotationBindGroupLayout\",\"reverseHoloDetectionChannelFlagsBindGroupLayout\",\"textureBindGroupLayout\",\"maskTextureBindGroupLayout\",\"rgbToHSV\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/reverseHoloFragment.ts"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import { Asset } from 'expo-asset';
4
+ import { debug } from "../../config/debugMode.js";
4
5
  const getBitmapFromURI = async uri => {
5
6
  if (uriToBitmapMap.has(uri)) return uriToBitmapMap.get(uri);
6
- console.log('bitmap not found in cache, fetching from URI');
7
+ if (debug) console.log('bitmap not found in cache, fetching from URI');
7
8
  const ast = Asset.fromURI(uri);
8
9
  await ast.downloadAsync();
9
10
  const fileURI = ast.localUri || ast.uri;
10
- console.log('fetch completed, creating ImageBitmap');
11
+ if (debug) console.log('fetch completed, creating ImageBitmap');
11
12
  const response = await fetch(fileURI);
12
13
  const blob = await response.blob();
13
14
  const imageBitmap = await createImageBitmap(blob);
14
- console.log('bitmap size: ', imageBitmap);
15
+ if (debug) console.log('bitmap size: ', imageBitmap);
15
16
  uriToBitmapMap.set(uri, imageBitmap);
16
17
  return imageBitmap;
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Asset","getBitmapFromURI","uri","uriToBitmapMap","has","get","console","log","ast","fromURI","downloadAsync","fileURI","localUri","response","fetch","blob","imageBitmap","createImageBitmap","set","Map"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/bitmaps.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAY;AAElC,MAAMC,gBAAgB,GAAG,MAAOC,GAAW,IAA2B;EACpE,IAAIC,cAAc,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE,OAAOC,cAAc,CAACE,GAAG,CAACH,GAAG,CAAC;EAC3DI,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAE3D,MAAMC,GAAG,GAAGR,KAAK,CAACS,OAAO,CAACP,GAAG,CAAC;EAC9B,MAAMM,GAAG,CAACE,aAAa,CAAC,CAAC;EACzB,MAAMC,OAAO,GAAGH,GAAG,CAACI,QAAQ,IAAIJ,GAAG,CAACN,GAAG;EAEvCI,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;EACpD,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAACH,OAAO,CAAC;EACrC,MAAMI,IAAI,GAAG,MAAMF,QAAQ,CAACE,IAAI,CAAC,CAAC;EAClC,MAAMC,WAAW,GAAG,MAAMC,iBAAiB,CAACF,IAAI,CAAC;EAEjDT,OAAO,CAACC,GAAG,CAAC,eAAe,EAAES,WAAW,CAAC;EACzCb,cAAc,CAACe,GAAG,CAAChB,GAAG,EAAEc,WAAW,CAAC;EACpC,OAAOA,WAAW;AACpB,CAAC;AAED,MAAMb,cAAc,GAAG,IAAIgB,GAAG,CAAsB,CAAC;AAErD,eAAelB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["Asset","debug","getBitmapFromURI","uri","uriToBitmapMap","has","get","console","log","ast","fromURI","downloadAsync","fileURI","localUri","response","fetch","blob","imageBitmap","createImageBitmap","set","Map"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/bitmaps.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAY;AAClC,SAASC,KAAK,QAAQ,2BAAwB;AAE9C,MAAMC,gBAAgB,GAAG,MAAOC,GAAW,IAA2B;EACpE,IAAIC,cAAc,CAACC,GAAG,CAACF,GAAG,CAAC,EAAE,OAAOC,cAAc,CAACE,GAAG,CAACH,GAAG,CAAC;EAC3D,IAAIF,KAAK,EAAEM,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAEtE,MAAMC,GAAG,GAAGT,KAAK,CAACU,OAAO,CAACP,GAAG,CAAC;EAC9B,MAAMM,GAAG,CAACE,aAAa,CAAC,CAAC;EACzB,MAAMC,OAAO,GAAGH,GAAG,CAACI,QAAQ,IAAIJ,GAAG,CAACN,GAAG;EAEvC,IAAIF,KAAK,EAAEM,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;EAC/D,MAAMM,QAAQ,GAAG,MAAMC,KAAK,CAACH,OAAO,CAAC;EACrC,MAAMI,IAAI,GAAG,MAAMF,QAAQ,CAACE,IAAI,CAAC,CAAC;EAClC,MAAMC,WAAW,GAAG,MAAMC,iBAAiB,CAACF,IAAI,CAAC;EAEjD,IAAIf,KAAK,EAAEM,OAAO,CAACC,GAAG,CAAC,eAAe,EAAES,WAAW,CAAC;EACpDb,cAAc,CAACe,GAAG,CAAChB,GAAG,EAAEc,WAAW,CAAC;EACpC,OAAOA,WAAW;AACpB,CAAC;AAED,MAAMb,cAAc,GAAG,IAAIgB,GAAG,CAAsB,CAAC;AAErD,eAAelB,gBAAgB","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { debug } from "../../config/debugMode.js";
3
4
  export class TypedBufferMap {
4
5
  buffers = {};
5
6
  constructor(schemas) {
@@ -21,7 +22,11 @@ export class TypedBufferMap {
21
22
  usage
22
23
  } = entry;
23
24
  if (this.buffers[key]) {
24
- console.warn(`Buffer "${String(key)}" already exists. Skipping...`);
25
+ if (debug) console.warn(`Buffer "${String(key)}" already exists.`);
26
+ if (initValues) {
27
+ this.buffers[key].write(initValues);
28
+ if (debug) console.log(`Buffer "${String(key)}" updated with new initial values.`);
29
+ }
25
30
  return this.buffers[key];
26
31
  }
27
32
  const buffer = initValues ? root.createBuffer(schema, initValues) : root.createBuffer(schema);
@@ -1 +1 @@
1
- {"version":3,"names":["TypedBufferMap","buffers","constructor","schemas","set","key","buffer","get","addBuffer","root","initValues","entry","Error","String","schema","usage","console","warn","createBuffer","typedBuffer","$usage","keys","Object","has","delete","buf","destroy"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/bufferManager.ts"],"mappings":";;AAcA,OAAO,MAAMA,cAAc,CAKzB;EACQC,OAAO,GAEX,CAAC,CAAC;EAENC,WAAWA,CAASC,OAAiB,EAAE;IAAA,KAAnBA,OAAiB,GAAjBA,OAAiB;EAAG;EAExCC,GAAGA,CACDC,GAAM,EACNC,MAA6C,EACvC;IACN,IAAI,CAACL,OAAO,CAACI,GAAG,CAAC,GAAGC,MAAM;EAC5B;EAEAC,GAAGA,CACDF,GAAM,EAC6C;IACnD,OAAO,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;EAC1B;EAEAG,SAASA,CACPC,IAAc,EACdJ,GAAM,EACNK,UAA6C,EACN;IACvC,MAAMC,KAAK,GAAG,IAAI,CAACR,OAAO,CAACE,GAAG,CAAC;IAC/B,IAAI,CAACM,KAAK,EAAE;MACV,MAAM,IAAIC,KAAK,CAAC,mCAAmCC,MAAM,CAACR,GAAG,CAAC,GAAG,CAAC;IACpE;IAEA,MAAM;MAAES,MAAM;MAAEC;IAAM,CAAC,GAAGJ,KAAK;IAC/B,IAAI,IAAI,CAACV,OAAO,CAACI,GAAG,CAAC,EAAE;MACrBW,OAAO,CAACC,IAAI,CAAC,WAAWJ,MAAM,CAACR,GAAG,CAAC,+BAA+B,CAAC;MACnE,OAAO,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;IAC1B;IAEA,MAAMC,MAAM,GAAGI,UAAU,GACrBD,IAAI,CAACS,YAAY,CAACJ,MAAM,EAAEJ,UAAU,CAAC,GACrCD,IAAI,CAACS,YAAY,CAACJ,MAAM,CAAC;IAE7B,MAAMK,WAAW,GAAGb,MAAM,CAACc,MAAM,CAACL,KAAK,CAEtC;IACD,IAAI,CAACd,OAAO,CAACI,GAAG,CAAC,GAAGc,WAAW;IAC/B,OAAOA,WAAW;EACpB;EAEAE,IAAIA,CAAA,EAAuB;IACzB,OAAOC,MAAM,CAACD,IAAI,CAAC,IAAI,CAACpB,OAAO,CAAC;EAClC;EAEAsB,GAAGA,CAA2BlB,GAAM,EAAW;IAC7C,OAAO,CAAC,CAAC,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;EAC5B;EAEAmB,MAAMA,CAA2BnB,GAAM,EAAQ;IAC7C,MAAMoB,GAAG,GAAG,IAAI,CAACxB,OAAO,CAACI,GAAG,CAAC;IAC7B,IAAIoB,GAAG,EAAE;MACPA,GAAG,CAACC,OAAO,GAAG,CAAC;MACf,OAAO,IAAI,CAACzB,OAAO,CAACI,GAAG,CAAC;IAC1B;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["debug","TypedBufferMap","buffers","constructor","schemas","set","key","buffer","get","addBuffer","root","initValues","entry","Error","String","schema","usage","console","warn","write","log","createBuffer","typedBuffer","$usage","keys","Object","has","delete","buf","destroy"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/bufferManager.ts"],"mappings":";;AACA,SAASA,KAAK,QAAQ,2BAAwB;AAc9C,OAAO,MAAMC,cAAc,CAKzB;EACQC,OAAO,GAEX,CAAC,CAAC;EAENC,WAAWA,CAASC,OAAiB,EAAE;IAAA,KAAnBA,OAAiB,GAAjBA,OAAiB;EAAG;EAExCC,GAAGA,CACDC,GAAM,EACNC,MAA6C,EACvC;IACN,IAAI,CAACL,OAAO,CAACI,GAAG,CAAC,GAAGC,MAAM;EAC5B;EAEAC,GAAGA,CACDF,GAAM,EAC6C;IACnD,OAAO,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;EAC1B;EAEAG,SAASA,CACPC,IAAc,EACdJ,GAAM,EACNK,UAA6C,EACN;IACvC,MAAMC,KAAK,GAAG,IAAI,CAACR,OAAO,CAACE,GAAG,CAAC;IAC/B,IAAI,CAACM,KAAK,EAAE;MACV,MAAM,IAAIC,KAAK,CAAC,mCAAmCC,MAAM,CAACR,GAAG,CAAC,GAAG,CAAC;IACpE;IAEA,MAAM;MAAES,MAAM;MAAEC;IAAM,CAAC,GAAGJ,KAAK;IAC/B,IAAI,IAAI,CAACV,OAAO,CAACI,GAAG,CAAC,EAAE;MACrB,IAAIN,KAAK,EAAEiB,OAAO,CAACC,IAAI,CAAC,WAAWJ,MAAM,CAACR,GAAG,CAAC,mBAAmB,CAAC;MAElE,IAAIK,UAAU,EAAE;QACb,IAAI,CAACT,OAAO,CAACI,GAAG,CAAC,CAAqBa,KAAK,CAACR,UAAU,CAAC;QACxD,IAAIX,KAAK,EACPiB,OAAO,CAACG,GAAG,CACT,WAAWN,MAAM,CAACR,GAAG,CAAC,oCACxB,CAAC;MACL;MACA,OAAO,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;IAC1B;IAEA,MAAMC,MAAM,GAAGI,UAAU,GACrBD,IAAI,CAACW,YAAY,CAACN,MAAM,EAAEJ,UAAU,CAAC,GACrCD,IAAI,CAACW,YAAY,CAACN,MAAM,CAAC;IAE7B,MAAMO,WAAW,GAAGf,MAAM,CAACgB,MAAM,CAACP,KAAK,CAEtC;IACD,IAAI,CAACd,OAAO,CAACI,GAAG,CAAC,GAAGgB,WAAW;IAC/B,OAAOA,WAAW;EACpB;EAEAE,IAAIA,CAAA,EAAuB;IACzB,OAAOC,MAAM,CAACD,IAAI,CAAC,IAAI,CAACtB,OAAO,CAAC;EAClC;EAEAwB,GAAGA,CAA2BpB,GAAM,EAAW;IAC7C,OAAO,CAAC,CAAC,IAAI,CAACJ,OAAO,CAACI,GAAG,CAAC;EAC5B;EAEAqB,MAAMA,CAA2BrB,GAAM,EAAQ;IAC7C,MAAMsB,GAAG,GAAG,IAAI,CAAC1B,OAAO,CAACI,GAAG,CAAC;IAC7B,IAAIsB,GAAG,EAAE;MACPA,GAAG,CAACC,OAAO,GAAG,CAAC;MACf,OAAO,IAAI,CAAC3B,OAAO,CAACI,GAAG,CAAC;IAC1B;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getBitmapFromURI","createTexture","root","size","texture","globalThis","__TYPEGPU_AUTONAME__","a","width","height","format","loadTexture","imageBitmap","device","queue","copyExternalImageToTexture","source","unwrap","loadBitmap","imageURI","setTexture","usage","bitmap","addTextureUsage","$usage"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/textures.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,cAAW;AAExC,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAC3BC,IAAc,EACdC,IAGC,KAEwB;EACzB,MAAMC,OAAO,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAAC,WAAW,CAAC,CAACD,aAAa,CAAC;IAC9CE,IAAI,EAAE,CAACA,IAAI,CAACK,KAAK,EAAEL,IAAI,CAACM,MAAM,EAAE,CAAC,CAAC;IAClCC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,OAAON,OAAO;AAChB,CAAC;AAED,OAAO,MAAMO,WAAW,GAAG,MAAAA,CACzBT,IAAc,EACdU,WAAwB,EACxBR,OAAoB,KACjB;EACHF,IAAI,CAACW,MAAM,CAACC,KAAK,CAACC,0BAA0B,CAC1C;IAAEC,MAAM,EAAEJ;EAAY,CAAC,EACvB;IAAER,OAAO,EAAEF,IAAI,CAACe,MAAM,CAACb,OAAO;EAAE,CAAC,EACjC,CAACQ,WAAW,CAACJ,KAAK,EAAEI,WAAW,CAACH,MAAM,CACxC,CAAC;AACH,CAAC;AAED,OAAO,eAAeS,UAAUA,CAC9BhB,IAAc,EACdiB,QAAgB,EAChBC,UAAwD,EACxDC,KAA+B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EACvD;EACA,MAAMC,MAAM,GAAG,MAAMtB,gBAAgB,CAACmB,QAAQ,CAAC;EAC/C,IAAIf,OAAO,GAAG,MAAMH,aAAa,CAACC,IAAI,EAAEoB,MAAM,CAAC;EAC/ClB,OAAO,GAAG,MAAMmB,eAAe,CAACnB,OAAO,EAAEiB,KAAK,CAAC;EAE/CD,UAAU,CAAChB,OAAO,CAAC;EACnB,MAAMO,WAAW,CAACT,IAAI,EAAEoB,MAAM,EAAElB,OAAO,CAAC;AAC1C;AAEA,OAAO,eAAemB,eAAeA,CACnCnB,OAAoB,EACpBiB,KAA+B,EAC/B;EACA,OAAOjB,OAAO,CAACoB,MAAM,CAAC,GAAGH,KAAK,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["getBitmapFromURI","createTexture","root","size","texture","globalThis","__TYPEGPU_AUTONAME__","a","width","height","format","loadTexture","imageBitmap","device","queue","copyExternalImageToTexture","source","unwrap","loadBitmap","imageURI","setTexture","usage","bitmap","addTextureUsage","$usage"],"sourceRoot":"../../../../src","sources":["shaders/resourceManagement/textures.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,cAAW;AAExC,OAAO,MAAMC,aAAa,GAAG,MAAAA,CAC3BC,IAAc,EACdC,IAGC,KAE6B;EAC9B,MAAMC,OAAO,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAAC,WAAW,CAAC,CAACD,aAAa,CAAC;IAC9CE,IAAI,EAAE,CAACA,IAAI,CAACK,KAAK,EAAEL,IAAI,CAACM,MAAM,EAAE,CAAC,CAAC;IAClCC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,OAAON,OAAO;AAChB,CAAC;AAED,OAAO,MAAMO,WAAW,GAAG,MAAAA,CACzBT,IAAc,EACdU,WAAwB,EACxBR,OAAyB,KACtB;EACHF,IAAI,CAACW,MAAM,CAACC,KAAK,CAACC,0BAA0B,CAC1C;IAAEC,MAAM,EAAEJ;EAAY,CAAC,EACvB;IAAER,OAAO,EAAEF,IAAI,CAACe,MAAM,CAACb,OAAO;EAAE,CAAC,EACjC,CAACQ,WAAW,CAACJ,KAAK,EAAEI,WAAW,CAACH,MAAM,CACxC,CAAC;AACH,CAAC;AAED,OAAO,eAAeS,UAAUA,CAC9BhB,IAAc,EACdiB,QAAgB,EAChBC,UAAwD,EACxDC,KAA+B,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EACvD;EACA,MAAMC,MAAM,GAAG,MAAMtB,gBAAgB,CAACmB,QAAQ,CAAC;EAC/C,IAAIf,OAAO,GAAG,MAAMH,aAAa,CAACC,IAAI,EAAEoB,MAAM,CAAC;EAC/ClB,OAAO,GAAG,MAAMmB,eAAe,CAACnB,OAAO,EAAEiB,KAAK,CAAC;EAE/CD,UAAU,CAAChB,OAAO,CAAC;EACnB,MAAMO,WAAW,CAACT,IAAI,EAAEoB,MAAM,EAAElB,OAAO,CAAC;AAC1C;AAEA,OAAO,eAAemB,eAAeA,CACnCnB,OAAoB,EACpBiB,KAA+B,EAC/B;EACA,OAAOjB,OAAO,CAACoB,MAAM,CAAC,GAAGH,KAAK,CAAC;AACjC","ignoreList":[]}