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
@@ -1,3 +1,4 @@
1
+ import { type ViewStyle } from 'react-native';
1
2
  import { type SharedValue } from 'react-native-reanimated';
2
3
  import type { TextureProps, TgpuRoot, TgpuTexture } from 'typegpu';
3
4
  import type { ColorMask, DeepPartiallyOptional, GlareOptions, ReverseHoloDetectionChannelFlags } from '../types/types';
@@ -7,18 +8,19 @@ export interface SharedProps {
7
8
  height: number;
8
9
  glareOptions?: Partial<GlareOptions>;
9
10
  colorMaskOptions?: DeepPartiallyOptional<ColorMask, 'baseColor'>;
10
- useTouchControl?: boolean;
11
11
  touchPosition?: SharedValue<V2d>;
12
12
  addReverseHolo?: boolean;
13
13
  reverseHoloDetectionChannelOptions?: Partial<ReverseHoloDetectionChannelFlags>;
14
14
  addHolo?: boolean;
15
15
  translateViewIn3d?: boolean;
16
+ style?: ViewStyle;
17
+ containerStyle?: ViewStyle;
16
18
  }
17
19
  interface ContentProps extends SharedProps {
18
20
  root: TgpuRoot;
19
21
  imageTexture: TgpuTexture<TextureProps>;
20
22
  maskTexture?: TgpuTexture<TextureProps>;
21
23
  }
22
- export default function Content({ addHolo, addReverseHolo, reverseHoloDetectionChannelOptions, colorMaskOptions, glareOptions, height, imageTexture, maskTexture, root, touchPosition, useTouchControl, width, translateViewIn3d, }: ContentProps): import("react/jsx-runtime").JSX.Element;
24
+ export default function Content({ addHolo, addReverseHolo, reverseHoloDetectionChannelOptions, colorMaskOptions, glareOptions, height, imageTexture, maskTexture, root, touchPosition, width, translateViewIn3d, style, containerStyle, }: ContentProps): import("react/jsx-runtime").JSX.Element;
23
25
  export {};
24
26
  //# sourceMappingURL=Content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/components/Content.tsx"],"names":[],"mappings":"AAEA,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,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,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;CAC7B;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,eAAe,EACf,KAAK,EACL,iBAAyB,GAC1B,EAAE,YAAY,2CA6Td"}
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,6 +1,6 @@
1
1
  import { type PropsWithChildren } from 'react';
2
2
  import { type ShineProps } from './Shine';
3
3
  type ShineGroupProps = PropsWithChildren<Partial<ShineProps>>;
4
- export declare function ShineGroup({ children, glareOptions, colorMaskOptions, maskURI, touchPosition, useTouchControl, addHolo, addReverseHolo, }: ShineGroupProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ShineGroup({ children, glareOptions, colorMaskOptions, maskURI, touchPosition, addHolo, addReverseHolo, }: ShineGroupProps): import("react/jsx-runtime").JSX.Element;
5
5
  export {};
6
6
  //# sourceMappingURL=ShineGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShineGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/ShineGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAW5E,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,KAAK,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAE9D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAuB,EACvB,OAAe,EACf,cAAsB,GACvB,EAAE,eAAe,2CAiEjB"}
1
+ {"version":3,"file":"ShineGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/ShineGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAW5E,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,KAAK,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAE9D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAe,EACf,cAAsB,GACvB,EAAE,eAAe,2CAgEjB"}
@@ -0,0 +1,3 @@
1
+ export declare const debug = false;
2
+ export declare const colorMaskDebug = false;
3
+ //# sourceMappingURL=debugMode.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,33 @@
1
+ export declare const ColorPresets: {
2
+ readonly RED: [255, 0, 0];
3
+ readonly GREEN: [0, 255, 0];
4
+ readonly BLUE: [0, 0, 255];
5
+ readonly YELLOW: [255, 255, 0];
6
+ readonly CYAN: [0, 255, 255];
7
+ readonly MAGENTA: [255, 0, 255];
8
+ readonly WHITE: [255, 255, 255];
9
+ readonly BLACK: [0, 0, 0];
10
+ readonly GRAY: [128, 128, 128];
11
+ readonly LIGHT_GRAY: [211, 211, 211];
12
+ readonly DARK_GRAY: [105, 105, 105];
13
+ readonly ORANGE: [255, 165, 0];
14
+ readonly PURPLE: [128, 0, 128];
15
+ readonly BROWN: [165, 42, 42];
16
+ readonly PINK: [255, 192, 203];
17
+ readonly LIME_GREEN: [50, 205, 50];
18
+ readonly FOREST_GREEN: [34, 139, 34];
19
+ readonly OLIVE: [128, 128, 0];
20
+ readonly TEAL: [0, 128, 128];
21
+ readonly NAVY: [0, 0, 128];
22
+ readonly ROYAL_BLUE: [65, 105, 225];
23
+ readonly SKY_BLUE: [135, 206, 235];
24
+ readonly INDIGO: [75, 0, 130];
25
+ readonly VIOLET: [238, 130, 238];
26
+ readonly MAROON: [128, 0, 0];
27
+ readonly GOLD: [255, 215, 0];
28
+ readonly TOMATO: [255, 99, 71];
29
+ readonly SALMON: [250, 128, 114];
30
+ readonly BEIGE: [245, 245, 220];
31
+ readonly POTATO: [222, 184, 135];
32
+ };
33
+ //# sourceMappingURL=colorPresets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorPresets.d.ts","sourceRoot":"","sources":["../../../../src/enums/colorPresets.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCgB,CAAC"}
@@ -6,4 +6,5 @@ export { ShineGroup } from './components/ShineGroup';
6
6
  export type { ShineProps } from './components/Shine';
7
7
  export * from './utils/vector';
8
8
  export type { V2d, V3d } from './types/vector';
9
+ export * from './enums/colorPresets';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,CAAC;AACF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,CAAC;AACF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC/C,cAAc,sBAAsB,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
  };
@@ -51,6 +43,16 @@ export declare const colorMaskSchema: d.WgslStruct<{
51
43
  upper: d.Vec3f;
52
44
  lower: d.Vec3f;
53
45
  }>;
46
+ hueToleranceRange: d.WgslStruct<{
47
+ upper: d.F32;
48
+ lower: d.F32;
49
+ }>;
50
+ useHSV: d.Decorated<d.U32, [d.Align<16>]>;
51
+ brightnessTolerance: d.F32;
52
+ saturationTolerance: d.F32;
53
+ lowSaturationThreshold: d.F32;
54
+ lowBrightnessThreshold: d.F32;
55
+ debugMode: d.U32;
54
56
  }>;
55
57
  export type ColorMaskSchema = typeof colorMaskSchema;
56
58
  export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
@@ -61,6 +63,16 @@ export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLa
61
63
  upper: d.Vec3f;
62
64
  lower: d.Vec3f;
63
65
  }>;
66
+ hueToleranceRange: d.WgslStruct<{
67
+ upper: d.F32;
68
+ lower: d.F32;
69
+ }>;
70
+ useHSV: d.Decorated<d.U32, [d.Align<16>]>;
71
+ brightnessTolerance: d.F32;
72
+ saturationTolerance: d.F32;
73
+ lowSaturationThreshold: d.F32;
74
+ lowBrightnessThreshold: d.F32;
75
+ debugMode: d.U32;
64
76
  }>;
65
77
  };
66
78
  }>;
@@ -118,6 +130,16 @@ export declare const bufferData: {
118
130
  upper: d.Vec3f;
119
131
  lower: d.Vec3f;
120
132
  }>;
133
+ hueToleranceRange: d.WgslStruct<{
134
+ upper: d.F32;
135
+ lower: d.F32;
136
+ }>;
137
+ useHSV: d.Decorated<d.U32, [d.Align<16>]>;
138
+ brightnessTolerance: d.F32;
139
+ saturationTolerance: d.F32;
140
+ lowSaturationThreshold: d.F32;
141
+ lowBrightnessThreshold: d.F32;
142
+ debugMode: d.U32;
121
143
  }>;
122
144
  readonly usage: "uniform";
123
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;;;;;;EAM1B,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"}
@@ -38,6 +38,16 @@ export declare const createColorMaskBuffer: (root: TgpuRoot, initValues: Partial
38
38
  upper: d.Vec3f;
39
39
  lower: d.Vec3f;
40
40
  }>;
41
+ hueToleranceRange: d.WgslStruct<{
42
+ upper: d.F32;
43
+ lower: d.F32;
44
+ }>;
45
+ useHSV: d.Decorated<d.U32, [d.Align<16>]>;
46
+ brightnessTolerance: d.F32;
47
+ saturationTolerance: d.F32;
48
+ lowSaturationThreshold: d.F32;
49
+ lowBrightnessThreshold: d.F32;
50
+ debugMode: d.U32;
41
51
  }>> & UniformFlag;
42
52
  export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<ColorMaskSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
43
53
  mask: {
@@ -47,6 +57,16 @@ export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuff
47
57
  upper: d.Vec3f;
48
58
  lower: d.Vec3f;
49
59
  }>;
60
+ hueToleranceRange: d.WgslStruct<{
61
+ upper: d.F32;
62
+ lower: d.F32;
63
+ }>;
64
+ useHSV: d.Decorated<d.U32, [d.Align<16>]>;
65
+ brightnessTolerance: d.F32;
66
+ saturationTolerance: d.F32;
67
+ lowSaturationThreshold: d.F32;
68
+ lowBrightnessThreshold: d.F32;
69
+ debugMode: d.U32;
50
70
  }>;
51
71
  };
52
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;AAOlC,QAAA,MAAM,iBAAiB;;WAwBrB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bitmaps.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/bitmaps.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,CAgBhE,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"bitmaps.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/bitmaps.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,CAgBhE,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bufferManager.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/bufferManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D,KAAK,wBAAwB,CAC3B,MAAM,SAAS;IAAE,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,IAC1E,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,GACjC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,eAAe,EAAE,IAAI,CAAA;CAAE,GACxD,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,GAC/B,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,eAAe,EAAE,IAAI,CAAA;CAAE,GACxD,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,GAC9B,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,cAAc,EAAE,IAAI,CAAA;CAAE,GACvD,KAAK,CAAC;AAEd,qBAAa,cAAc,CACzB,QAAQ,SAAS,MAAM,CACrB,MAAM,EACN;IAAE,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAC9D;IAMW,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,OAAO,CAER;gBAEa,OAAO,EAAE,QAAQ;IAErC,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC1B,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAC5C,IAAI;IAIP,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC1B,GAAG,EAAE,CAAC,GACL,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAIpD,SAAS,CAAC,CAAC,SAAS,MAAM,QAAQ,EAChC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,CAAC,EACN,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAC5C,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAuBxC,IAAI,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE;IAI1B,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO;IAI9C,MAAM,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;CAO/C"}
1
+ {"version":3,"file":"bufferManager.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/bufferManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG1E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D,KAAK,wBAAwB,CAC3B,MAAM,SAAS;IAAE,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,IAC1E,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,GACjC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,eAAe,EAAE,IAAI,CAAA;CAAE,GACxD,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,GAC/B,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,eAAe,EAAE,IAAI,CAAA;CAAE,GACxD,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,GAC9B,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,cAAc,EAAE,IAAI,CAAA;CAAE,GACvD,KAAK,CAAC;AAEd,qBAAa,cAAc,CACzB,QAAQ,SAAS,MAAM,CACrB,MAAM,EACN;IAAE,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAC9D;IAMW,OAAO,CAAC,OAAO;IAJ3B,OAAO,CAAC,OAAO,CAER;gBAEa,OAAO,EAAE,QAAQ;IAErC,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC1B,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAC5C,IAAI;IAIP,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC1B,GAAG,EAAE,CAAC,GACL,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAIpD,SAAS,CAAC,CAAC,SAAS,MAAM,QAAQ,EAChC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,CAAC,EACN,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAC5C,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IA+BxC,IAAI,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE;IAI1B,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO;IAI9C,MAAM,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;CAO/C"}
@@ -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,6 +1,7 @@
1
1
  import * as d from 'typegpu/data';
2
2
  export declare const hueShift: import("typegpu").TgpuFn<(rgb: d.Vec3f, angle: d.F32) => d.Vec3f>;
3
3
  export declare const rgbToHSV: import("typegpu").TgpuFn<(rgb: d.Vec3f) => d.Vec3f>;
4
+ export declare const hsvToRGB: import("typegpu").TgpuFn<(hsv: d.Vec3f) => d.Vec3f>;
4
5
  export declare const fmod: import("typegpu").TgpuFn<(number: d.F32, md: d.F32) => d.F32>;
5
6
  export declare const glareColorShift: import("typegpu").TgpuFn<(color: d.Vec3f, power: d.F32) => d.Vec3f>;
6
7
  export declare const overlayChannel: import("typegpu").TgpuFn<(base: d.F32, blend: d.F32) => d.F32>;
@@ -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,qDA2BnB,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"}
@@ -9,6 +9,16 @@ export declare const colorMaskToTyped: (colorMask: ColorMask) => {
9
9
  upper: any;
10
10
  lower: any;
11
11
  };
12
+ useHSV: number;
13
+ hueToleranceRange: {
14
+ lower: number;
15
+ upper: number;
16
+ };
17
+ brightnessTolerance: number;
18
+ saturationTolerance: number;
19
+ lowSaturationThreshold: number;
20
+ lowBrightnessThreshold: number;
21
+ debugMode: number;
12
22
  };
13
23
  export declare const createHoloOptions: (options: Partial<HoloOptions>) => HoloOptions;
14
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,SAcF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS;;;;;;CASpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,WAQF,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,UAAU,OAAO,CAAC,gCAAgC,CAAC;;;;;;;CA4BpD,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"}
@@ -14,10 +14,20 @@ export type GlareOptions = {
14
14
  };
15
15
  export type ColorMask = {
16
16
  baseColor: vec3;
17
+ useHSV?: boolean;
18
+ hueToleranceRange: {
19
+ upper: number;
20
+ lower: number;
21
+ };
22
+ brightnessTolerance?: number;
23
+ lowBrightnessThreshold?: number;
24
+ saturationTolerance?: number;
25
+ lowSaturationThreshold?: number;
17
26
  rgbToleranceRange: {
18
27
  upper: vec3;
19
28
  lower: vec3;
20
29
  };
30
+ debugMode?: boolean;
21
31
  };
22
32
  export type ReverseHoloDetectionChannelFlags = {
23
33
  redChannel: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,iBAAiB,EAAE;QACjB,KAAK,EAAE,IAAI,CAAC;QACZ,KAAK,EAAE,IAAI,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,cAAc,CAAC;CAC9B,CAAC;AAGF,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExB,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,CAAC;AAId,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC5E,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CACtC,kBAAkB,CAAC,qBAAqB,CAAC,CAC1C,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,sBAAsB,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare function transformV3d(v3d: V3d, transformer: Transformer): V3d;
25
25
  export declare function clamp(v: number, min?: number, max?: number): number;
26
26
  export declare function clampV3d(v3d: V3d, min: number, max: number): V3d;
27
27
  export declare function degToRad(deg: number): number;
28
+ export declare function createV3d(x: number, y: number, z: number): V3d;
28
29
  export declare const zeroV3d: {
29
30
  x: number;
30
31
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/utils/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAG7D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAMnD;AAED,eAAO,MAAM,WAAW,iBAAW,CAAC;AAEpC,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAM1C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAG7C;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAKzD;AAED,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAG7C;AAED,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAG7C;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,CAMzE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAGhE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAGrC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAEnD;AAED,eAAO,MAAM,OAAO;;;CAAiB,CAAC;AAGtC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAMnD;AAED,eAAO,MAAM,WAAW,iBAAW,CAAC;AAEpC,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAGjD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAGrC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAM1C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAG/C;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAG5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,CAMpE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,SAAK,EAAE,GAAG,SAAI,GAAG,MAAM,CAG1D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAGhE;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED,eAAO,MAAM,OAAO;;;;CAAuB,CAAC"}
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/utils/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAG7D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAMnD;AAED,eAAO,MAAM,WAAW,iBAAW,CAAC;AAEpC,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAM1C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAG7C;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAKzD;AAED,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAG7C;AAED,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,CAG7C;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,CAMzE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAGhE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAGrC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAEnD;AAED,eAAO,MAAM,OAAO;;;CAAiB,CAAC;AAGtC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAMnD;AAED,eAAO,MAAM,WAAW,iBAAW,CAAC;AAEpC,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAGjD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAGrC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAM1C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAG/C;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAG5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,GAAG,GAAG,CAMpE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,SAAK,EAAE,GAAG,SAAI,GAAG,MAAM,CAG1D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAGhE;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAE9D;AAED,eAAO,MAAM,OAAO;;;;CAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-shine",
3
- "version": "0.4.1",
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"
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useMemo, useRef, useState } from 'react';
2
- import { PixelRatio, View } from 'react-native';
2
+ import { PixelRatio, View, type ViewStyle } from 'react-native';
3
3
  import Animated, {
4
4
  SensorType,
5
5
  type SharedValue,
@@ -74,18 +74,20 @@ 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;
80
81
  height: number;
81
82
  glareOptions?: Partial<GlareOptions>;
82
83
  colorMaskOptions?: DeepPartiallyOptional<ColorMask, 'baseColor'>;
83
- useTouchControl?: boolean;
84
84
  touchPosition?: SharedValue<V2d>;
85
85
  addReverseHolo?: boolean;
86
86
  reverseHoloDetectionChannelOptions?: Partial<ReverseHoloDetectionChannelFlags>;
87
87
  addHolo?: boolean;
88
88
  translateViewIn3d?: boolean;
89
+ style?: ViewStyle;
90
+ containerStyle?: ViewStyle;
89
91
  }
90
92
 
91
93
  interface ContentProps extends SharedProps {
@@ -95,8 +97,9 @@ interface ContentProps extends SharedProps {
95
97
  }
96
98
 
97
99
  interface PipelineMap {
98
- glare: TgpuRenderPipeline;
99
- colorMask: TgpuRenderPipeline;
100
+ baseTexture: TgpuRenderPipeline;
101
+ glare: TgpuRenderPipeline | void;
102
+ colorMask: TgpuRenderPipeline | void;
100
103
  mask: TgpuRenderPipeline | void;
101
104
  reverseHolo: TgpuRenderPipeline | void;
102
105
  holo: TgpuRenderPipeline | void;
@@ -113,9 +116,10 @@ export default function Content({
113
116
  maskTexture,
114
117
  root,
115
118
  touchPosition,
116
- useTouchControl,
117
119
  width,
118
120
  translateViewIn3d = false,
121
+ style,
122
+ containerStyle,
119
123
  }: ContentProps) {
120
124
  const { device } = root;
121
125
  // const { ref, context } = useGPUContext();
@@ -152,8 +156,6 @@ export default function Content({
152
156
  []
153
157
  );
154
158
 
155
- //TODO: add once again, when the wgpu issues are fixed :3
156
-
157
159
  const animatedStyle = useAnimatedStyle(() => {
158
160
  const rotX = rotation.value.x * 10;
159
161
  const rotY = rotation.value.y * 10;
@@ -166,6 +168,7 @@ export default function Content({
166
168
  ],
167
169
  };
168
170
  });
171
+
169
172
  // Subscribe to orientation changes and reset calibration on change
170
173
  useEffect(
171
174
  () =>
@@ -179,7 +182,7 @@ export default function Content({
179
182
  useDerivedValue(() => {
180
183
  'worklet';
181
184
 
182
- if (useTouchControl) {
185
+ if (touchPosition) {
183
186
  rotation.value = touchPosition
184
187
  ? { x: touchPosition.value.x, y: touchPosition.value.y, z: 0 }
185
188
  : zeroV3d;
@@ -229,6 +232,7 @@ export default function Content({
229
232
  1
230
233
  );
231
234
  });
235
+
232
236
  // Render loop
233
237
  useEffect(() => {
234
238
  if (!context) return;
@@ -250,18 +254,17 @@ export default function Content({
250
254
  alphaMode: 'premultiplied',
251
255
  });
252
256
 
253
- const sampler = device.createSampler({
254
- magFilter: 'linear',
255
- minFilter: 'linear',
256
- mipmapFilter: 'linear',
257
- });
258
-
259
- // TODO: revert to this one after version bump
260
- // const sampler = root['~unstable'].createSampler({
257
+ // const sampler = device.createSampler({
261
258
  // magFilter: 'linear',
262
259
  // minFilter: 'linear',
263
260
  // mipmapFilter: 'linear',
264
- // }) 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
265
268
 
266
269
  const imageTextureBindGroup = root.createBindGroup(textureBindGroupLayout, {
267
270
  texture: root.unwrap(imageTexture).createView(),
@@ -286,7 +289,9 @@ export default function Content({
286
289
  root,
287
290
  'colorMask',
288
291
  colorMaskToTyped(
289
- createColorMask(colorMaskOptions ?? { baseColor: [-20, -20, -20] })
292
+ createColorMask(
293
+ colorMaskOptions ?? { baseColor: [-20, -20, -20], useHSV: false }
294
+ )
290
295
  )
291
296
  );
292
297
  const colorMaskBindGroup = createColorMaskBindGroup(root, colorMaskBuffer);
@@ -304,6 +309,16 @@ export default function Content({
304
309
  );
305
310
 
306
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
+ ),
307
322
  glare: attachBindGroups(
308
323
  root['~unstable']
309
324
  .withVertex(mainVertex, {})
@@ -372,15 +387,21 @@ export default function Content({
372
387
  storeOp: 'store',
373
388
  };
374
389
 
375
- const { glare, mask, colorMask, holo, reverseHolo } = pipelineMap;
390
+ const { baseTexture, glare, mask, colorMask, holo, reverseHolo } =
391
+ pipelineMap;
376
392
 
377
- const pairs: PipelineAttachmentPair[] = [[glare, initialAttachment]];
393
+ const pairs: PipelineAttachmentPair[] = [
394
+ [baseTexture, initialAttachment],
395
+ ];
378
396
 
397
+ if (glareOptions && glare) {
398
+ pairs.push([glare, loadingAttachment]);
399
+ }
379
400
  if (mask) pairs.push([mask, loadingAttachment]);
380
401
  if (addReverseHolo && reverseHolo)
381
402
  pairs.push([reverseHolo, loadingAttachment]);
382
403
  if (addHolo && holo) pairs.push([holo, loadingAttachment]);
383
- pairs.push([colorMask, loadingAttachment]);
404
+ if (colorMask) pairs.push([colorMask, loadingAttachment]);
384
405
 
385
406
  pairs.forEach(([pipeline, attachment]) =>
386
407
  pipeline.withColorAttachment(attachment).draw(6)
@@ -424,11 +445,16 @@ export default function Content({
424
445
  matrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 50, 1],
425
446
  },
426
447
  ],
448
+ ...containerStyle,
427
449
  }}
428
450
  >
429
451
  <Animated.View style={[translateViewIn3d && animatedStyle]}>
430
452
  <View>
431
- <Canvas ref={ref} style={[{ width, height }]} transparent={true} />
453
+ <Canvas
454
+ ref={ref}
455
+ style={[{ width, height }, style]}
456
+ transparent={true}
457
+ />
432
458
  </View>
433
459
  </Animated.View>
434
460
  </View>
@@ -19,7 +19,6 @@ export function ShineGroup({
19
19
  colorMaskOptions,
20
20
  maskURI,
21
21
  touchPosition,
22
- useTouchControl = false,
23
22
  addHolo = false,
24
23
  addReverseHolo = false,
25
24
  }: ShineGroupProps) {
@@ -80,7 +79,6 @@ export function ShineGroup({
80
79
  colorMaskOptions={colorMaskOptions}
81
80
  maskURI={maskURI}
82
81
  touchPosition={touchPosition}
83
- useTouchControl={useTouchControl}
84
82
  addReverseHolo={addReverseHolo}
85
83
  addHolo={addHolo}
86
84
  />
@@ -0,0 +1,2 @@
1
+ export const debug = false;
2
+ export const colorMaskDebug = false;