react-native-shine 0.5.0 → 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 (61) hide show
  1. package/lib/module/components/Content.js +18 -12
  2. package/lib/module/components/Content.js.map +1 -1
  3. package/lib/module/config/debugMode.js +1 -0
  4. package/lib/module/config/debugMode.js.map +1 -1
  5. package/lib/module/enums/waveCallback.js +2 -1
  6. package/lib/module/enums/waveCallback.js.map +1 -1
  7. package/lib/module/shaders/bindGroupLayouts.js +2 -1
  8. package/lib/module/shaders/bindGroupLayouts.js.map +1 -1
  9. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js +28 -0
  10. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js.map +1 -0
  11. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +6 -1
  12. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -1
  13. package/lib/module/shaders/fragmentShaders/glareFragment.js +4 -5
  14. package/lib/module/shaders/fragmentShaders/glareFragment.js.map +1 -1
  15. package/lib/module/shaders/fragmentShaders/holoFragment.js +10 -2
  16. package/lib/module/shaders/fragmentShaders/holoFragment.js.map +1 -1
  17. package/lib/module/shaders/fragmentShaders/maskFragment.js +1 -0
  18. package/lib/module/shaders/fragmentShaders/maskFragment.js.map +1 -1
  19. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js +1 -0
  20. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js.map +1 -1
  21. package/lib/module/shaders/resourceManagement/textures.js.map +1 -1
  22. package/lib/module/shaders/tgpuUtils.js +49 -29
  23. package/lib/module/shaders/tgpuUtils.js.map +1 -1
  24. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js +1 -0
  25. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js.map +1 -1
  26. package/lib/module/shaders/vertexShaders/mainVertex.js +1 -0
  27. package/lib/module/shaders/vertexShaders/mainVertex.js.map +1 -1
  28. package/lib/module/types/typeUtils.js +5 -2
  29. package/lib/module/types/typeUtils.js.map +1 -1
  30. package/lib/typescript/src/components/Content.d.ts.map +1 -1
  31. package/lib/typescript/src/config/debugMode.d.ts +1 -0
  32. package/lib/typescript/src/config/debugMode.d.ts.map +1 -1
  33. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +5 -10
  34. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -1
  35. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +2 -0
  36. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -1
  37. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts +5 -0
  38. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts.map +1 -0
  39. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -1
  40. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts.map +1 -1
  41. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts.map +1 -1
  42. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts +3 -3
  43. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts.map +1 -1
  44. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -1
  45. package/lib/typescript/src/types/typeUtils.d.ts +1 -0
  46. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -1
  47. package/lib/typescript/src/types/types.d.ts +1 -0
  48. package/lib/typescript/src/types/types.d.ts.map +1 -1
  49. package/package.json +4 -4
  50. package/src/components/Content.tsx +31 -14
  51. package/src/config/debugMode.ts +1 -0
  52. package/src/enums/waveCallback.ts +1 -1
  53. package/src/shaders/bindGroupLayouts.ts +1 -0
  54. package/src/shaders/fragmentShaders/baseTextureFragment.ts +18 -0
  55. package/src/shaders/fragmentShaders/colorMaskFragment.ts +9 -0
  56. package/src/shaders/fragmentShaders/glareFragment.ts +2 -4
  57. package/src/shaders/fragmentShaders/holoFragment.ts +7 -1
  58. package/src/shaders/resourceManagement/textures.ts +3 -3
  59. package/src/shaders/tgpuUtils.ts +41 -46
  60. package/src/types/typeUtils.ts +3 -0
  61. package/src/types/types.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["f32","vec2f","vec3f","vec4f","d","div","WAVE_CALLBACKS","createGlareOptions","options","glowPower","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","glareIntensity","glareOp","mapToF32","obj","result","key","createColorMask","colorMask","baseColor","rgbToleranceRange","useHSV","hueToleranceRange","brightnessTolerance","saturationTolerance","lowBrightnessThreshold","lowSaturationThreshold","baseTolerance","upper","lower","baseHueTolerance","tolerance","hueTolerance","mask","colorMaskToTyped","numberArrToTyped","u32","createHoloOptions","intensity","waveCallback","holoOpt","default","createReverseHoloDetectionChannelFlags","channelFlags","redChannel","greenChannel","blueChannel","hue","saturation","value","vec","convFn","length","Error","typed"],"sourceRoot":"../../../src","sources":["types/typeUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["f32","vec2f","vec3f","vec4f","d","div","WAVE_CALLBACKS","colorMaskDebug","createGlareOptions","options","glowPower","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","glareIntensity","glareOp","mapToF32","obj","result","key","createColorMask","colorMask","baseColor","rgbToleranceRange","useHSV","hueToleranceRange","brightnessTolerance","saturationTolerance","lowBrightnessThreshold","lowSaturationThreshold","baseTolerance","upper","lower","baseHueTolerance","tolerance","hueTolerance","mask","debugMode","colorMaskToTyped","numberArrToTyped","u32","createHoloOptions","intensity","waveCallback","holoOpt","default","createReverseHoloDetectionChannelFlags","channelFlags","redChannel","greenChannel","blueChannel","hue","saturation","value","vec","convFn","length","Error","typed"],"sourceRoot":"../../../src","sources":["types/typeUtils.ts"],"mappings":";;AAAA,SAASA,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,QAAQ,cAAc;AACvD,OAAO,KAAKC,CAAC,MAAM,cAAc;AASjC,SAASC,GAAG,QAAQ,aAAa;AACjC,SAASC,cAAc,QAAQ,0BAAuB;AACtD,SAASC,cAAc,QAAQ,wBAAqB;AAEpD,OAAO,MAAMC,kBAAkB,GAC7BC,OAA8B,IACb;EACjB,MAAM;IACJC,SAAS;IACTC,gBAAgB;IAChBC,gBAAgB;IAChBC,aAAa;IACbC,cAAc;IACdC;EACF,CAAC,GAAGN,OAAO;EAEX,MAAMO,OAAO,GAAG;IACdN,SAAS,EAAEA,SAAS,IAAI,GAAG;IAC3BC,gBAAgB,EAAEA,gBAAgB,IAAI,GAAG;IACzCC,gBAAgB,EAAEA,gBAAgB,IAAI,GAAG;IACzCC,aAAa,EAAEA,aAAa,IAAI,GAAG;IACnCC,cAAc,EAAEA,cAAc,IAAI,GAAG;IACrCC,cAAc,EAAEA,cAAc,IAAI;EACpC,CAAC;EAED,OAAOC,OAAO;AAChB,CAAC;AAED,OAAO,MAAMC,QAAQ,GACnBC,GAAM,IAGH;EACH,MAAMC,MAAM,GAAG,CAAC,CAAQ;EACxB,KAAK,MAAMC,GAAG,IAAIF,GAAG,EAAE;IACrBC,MAAM,CAACC,GAAG,CAAC,GAAGpB,GAAG,CAACkB,GAAG,CAACE,GAAG,CAAC,CAAC;EAC7B;EAEA,OAAOD,MAAM;AACf,CAAC;AAED,OAAO,MAAME,eAAe,GAC1BC,SAAwD,IAC1C;EACd,MAAM;IACJC,SAAS;IACTC,iBAAiB;IACjBC,MAAM;IACNC,iBAAiB;IACjBC,mBAAmB;IACnBC,mBAAmB;IACnBC,sBAAsB;IACtBC;EACF,CAAC,GAAGR,SAAS;EACb,MAAMS,aAAa,GAAG;IACpBC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAS;IAC3BC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;EACpB,CAAC;EACD,MAAMC,gBAAgB,GAAG;IACvBF,KAAK,EAAE,EAAE;IACTC,KAAK,EAAE;EACT,CAAC;EACD,MAAME,SAAS,GAAG;IAAE,GAAGJ,aAAa;IAAE,GAAGP;EAAkB,CAAC;EAC5D,MAAMY,YAAY,GAAG;IAAE,GAAGF,gBAAgB;IAAE,GAAGR;EAAkB,CAAC;;EAElE;EACA;EACA;EACA,MAAMW,IAAe,GAAG;IACtBd,SAAS,EAAEA,SAAS;IACpBC,iBAAiB,EAAEW,SAAS;IAC5BV,MAAM,EAAEA,MAAQ;IAChBC,iBAAiB,EAAEU,YAAY;IAC/BT,mBAAmB,EAAEA,mBAAmB,IAAI,GAAG;IAC/CC,mBAAmB,EAAEA,mBAAmB,IAAI,GAAG;IAC/CC,sBAAsB,EAAEA,sBAAsB,IAAI,GAAG;IACrDC,sBAAsB,EAAEA,sBAAsB,IAAI,GAAG;IACrDQ,SAAS,EAAE/B;EACb,CAAC;EAED,OAAO8B,IAAI;AACb,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAIjB,SAAoB,IAAK;EACxD,MAAMH,MAAM,GAAG;IACbI,SAAS,EAAElB,GAAG,CAACmC,gBAAgB,CAAClB,SAAS,CAACC,SAAS,CAAC,EAAE,GAAG,CAAC;IAC1DC,iBAAiB,EAAE;MACjBQ,KAAK,EAAE3B,GAAG,CAACmC,gBAAgB,CAAClB,SAAS,CAACE,iBAAiB,CAACQ,KAAK,CAAC,EAAE,GAAG,CAAC;MACpEC,KAAK,EAAE5B,GAAG,CAACmC,gBAAgB,CAAClB,SAAS,CAACE,iBAAiB,CAACS,KAAK,CAAC,EAAE,GAAG;IACrE,CAAC;IACDR,MAAM,EAAErB,CAAC,CAACqC,GAAG,CAACnB,SAAS,CAACG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IACvCC,iBAAiB,EAAE;MACjBO,KAAK,EAAE5B,GAAG,CAACL,GAAG,CAACsB,SAAS,CAACI,iBAAiB,CAACO,KAAK,CAAC,EAAE,GAAG,CAAC;MACvDD,KAAK,EAAE3B,GAAG,CAACL,GAAG,CAACsB,SAAS,CAACI,iBAAiB,CAACM,KAAK,CAAC,EAAE,GAAG;IACxD,CAAC;IACDL,mBAAmB,EAAE3B,GAAG,CAACsB,SAAS,CAACK,mBAAmB,CAAC;IACvDC,mBAAmB,EAAE5B,GAAG,CAACsB,SAAS,CAACM,mBAAmB,CAAC;IACvDE,sBAAsB,EAAE9B,GAAG,CAACsB,SAAS,CAACQ,sBAAsB,CAAC;IAC7DD,sBAAsB,EAAE7B,GAAG,CAACsB,SAAS,CAACO,sBAAsB,CAAC;IAC7DS,SAAS,EAAElC,CAAC,CAACqC,GAAG,CAACnB,SAAS,CAACgB,SAAS,GAAGlC,CAAC,CAACqC,GAAG,CAAC,CAAC,CAAC,GAAGrC,CAAC,CAACqC,GAAG,CAAC,CAAC,CAAC;EAC5D,CAAC;EACD,OAAOtB,MAAM;AACf,CAAC;AAED,OAAO,MAAMuB,iBAAiB,GAC5BjC,OAA6B,IACb;EAChB,MAAM;IAAEkC,SAAS;IAAEC;EAAa,CAAC,GAAGnC,OAAO;EAC3C,MAAMoC,OAAO,GAAG;IACdF,SAAS,EAAEA,SAAS,IAAI,GAAG;IAC3BC,YAAY,EAAEA,YAAY,IAAItC,cAAc,CAACwC;EAC/C,CAAC;EAED,OAAOD,OAAO;AAChB,CAAC;AAED,OAAO,MAAME,sCAAsC,GACjDtC,OAAmD,IAChD;EACH,IAAIuC,YAAY;EAChB,IAAIvC,OAAO,EAAE;IACX,MAAM;MAAEwC,UAAU;MAAEC,YAAY;MAAEC,WAAW;MAAEC,GAAG;MAAEC,UAAU;MAAEC;IAAM,CAAC,GACrE7C,OAAO;IAETuC,YAAY,GAAG;MACbC,UAAU,EAAEA,UAAU,IAAI7C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACpCkD,YAAY,EAAEA,YAAY,IAAI9C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACxCmD,WAAW,EAAEA,WAAW,IAAI/C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACtCoD,GAAG,EAAEA,GAAG,IAAIhD,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACtBqD,UAAU,EAAEA,UAAU,IAAIjD,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACpCsD,KAAK,EAAEA,KAAK,IAAIlD,CAAC,CAACJ,GAAG,CAAC,GAAG;IAC3B,CAAC;EACH,CAAC,MAAM;IACLgD,YAAY,GAAG;MACbC,UAAU,EAAE7C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACtBkD,YAAY,EAAE9C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACxBmD,WAAW,EAAE/C,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACvBoD,GAAG,EAAEhD,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACfqD,UAAU,EAAEjD,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;MACtBsD,KAAK,EAAElD,CAAC,CAACJ,GAAG,CAAC,GAAG;IAClB,CAAC;EACH;EAEA,OAAOgD,YAAY;AACrB,CAAC;AAED,OAAO,MAAMR,gBAAgB,GAAIe,GAAa,IAAK;EACjD,IAAIC,MAA2C,GAAG,IAAI;EACtD,QAAQD,GAAG,CAACE,MAAM;IAChB,KAAK,CAAC;MACJD,MAAM,GAAGvD,KAAK;MACd;IACF,KAAK,CAAC;MACJuD,MAAM,GAAGtD,KAAK;MACd;IACF,KAAK,CAAC;MACJsD,MAAM,GAAGrD,KAAK;MACd;IACF;MACE,MAAM,IAAIuD,KAAK,CAAC,kDAAkD,CAAC;EACvE;EAEA,MAAMC,KAAK,GAAGH,MAAM,CAAC,GAAGD,GAAG,CAAC;EAC5B,OAAOI,KAAK;AACd,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/components/Content.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAiB,EAEf,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EACV,YAAY,EAEZ,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AA0BjB,OAAO,KAAK,EAEV,SAAS,EACT,qBAAqB,EACrB,YAAY,EAEZ,gCAAgC,EACjC,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,GAAG,EAAO,MAAM,iBAAiB,CAAC;AAgBhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,UAAU,YAAa,SAAQ,WAAW;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACzC;AAUD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,OAAO,EACP,cAAc,EACd,kCAAkC,EAClC,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,aAAa,EACb,KAAK,EACL,iBAAyB,EACzB,KAAK,EACL,cAAc,GACf,EAAE,YAAY,2CAoUd"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/components/Content.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAiB,EAEf,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EACV,YAAY,EAEZ,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AA0BjB,OAAO,KAAK,EAEV,SAAS,EACT,qBAAqB,EACrB,YAAY,EAEZ,gCAAgC,EACjC,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,GAAG,EAAO,MAAM,iBAAiB,CAAC;AAiBhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,UAAU,YAAa,SAAQ,WAAW;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACzC;AAWD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,OAAO,EACP,cAAc,EACd,kCAAkC,EAClC,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,aAAa,EACb,KAAK,EACL,iBAAyB,EACzB,KAAK,EACL,cAAc,GACf,EAAE,YAAY,2CAmVd"}
@@ -1,2 +1,3 @@
1
1
  export declare const debug = false;
2
+ export declare const colorMaskDebug = false;
2
3
  //# sourceMappingURL=debugMode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugMode.d.ts","sourceRoot":"","sources":["../../../../src/config/debugMode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,QAAQ,CAAC"}
1
+ {"version":3,"file":"debugMode.d.ts","sourceRoot":"","sources":["../../../../src/config/debugMode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,QAAQ,CAAC;AAC3B,eAAO,MAAM,cAAc,QAAQ,CAAC"}
@@ -1,20 +1,12 @@
1
1
  import * as d from 'typegpu/data';
2
2
  export declare const textureBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
3
- texture: {
4
- texture: "float";
5
- dimension: string;
6
- sampleType: string;
7
- };
3
+ texture: import("typegpu").TgpuLayoutTexture<d.WgslTexture2d<d.F32>>;
8
4
  sampler: {
9
5
  sampler: "filtering";
10
6
  };
11
7
  }>;
12
8
  export declare const maskTextureBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
13
- texture: {
14
- texture: "float";
15
- dimension: string;
16
- sampleType: string;
17
- };
9
+ texture: import("typegpu").TgpuLayoutTexture<d.WgslTexture2d<d.F32>>;
18
10
  sampler: {
19
11
  sampler: "filtering";
20
12
  };
@@ -60,6 +52,7 @@ export declare const colorMaskSchema: d.WgslStruct<{
60
52
  saturationTolerance: d.F32;
61
53
  lowSaturationThreshold: d.F32;
62
54
  lowBrightnessThreshold: d.F32;
55
+ debugMode: d.U32;
63
56
  }>;
64
57
  export type ColorMaskSchema = typeof colorMaskSchema;
65
58
  export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
@@ -79,6 +72,7 @@ export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLa
79
72
  saturationTolerance: d.F32;
80
73
  lowSaturationThreshold: d.F32;
81
74
  lowBrightnessThreshold: d.F32;
75
+ debugMode: d.U32;
82
76
  }>;
83
77
  };
84
78
  }>;
@@ -145,6 +139,7 @@ export declare const bufferData: {
145
139
  saturationTolerance: d.F32;
146
140
  lowSaturationThreshold: d.F32;
147
141
  lowBrightnessThreshold: d.F32;
142
+ debugMode: d.U32;
148
143
  }>;
149
144
  readonly usage: "uniform";
150
145
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bindGroupLayouts.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupLayouts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,eAAO,MAAM,sBAAsB;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;EAIrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;EAElC,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C,eAAO,MAAM,oBAAoB;;;;;;;;;;;EAE/B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAe1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAErD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;;;;;EAOjD,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAChD,OAAO,sCAAsC,CAAC;AAEhD,eAAO,MAAM,+CAA+C;;;;;;;;;;;;;;;;;;;;;EAIxD,CAAC;AAEL,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"bindGroupLayouts.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupLayouts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,eAAO,MAAM,sBAAsB;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;EAIrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;EAElC,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C,eAAO,MAAM,oBAAoB;;;;;;;;;;;EAE/B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EAgB1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAErD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;;;;;EAOjD,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAChD,OAAO,sCAAsC,CAAC;AAEhD,eAAO,MAAM,+CAA+C;;;;;;;;;;;;;;;;;;;;;EAIxD,CAAC;AAEL,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC"}
@@ -47,6 +47,7 @@ export declare const createColorMaskBuffer: (root: TgpuRoot, initValues: Partial
47
47
  saturationTolerance: d.F32;
48
48
  lowSaturationThreshold: d.F32;
49
49
  lowBrightnessThreshold: d.F32;
50
+ debugMode: d.U32;
50
51
  }>> & UniformFlag;
51
52
  export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<ColorMaskSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
52
53
  mask: {
@@ -65,6 +66,7 @@ export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuff
65
66
  saturationTolerance: d.F32;
66
67
  lowSaturationThreshold: d.F32;
67
68
  lowBrightnessThreshold: d.F32;
69
+ debugMode: d.U32;
68
70
  }>;
69
71
  };
70
72
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"bindGroupUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,sCAAsC,EAE5C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,EAAE;;;;CAAoB,sCAGnD,CAAC;AAEvB,eAAO,MAAM,6BAA6B,GACxC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;;;;EAIzB,CAAC;AAEL,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,aAAa,OAAO,CAAC,YAAY,CAAC;;;;;;;iBAId,CAAC;AAEvB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;;;;;;;;;;;EAI3C,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAChC,MAAM,QAAQ,EACd,YAAY,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEvB,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,eAAe,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;EAI/C,CAAC;AAEL,eAAO,MAAM,+CAA+C,GAC1D,MAAM,QAAQ,EACd,wBAAwB,UAAU,CAAC,sCAAsC,CAAC,GACxE,WAAW,EACb,oBAAoB,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;EAKvD,CAAC"}
1
+ {"version":3,"file":"bindGroupUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAIL,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,sCAAsC,EAE5C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AASxB,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,EAAE;;;;CAAoB,sCAGnD,CAAC;AAEvB,eAAO,MAAM,6BAA6B,GACxC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;;;;EAIzB,CAAC;AAEL,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,aAAa,OAAO,CAAC,YAAY,CAAC;;;;;;;iBAId,CAAC;AAEvB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;;;;;;;;;;;EAI3C,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAChC,MAAM,QAAQ,EACd,YAAY,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEvB,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,eAAe,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;EAI/C,CAAC;AAEL,eAAO,MAAM,+CAA+C,GAC1D,MAAM,QAAQ,EACd,wBAAwB,UAAU,CAAC,sCAAsC,CAAC,GACxE,WAAW,EACb,oBAAoB,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;EAKvD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as d from 'typegpu/data';
2
+ export declare const baseTextureFragment: import("typegpu").TgpuFragmentFn<{
3
+ uv: d.Vec2f;
4
+ }, d.Vec4f>;
5
+ //# sourceMappingURL=baseTextureFragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTextureFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/baseTextureFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,eAAO,MAAM,mBAAmB;;WAY9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"colorMaskFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/colorMaskFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAQlC,QAAA,MAAM,iBAAiB;;WAiErB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"colorMaskFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/colorMaskFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAQlC,QAAA,MAAM,iBAAiB;;WA0ErB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glareFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/glareFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAUlC,eAAO,MAAM,aAAa;;WAqExB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;WA4D3B,CAAC"}
1
+ {"version":3,"file":"glareFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/glareFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAUlC,eAAO,MAAM,aAAa;;WAqExB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;WA0D3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"holoFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/holoFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AASlC,eAAO,MAAM,YAAY;;WAwBvB,CAAC"}
1
+ {"version":3,"file":"holoFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/holoFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AASlC,eAAO,MAAM,YAAY;;WA8BvB,CAAC"}
@@ -2,8 +2,8 @@ import { type TextureProps, type TgpuRoot, type TgpuTexture } from 'typegpu';
2
2
  export declare const createTexture: (root: TgpuRoot, size: {
3
3
  width: number;
4
4
  height: number;
5
- }) => Promise<TgpuTexture>;
6
- export declare const loadTexture: (root: TgpuRoot, imageBitmap: ImageBitmap, texture: TgpuTexture) => Promise<void>;
5
+ }) => Promise<TgpuTexture<any>>;
6
+ export declare const loadTexture: (root: TgpuRoot, imageBitmap: ImageBitmap, texture: TgpuTexture<any>) => Promise<void>;
7
7
  export declare function loadBitmap(root: TgpuRoot, imageURI: string, setTexture: (texture: TgpuTexture<TextureProps>) => void, usage?: ('sampled' | 'render')[]): Promise<void>;
8
- export declare function addTextureUsage(texture: TgpuTexture, usage: ('sampled' | 'render')[]): Promise<TgpuTexture<TextureProps> & import("typegpu").Sampled & import("typegpu").Render>;
8
+ export declare function addTextureUsage(texture: TgpuTexture, usage: ('sampled' | 'render')[]): Promise<TgpuTexture<TextureProps> & import("typegpu").SampledFlag & import("typegpu").RenderFlag>;
9
9
  //# sourceMappingURL=textures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,MAAM;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,KAEA,OAAO,CAAC,WAAW,CAOrB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,QAAQ,EACd,aAAa,WAAW,EACxB,SAAS,WAAW,kBAOrB,CAAC;AAEF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,IAAI,EACxD,KAAK,GAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,EAA0B,iBAQxD;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,6FAGhC"}
1
+ {"version":3,"file":"textures.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/textures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,MAAM;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,KAEA,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAO1B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,QAAQ,EACd,aAAa,WAAW,EACxB,SAAS,WAAW,CAAC,GAAG,CAAC,kBAO1B,CAAC;AAEF,wBAAsB,UAAU,CAC9B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,IAAI,EACxD,KAAK,GAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,EAA0B,iBAQxD;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,qGAGhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tgpuUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/tgpuUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,QAAQ,mEA6BnB,CAAC;AAEH,eAAO,MAAM,QAAQ,qDA6BnB,CAAC;AAEH,eAAO,MAAM,QAAQ,qDAanB,CAAC;AAEH,eAAO,MAAM,IAAI,+DASf,CAAC;AAEH,eAAO,MAAM,eAAe,qEAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,gEAYzB,CAAC;AAEH,eAAO,MAAM,eAAe,sEAS1B,CAAC;AAEH,mBAAmB;AACnB,eAAO,MAAM,OAAO,mDAQlB,CAAC;AAEH,eAAO,MAAM,0BAA0B,+DAcrC,CAAC;AAEH,eAAO,MAAM,UAAU,yEAMrB,CAAC"}
1
+ {"version":3,"file":"tgpuUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/tgpuUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,QAAQ,mEAQnB,CAAC;AAEH,eAAO,MAAM,QAAQ,qDA4BnB,CAAC;AAEH,eAAO,MAAM,QAAQ,qDA8BnB,CAAC;AAEH,eAAO,MAAM,IAAI,+DASf,CAAC;AAEH,eAAO,MAAM,eAAe,qEAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,gEAYzB,CAAC;AAEH,eAAO,MAAM,eAAe,sEAS1B,CAAC;AAEH,mBAAmB;AACnB,eAAO,MAAM,OAAO,mDAQlB,CAAC;AAEH,eAAO,MAAM,0BAA0B,+DAcrC,CAAC;AAEH,eAAO,MAAM,UAAU,yEAMrB,CAAC"}
@@ -18,6 +18,7 @@ export declare const colorMaskToTyped: (colorMask: ColorMask) => {
18
18
  saturationTolerance: number;
19
19
  lowSaturationThreshold: number;
20
20
  lowBrightnessThreshold: number;
21
+ debugMode: number;
21
22
  };
22
23
  export declare const createHoloOptions: (options: Partial<HoloOptions>) => HoloOptions;
23
24
  export declare const createReverseHoloDetectionChannelFlags: (options?: Partial<ReverseHoloDetectionChannelFlags>) => {
@@ -1 +1 @@
1
- {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,qBAAqB,EAErB,WAAW,EACX,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,CAAC,YAAY,CAAC,KAC7B,YAoBF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvD,KAAK,CAAC,KACL,GACA,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAQvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,KACvD,SAqCF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS;;;;;;;;;;;;;;;CAkBpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,WAQF,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,UAAU,OAAO,CAAC,gCAAgC,CAAC;;;;;;;CA2BpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAkB7C,CAAC"}
1
+ {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,qBAAqB,EAErB,WAAW,EACX,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,CAAC,YAAY,CAAC,KAC7B,YAoBF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvD,KAAK,CAAC,KACL,GACA,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,GAQvC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,WAAW,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,KACvD,SAsCF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS;;;;;;;;;;;;;;;;CAmBpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,WAQF,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,UAAU,OAAO,CAAC,gCAAgC,CAAC;;;;;;;CA2BpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAkB7C,CAAC"}
@@ -27,6 +27,7 @@ export type ColorMask = {
27
27
  upper: vec3;
28
28
  lower: vec3;
29
29
  };
30
+ debugMode?: boolean;
30
31
  };
31
32
  export type ReverseHoloDetectionChannelFlags = {
32
33
  redChannel: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-shine",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Fast and efficient way of adding interactive effects that are run entirely on shaders using typeGPU.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -88,9 +88,9 @@
88
88
  "react-native-wgpu": "^0.3.1",
89
89
  "react-native-worklets": "^0.5.2",
90
90
  "release-it": "^17.10.0",
91
- "typegpu": "0.7.1",
91
+ "typegpu": "^0.8.2",
92
92
  "typescript": "^5.8.3",
93
- "unplugin-typegpu": "0.2.2"
93
+ "unplugin-typegpu": "^0.8.0"
94
94
  },
95
95
  "peerDependencies": {
96
96
  "react": "*",
@@ -98,7 +98,7 @@
98
98
  "react-native-reanimated": "^4.1.3",
99
99
  "react-native-wgpu": "^0.3.1",
100
100
  "react-native-worklets": "^0.5.2",
101
- "typegpu": "0.7.1"
101
+ "typegpu": "^0.8.2"
102
102
  },
103
103
  "workspaces": [
104
104
  "example"
@@ -74,6 +74,7 @@ import {
74
74
  transformV2d,
75
75
  zeroV3d,
76
76
  } from '../utils/vector';
77
+ import { baseTextureFragment } from '../shaders/fragmentShaders/baseTextureFragment';
77
78
 
78
79
  export interface SharedProps {
79
80
  width: number;
@@ -96,8 +97,9 @@ interface ContentProps extends SharedProps {
96
97
  }
97
98
 
98
99
  interface PipelineMap {
99
- glare: TgpuRenderPipeline;
100
- colorMask: TgpuRenderPipeline;
100
+ baseTexture: TgpuRenderPipeline;
101
+ glare: TgpuRenderPipeline | void;
102
+ colorMask: TgpuRenderPipeline | void;
101
103
  mask: TgpuRenderPipeline | void;
102
104
  reverseHolo: TgpuRenderPipeline | void;
103
105
  holo: TgpuRenderPipeline | void;
@@ -252,18 +254,17 @@ export default function Content({
252
254
  alphaMode: 'premultiplied',
253
255
  });
254
256
 
255
- const sampler = device.createSampler({
256
- magFilter: 'linear',
257
- minFilter: 'linear',
258
- mipmapFilter: 'linear',
259
- });
260
-
261
- // TODO: revert to this one after version bump
262
- // const sampler = root['~unstable'].createSampler({
257
+ // const sampler = device.createSampler({
263
258
  // magFilter: 'linear',
264
259
  // minFilter: 'linear',
265
260
  // mipmapFilter: 'linear',
266
- // }) as any as GPUSampler; //TODO: delete this cast when TgpuFixedSampler gets exposed
261
+ // });
262
+
263
+ const sampler = root['~unstable'].createSampler({
264
+ magFilter: 'linear',
265
+ minFilter: 'linear',
266
+ mipmapFilter: 'linear',
267
+ }) as any as GPUSampler; //TODO: delete this cast when TgpuFixedSampler gets exposed
267
268
 
268
269
  const imageTextureBindGroup = root.createBindGroup(textureBindGroupLayout, {
269
270
  texture: root.unwrap(imageTexture).createView(),
@@ -308,6 +309,16 @@ export default function Content({
308
309
  );
309
310
 
310
311
  const pipelineMap: PipelineMap = {
312
+ baseTexture: attachBindGroups(
313
+ root['~unstable']
314
+ .withVertex(mainVertex, {})
315
+ .withFragment(
316
+ baseTextureFragment,
317
+ getDefaultTarget(presentationFormat)
318
+ )
319
+ .createPipeline(),
320
+ [imageTextureBindGroup, rotationBindGroup]
321
+ ),
311
322
  glare: attachBindGroups(
312
323
  root['~unstable']
313
324
  .withVertex(mainVertex, {})
@@ -376,15 +387,21 @@ export default function Content({
376
387
  storeOp: 'store',
377
388
  };
378
389
 
379
- const { glare, mask, colorMask, holo, reverseHolo } = pipelineMap;
390
+ const { baseTexture, glare, mask, colorMask, holo, reverseHolo } =
391
+ pipelineMap;
380
392
 
381
- const pairs: PipelineAttachmentPair[] = [[glare, initialAttachment]];
393
+ const pairs: PipelineAttachmentPair[] = [
394
+ [baseTexture, initialAttachment],
395
+ ];
382
396
 
397
+ if (glareOptions && glare) {
398
+ pairs.push([glare, loadingAttachment]);
399
+ }
383
400
  if (mask) pairs.push([mask, loadingAttachment]);
384
401
  if (addReverseHolo && reverseHolo)
385
402
  pairs.push([reverseHolo, loadingAttachment]);
386
403
  if (addHolo && holo) pairs.push([holo, loadingAttachment]);
387
- pairs.push([colorMask, loadingAttachment]);
404
+ if (colorMask) pairs.push([colorMask, loadingAttachment]);
388
405
 
389
406
  pairs.forEach(([pipeline, attachment]) =>
390
407
  pipeline.withColorAttachment(attachment).draw(6)
@@ -1 +1,2 @@
1
1
  export const debug = false;
2
+ export const colorMaskDebug = false;
@@ -3,7 +3,7 @@ import * as std from 'typegpu/std';
3
3
  import * as d from 'typegpu/data';
4
4
 
5
5
  const defaultWave = (pos: d.v2f) => {
6
- 'kernel';
6
+ 'use gpu';
7
7
 
8
8
  const x = pos.x;
9
9
  const y = pos.y;
@@ -48,6 +48,7 @@ export const colorMaskSchema = d.struct({
48
48
  saturationTolerance: d.f32,
49
49
  lowSaturationThreshold: d.f32,
50
50
  lowBrightnessThreshold: d.f32,
51
+ debugMode: d.u32,
51
52
  });
52
53
 
53
54
  export type ColorMaskSchema = typeof colorMaskSchema;
@@ -0,0 +1,18 @@
1
+ import tgpu from 'typegpu';
2
+ import * as d from 'typegpu/data';
3
+ import * as std from 'typegpu/std';
4
+ import { textureBindGroupLayout } from '../bindGroupLayouts';
5
+
6
+ export const baseTextureFragment = tgpu['~unstable'].fragmentFn({
7
+ in: { uv: d.vec2f },
8
+ out: d.vec4f,
9
+ })((input) => {
10
+ const texcoord = d.vec2f(input.uv.x, 1.0 - input.uv.y);
11
+ let color = std.textureSample(
12
+ textureBindGroupLayout.$.texture,
13
+ textureBindGroupLayout.$.sampler,
14
+ texcoord
15
+ );
16
+
17
+ return color;
18
+ });
@@ -27,6 +27,8 @@ const colorMaskFragment = tgpu['~unstable'].fragmentFn({
27
27
  const lowSaturationThreshold = mask.lowSaturationThreshold;
28
28
  const lowBrightnessThreshold = mask.lowBrightnessThreshold;
29
29
 
30
+ const colorMaskDebug = mask.debugMode;
31
+
30
32
  let color = std.textureSample(
31
33
  textureBindGroupLayout.$.texture,
32
34
  textureBindGroupLayout.$.sampler,
@@ -71,6 +73,13 @@ const colorMaskFragment = tgpu['~unstable'].fragmentFn({
71
73
  const maskCheck = std.select(rgbCheck, hsvCheck, useHSV === d.u32(1));
72
74
 
73
75
  color = std.select(color, d.vec4f(color.xyz, 0.0), maskCheck);
76
+
77
+ //debug - shows masked areas coloring them red
78
+ color = std.select(
79
+ color,
80
+ d.vec4f(1.0, 0.0, 0.0, 0.0),
81
+ maskCheck && colorMaskDebug === d.u32(1)
82
+ );
74
83
  return color;
75
84
  });
76
85
 
@@ -95,8 +95,8 @@ export const newGlareFragment = tgpu['~unstable'].fragmentFn({
95
95
  const glareIntensity = opts.glareIntensity; // [0..∞): bigger → wider/stronger area
96
96
  const glowPower = opts.glowPower; // (0..∞): curve shaping; bigger → softer/wider glow
97
97
  const hueBlendPower = opts.hueBlendPower; // [0..1+]: how much hue-shifted color blends in
98
- const hueShiftAngleMin = opts.hueShiftAngleMin; // radians
99
- const hueShiftAngleMax = opts.hueShiftAngleMax; // radians
98
+ const hueShiftAngleMin = opts.hueShiftAngleMin; // degrees
99
+ const hueShiftAngleMax = opts.hueShiftAngleMax; // degrees
100
100
  const lightIntensity = opts.lightIntensity / 1.3; // [0..∞): brightness boost of the glare/bloom
101
101
 
102
102
  let color = std.textureSample(
@@ -137,7 +137,5 @@ export const newGlareFragment = tgpu['~unstable'].fragmentFn({
137
137
 
138
138
  const outRGB = std.clamp(finalRGB, d.vec3f(0.0), d.vec3f(1.0));
139
139
 
140
- // if (maskedGlow > 0.6) return d.vec4f(0.0, 0.0, 0.0, 0.0);
141
-
142
140
  return d.vec4f(outRGB, color.w);
143
141
  });
@@ -27,9 +27,15 @@ export const holoFragment = tgpu['~unstable'].fragmentFn({
27
27
 
28
28
  const band = std.add(0.2 * waveX * uv.x, 2 * waveY * uv.y);
29
29
 
30
- const hueAngle = std.mul(std.abs(band), (10 * Math.PI * rot.x) / 3);
30
+ //TODO: fix holo
31
+ const hueAngle =
32
+ d.f32(180) * std.mul(std.abs(band), (10 * Math.PI * rot.x) / 3);
31
33
  const rainbowColor = hueShift(d.vec3f(1.0, 1.0, 1.0), hueAngle);
32
34
  const finalColor = std.mul(rainbowColor, 1.0);
33
35
 
36
+ // console.log('\ncurrentColor = (', rainbowColor.xyz, ')');
37
+ // console.log('hueAngle = ', hueAngle);
38
+ // console.clear();
39
+
34
40
  return d.vec4f(finalColor, 0.9 * textureColor.w);
35
41
  });
@@ -7,8 +7,8 @@ export const createTexture = async (
7
7
  width: number;
8
8
  height: number;
9
9
  }
10
- //TODO: check why the error message screams about 'texture_2d' and 'texture_multisampled_2d'
11
- ): Promise<TgpuTexture> => {
10
+ //TODO: change any to the texture types (make a type that includes a union of all texture formats that are used)
11
+ ): Promise<TgpuTexture<any>> => {
12
12
  const texture = root['~unstable'].createTexture({
13
13
  size: [size.width, size.height, 1],
14
14
  format: 'rgba8unorm',
@@ -20,7 +20,7 @@ export const createTexture = async (
20
20
  export const loadTexture = async (
21
21
  root: TgpuRoot,
22
22
  imageBitmap: ImageBitmap,
23
- texture: TgpuTexture
23
+ texture: TgpuTexture<any>
24
24
  ) => {
25
25
  root.device.queue.copyExternalImageToTexture(
26
26
  { source: imageBitmap },
@@ -6,41 +6,20 @@ export const hueShift = tgpu.fn(
6
6
  [d.vec3f, d.f32],
7
7
  d.vec3f
8
8
  )((rgb, angle) => {
9
- const yiqY = std.add(
10
- std.mul(rgb.x, 0.299),
11
- std.add(std.mul(rgb.y, 0.587), std.mul(rgb.z, 0.114))
12
- );
13
- const yiqI = std.add(
14
- std.mul(rgb.x, 0.596),
15
- std.sub(std.mul(rgb.y, -0.274), std.mul(rgb.z, 0.322))
16
- );
17
- const yiqQ = std.add(
18
- std.mul(rgb.x, 0.211),
19
- std.sub(std.mul(rgb.y, -0.523), std.mul(rgb.z, 0.311))
20
- );
21
-
22
- // Rotate hue
23
- const cosA = std.cos(angle);
24
- const sinA = std.sin(angle);
25
- const i = std.sub(std.mul(yiqI, cosA), std.mul(yiqQ, sinA));
26
- const q = std.add(std.mul(yiqI, sinA), std.mul(yiqQ, cosA));
27
-
28
- // Convert back to RGB
29
- const r = std.add(std.add(yiqY, std.mul(i, 0.956)), std.mul(q, 0.621));
30
- const g = std.add(std.add(yiqY, std.mul(i, -0.272)), std.mul(q, -0.647));
31
- const b = std.add(std.add(yiqY, std.mul(i, -1.105)), std.mul(q, 1.702));
32
-
33
- return d.vec3f(r, g, b);
9
+ const hsv = rgbToHSV(rgb);
10
+ const shiftedH = std.fract(std.add(hsv.x, angle / 360.0));
11
+ const shiftedRGB = hsvToRGB(d.vec3f(shiftedH, hsv.y, hsv.z));
12
+ return shiftedRGB;
34
13
  });
35
14
 
36
- export const rgbToHSV = tgpu['~unstable'].fn(
15
+ export const rgbToHSV = tgpu.fn(
37
16
  [d.vec3f],
38
17
  d.vec3f
39
18
  )((rgb) => {
40
19
  const K = d.vec4f(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
41
20
  const p = std.mix(
42
- d.vec4f(rgb.y, rgb.z, K.w, K.z),
43
- d.vec4f(rgb.z, rgb.y, K.x, K.y),
21
+ d.vec4f(rgb.z, rgb.y, K.w, K.z),
22
+ d.vec4f(rgb.y, rgb.z, K.x, K.y),
44
23
  std.step(rgb.z, rgb.y)
45
24
  );
46
25
  const q = std.mix(
@@ -49,34 +28,50 @@ export const rgbToHSV = tgpu['~unstable'].fn(
49
28
  std.step(p.x, rgb.x)
50
29
  );
51
30
 
52
- const d_val = std.sub(q.x, std.min(q.w, q.y));
31
+ const v = std.max(q.x, q.y);
32
+ const d_val = std.sub(v, std.min(q.y, q.w));
53
33
  const epsilon = d.f32(1.0e-10);
54
34
 
55
- const h = std.abs(
56
- std.add(
57
- q.z,
58
- std.div(std.sub(q.w, q.y), std.add(std.mul(6.0, d_val), epsilon))
59
- )
35
+ const h_temp = std.add(
36
+ q.z,
37
+ std.div(std.sub(q.w, q.y), std.add(std.mul(6.0, d_val), epsilon))
60
38
  );
61
- const s = std.div(d_val, std.add(q.x, epsilon));
62
- const v = q.x;
39
+ const h = std.fract(h_temp);
40
+ const s = std.div(d_val, std.add(v, epsilon));
63
41
 
64
42
  return d.vec3f(h, s, v);
65
43
  });
66
44
 
67
- export const hsvToRGB = tgpu['~unstable'].fn(
45
+ export const hsvToRGB = tgpu.fn(
68
46
  [d.vec3f],
69
47
  d.vec3f
70
48
  )((hsv) => {
71
- const K = d.vec4f(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
72
- const p = std.abs(
73
- std.sub(std.mul(std.fract(std.add(hsv.xxx, K.xxx)), 6.0), K.zzz)
74
- );
75
- const rgb = std.mul(
76
- hsv.z,
77
- std.mix(K.xxx, std.saturate(std.sub(p, K.xxx)), hsv.y)
78
- );
79
- return rgb;
49
+ const h = hsv.x;
50
+ const s = hsv.y;
51
+ const v = hsv.z;
52
+
53
+ // Multiply by 6.0 to convert [0,1] hue range to [0,6] sector range
54
+ const h2 = h * d.f32(6.0);
55
+
56
+ const i = std.floor(h2);
57
+ const f = h2 - i;
58
+
59
+ const p = v * (d.f32(1) - s);
60
+ const q = v * (d.f32(1) - s * f);
61
+ const t = v * (d.f32(1) - s * (d.f32(1) - f));
62
+
63
+ const i1 = d.f32(i === 1);
64
+ const i2 = d.f32(i === 2);
65
+ const i3 = d.f32(i === 3);
66
+ const i4 = d.f32(i === 4);
67
+ const i5 = d.f32(i === 5);
68
+ const i0 = d.f32(d.u32(i5 + i1 + i2 + i3 + i4) === d.u32(0)); //doesnt work, clamps on 300
69
+
70
+ const r = i0 * v + i1 * q + i2 * p + i3 * p + i4 * t + i5 * v;
71
+ const g = i0 * t + i1 * v + i2 * v + i3 * q + i4 * p + i5 * p;
72
+ const b = i0 * p + i1 * p + i2 * t + i3 * v + i4 * v + i5 * q;
73
+
74
+ return d.vec3f(r, g, b);
80
75
  });
81
76
 
82
77
  export const fmod = tgpu.fn(
@@ -10,6 +10,7 @@ import type {
10
10
  } from './types';
11
11
  import { div } from 'typegpu/std';
12
12
  import { WAVE_CALLBACKS } from '../enums/waveCallback';
13
+ import { colorMaskDebug } from '../config/debugMode';
13
14
 
14
15
  export const createGlareOptions = (
15
16
  options: Partial<GlareOptions>
@@ -84,6 +85,7 @@ export const createColorMask = (
84
85
  saturationTolerance: saturationTolerance ?? 1.0,
85
86
  lowBrightnessThreshold: lowBrightnessThreshold ?? 0.0,
86
87
  lowSaturationThreshold: lowSaturationThreshold ?? 0.0,
88
+ debugMode: colorMaskDebug,
87
89
  };
88
90
 
89
91
  return mask;
@@ -105,6 +107,7 @@ export const colorMaskToTyped = (colorMask: ColorMask) => {
105
107
  saturationTolerance: f32(colorMask.saturationTolerance),
106
108
  lowSaturationThreshold: f32(colorMask.lowSaturationThreshold),
107
109
  lowBrightnessThreshold: f32(colorMask.lowBrightnessThreshold),
110
+ debugMode: d.u32(colorMask.debugMode ? d.u32(1) : d.u32(0)),
108
111
  };
109
112
  return result;
110
113
  };
@@ -31,6 +31,7 @@ export type ColorMask = {
31
31
  upper: vec3;
32
32
  lower: vec3;
33
33
  };
34
+ debugMode?: boolean;
34
35
  };
35
36
 
36
37
  export type ReverseHoloDetectionChannelFlags = {