react-native-shine 0.7.1 → 0.8.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 (124) hide show
  1. package/lib/module/components/Content.js +112 -145
  2. package/lib/module/components/Content.js.map +1 -1
  3. package/lib/module/components/Shine.js +14 -5
  4. package/lib/module/components/Shine.js.map +1 -1
  5. package/lib/module/components/ShineGroup.js +0 -4
  6. package/lib/module/components/ShineGroup.js.map +1 -1
  7. package/lib/module/enums/colorPresets.js +192 -0
  8. package/lib/module/enums/colorPresets.js.map +1 -1
  9. package/lib/module/enums/effectDefaults.js +59 -0
  10. package/lib/module/enums/effectDefaults.js.map +1 -0
  11. package/lib/module/enums/effectPresets.js +67 -10
  12. package/lib/module/enums/effectPresets.js.map +1 -1
  13. package/lib/module/shaders/bindGroupLayouts.js +47 -29
  14. package/lib/module/shaders/bindGroupLayouts.js.map +1 -1
  15. package/lib/module/shaders/bindGroupUtils.js +30 -44
  16. package/lib/module/shaders/bindGroupUtils.js.map +1 -1
  17. package/lib/module/shaders/colorConversions.js +78 -0
  18. package/lib/module/shaders/colorConversions.js.map +1 -0
  19. package/lib/module/shaders/computeShaders/precomputeColorMask.js +5 -5
  20. package/lib/module/shaders/computeShaders/precomputeColorMask.js.map +1 -1
  21. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js +4 -9
  22. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js.map +1 -1
  23. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +28 -41
  24. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -1
  25. package/lib/module/shaders/fragmentShaders/glareFlareFragment.js +84 -0
  26. package/lib/module/shaders/fragmentShaders/glareFlareFragment.js.map +1 -0
  27. package/lib/module/shaders/fragmentShaders/glareFragment.js +8 -88
  28. package/lib/module/shaders/fragmentShaders/glareFragment.js.map +1 -1
  29. package/lib/module/shaders/fragmentShaders/holoFragment.js +120 -11
  30. package/lib/module/shaders/fragmentShaders/holoFragment.js.map +1 -1
  31. package/lib/module/shaders/fragmentShaders/maskFragment.js +5 -4
  32. package/lib/module/shaders/fragmentShaders/maskFragment.js.map +1 -1
  33. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js +7 -7
  34. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js.map +1 -1
  35. package/lib/module/shaders/pipelineSetups.js +2 -61
  36. package/lib/module/shaders/pipelineSetups.js.map +1 -1
  37. package/lib/module/shaders/resourceManagement/buffersMap.js +41 -0
  38. package/lib/module/shaders/resourceManagement/buffersMap.js.map +1 -0
  39. package/lib/module/shaders/resourceManagement/pipelineMap.js +115 -0
  40. package/lib/module/shaders/resourceManagement/pipelineMap.js.map +1 -0
  41. package/lib/module/shaders/resourceManagement/textures.js +2 -2
  42. package/lib/module/shaders/resourceManagement/textures.js.map +1 -1
  43. package/lib/module/shaders/tgpuUtils.js +41 -0
  44. package/lib/module/shaders/tgpuUtils.js.map +1 -1
  45. package/lib/module/shaders/utils.js +21 -2
  46. package/lib/module/shaders/utils.js.map +1 -1
  47. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js +4 -4
  48. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js.map +1 -1
  49. package/lib/module/types/typeUtils.js +26 -155
  50. package/lib/module/types/typeUtils.js.map +1 -1
  51. package/lib/module/types/types.js +8 -1
  52. package/lib/module/types/types.js.map +1 -1
  53. package/lib/module/utils/size.js +4 -4
  54. package/lib/module/utils/vector.js +38 -38
  55. package/lib/typescript/src/components/Content.d.ts +6 -6
  56. package/lib/typescript/src/components/Content.d.ts.map +1 -1
  57. package/lib/typescript/src/components/Shine.d.ts.map +1 -1
  58. package/lib/typescript/src/components/ShineGroup.d.ts +1 -1
  59. package/lib/typescript/src/components/ShineGroup.d.ts.map +1 -1
  60. package/lib/typescript/src/enums/colorPresets.d.ts +152 -0
  61. package/lib/typescript/src/enums/colorPresets.d.ts.map +1 -1
  62. package/lib/typescript/src/enums/effectDefaults.d.ts +39 -0
  63. package/lib/typescript/src/enums/effectDefaults.d.ts.map +1 -0
  64. package/lib/typescript/src/enums/effectPresets.d.ts +284 -5
  65. package/lib/typescript/src/enums/effectPresets.d.ts.map +1 -1
  66. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +77 -41
  67. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -1
  68. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +86 -70
  69. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -1
  70. package/lib/typescript/src/shaders/colorConversions.d.ts +4 -0
  71. package/lib/typescript/src/shaders/colorConversions.d.ts.map +1 -0
  72. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts.map +1 -1
  73. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -1
  74. package/lib/typescript/src/shaders/fragmentShaders/glareFlareFragment.d.ts +5 -0
  75. package/lib/typescript/src/shaders/fragmentShaders/glareFlareFragment.d.ts.map +1 -0
  76. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts +0 -3
  77. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts.map +1 -1
  78. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts +7 -0
  79. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts.map +1 -1
  80. package/lib/typescript/src/shaders/fragmentShaders/maskFragment.d.ts.map +1 -1
  81. package/lib/typescript/src/shaders/fragmentShaders/reverseHoloFragment.d.ts.map +1 -1
  82. package/lib/typescript/src/shaders/pipelineSetups.d.ts +0 -6
  83. package/lib/typescript/src/shaders/pipelineSetups.d.ts.map +1 -1
  84. package/lib/typescript/src/shaders/resourceManagement/buffersMap.d.ts +10 -0
  85. package/lib/typescript/src/shaders/resourceManagement/buffersMap.d.ts.map +1 -0
  86. package/lib/typescript/src/shaders/resourceManagement/pipelineMap.d.ts +24 -0
  87. package/lib/typescript/src/shaders/resourceManagement/pipelineMap.d.ts.map +1 -0
  88. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts +0 -1
  89. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts.map +1 -1
  90. package/lib/typescript/src/shaders/tgpuUtils.d.ts +3 -0
  91. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -1
  92. package/lib/typescript/src/shaders/utils.d.ts +1 -0
  93. package/lib/typescript/src/shaders/utils.d.ts.map +1 -1
  94. package/lib/typescript/src/types/typeUtils.d.ts +8 -47
  95. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -1
  96. package/lib/typescript/src/types/types.d.ts +59 -54
  97. package/lib/typescript/src/types/types.d.ts.map +1 -1
  98. package/package.json +1 -1
  99. package/src/components/Content.tsx +126 -296
  100. package/src/components/Shine.tsx +22 -5
  101. package/src/components/ShineGroup.tsx +0 -4
  102. package/src/enums/colorPresets.ts +59 -1
  103. package/src/enums/effectDefaults.ts +57 -0
  104. package/src/enums/effectPresets.ts +142 -9
  105. package/src/shaders/bindGroupLayouts.ts +57 -28
  106. package/src/shaders/bindGroupUtils.ts +66 -69
  107. package/src/shaders/colorConversions.ts +88 -0
  108. package/src/shaders/computeShaders/precomputeColorMask.ts +4 -4
  109. package/src/shaders/fragmentShaders/baseTextureFragment.ts +2 -10
  110. package/src/shaders/fragmentShaders/colorMaskFragment.ts +34 -55
  111. package/src/shaders/fragmentShaders/glareFlareFragment.ts +79 -0
  112. package/src/shaders/fragmentShaders/glareFragment.ts +9 -84
  113. package/src/shaders/fragmentShaders/holoFragment.ts +139 -11
  114. package/src/shaders/fragmentShaders/maskFragment.ts +3 -9
  115. package/src/shaders/fragmentShaders/reverseHoloFragment.ts +4 -9
  116. package/src/shaders/pipelineSetups.ts +2 -120
  117. package/src/shaders/resourceManagement/buffersMap.ts +80 -0
  118. package/src/shaders/resourceManagement/pipelineMap.ts +169 -0
  119. package/src/shaders/resourceManagement/textures.ts +2 -2
  120. package/src/shaders/tgpuUtils.ts +29 -0
  121. package/src/shaders/utils.ts +29 -0
  122. package/src/shaders/vertexShaders/mainRotationEffectVertex.ts +2 -2
  123. package/src/types/typeUtils.ts +39 -159
  124. package/src/types/types.ts +111 -60
@@ -1,88 +1,104 @@
1
- import { type TgpuBuffer, type TgpuRoot, type UniformFlag } from 'typegpu';
2
- import * as d from 'typegpu/data';
3
- import { type GlareSchema, type ReverseHoloDetectionChannelFlagsSchema, type ColorMaskArraySchema } from './bindGroupLayouts';
4
- import type { GlareOptions } from '../types/types';
5
- export declare const createRotationBuffer: (root: TgpuRoot, initValues?: {
6
- x: number;
7
- y: number;
8
- z: number;
9
- }) => TgpuBuffer<d.Vec3f> & UniformFlag;
10
- export declare const createRotationValuesBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<d.Vec3f>) => import("typegpu").TgpuBindGroup<{
11
- vec: {
12
- uniform: d.Vec3f;
1
+ import { type StorageFlag, type TgpuBuffer, type TgpuRoot, type TgpuTexture, type UniformFlag } from 'typegpu';
2
+ import { type GlareSchema, type ReverseHoloDetectionChannelFlagsSchema, type ColorMaskArraySchema, type HoloSchema, glareFlareSchema } from './bindGroupLayouts';
3
+ import type { BindGroupCreatorArgument, TgpuUniformBuffer } from '../types/types';
4
+ export declare const createGlareBindGroup: ({ root }: BindGroupCreatorArgument, [buffer]: readonly [buffer: TgpuUniformBuffer<GlareSchema>]) => import("typegpu").TgpuBindGroup<{
5
+ glareOptions: {
6
+ uniform: import("typegpu/data").WgslStruct<{
7
+ glareColor: import("typegpu/data").WgslStruct<{
8
+ hueShiftAngleMax: import("typegpu/data").F32;
9
+ hueShiftAngleMin: import("typegpu/data").F32;
10
+ hueBlendPower: import("typegpu/data").F32;
11
+ }>;
12
+ glowPower: import("typegpu/data").Decorated<import("typegpu/data").F32, [import("typegpu/data").Align<16>]>;
13
+ lightIntensity: import("typegpu/data").F32;
14
+ glareIntensity: import("typegpu/data").F32;
15
+ }>;
16
+ };
17
+ }>[];
18
+ export declare const createReverseHoloDetectionChannelFlagsBindGroup: ({ root, maskBindGroup }: BindGroupCreatorArgument, [glareOptions, channelFlags]: readonly [g: TgpuUniformBuffer<GlareSchema>, f: TgpuUniformBuffer<ReverseHoloDetectionChannelFlagsSchema>]) => (import("typegpu").TgpuBindGroup<{
19
+ texture: {
20
+ texture: import("typegpu/data").WgslTexture2d<import("typegpu/data").F32>;
21
+ };
22
+ sampler: {
23
+ sampler: "filtering";
24
+ };
25
+ }> | import("typegpu").TgpuBindGroup<{
26
+ channelFlags: {
27
+ uniform: import("typegpu/data").WgslStruct<{
28
+ redChannel: import("typegpu/data").Decorated<import("typegpu/data").F32, [import("typegpu/data").Align<16>]>;
29
+ greenChannel: import("typegpu/data").F32;
30
+ blueChannel: import("typegpu/data").F32;
31
+ hue: import("typegpu/data").F32;
32
+ saturation: import("typegpu/data").F32;
33
+ value: import("typegpu/data").F32;
34
+ }>;
13
35
  };
14
- }>;
15
- export declare const createGlareOptionsBuffer: (root: TgpuRoot, initValues?: Partial<GlareOptions>) => TgpuBuffer<d.WgslStruct<{
16
- glareColor: d.WgslStruct<{
17
- hueShiftAngleMax: d.F32;
18
- hueShiftAngleMin: d.F32;
19
- hueBlendPower: d.F32;
20
- }>;
21
- glowPower: d.Decorated<d.F32, [d.Align<16>]>;
22
- lightIntensity: d.F32;
23
- glareIntensity: d.F32;
24
- }>> & UniformFlag;
25
- export declare const createGlareBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<GlareSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
26
36
  glareOptions: {
27
- uniform: d.WgslStruct<{
28
- glareColor: d.WgslStruct<{
29
- hueShiftAngleMax: d.F32;
30
- hueShiftAngleMin: d.F32;
31
- hueBlendPower: d.F32;
37
+ uniform: import("typegpu/data").WgslStruct<{
38
+ glareColor: import("typegpu/data").WgslStruct<{
39
+ hueShiftAngleMax: import("typegpu/data").F32;
40
+ hueShiftAngleMin: import("typegpu/data").F32;
41
+ hueBlendPower: import("typegpu/data").F32;
32
42
  }>;
33
- glowPower: d.Decorated<d.F32, [d.Align<16>]>;
34
- lightIntensity: d.F32;
35
- glareIntensity: d.F32;
43
+ glowPower: import("typegpu/data").Decorated<import("typegpu/data").F32, [import("typegpu/data").Align<16>]>;
44
+ lightIntensity: import("typegpu/data").F32;
45
+ glareIntensity: import("typegpu/data").F32;
36
46
  }>;
37
47
  };
38
- }>;
48
+ }>)[];
39
49
  export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<ColorMaskArraySchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
40
50
  colorMasks: {
41
- uniform: d.WgslStruct<{
42
- masks: d.WgslArray<d.WgslStruct<{
43
- baseColor: d.Vec3f;
44
- rgbToleranceRange: d.WgslStruct<{
45
- upper: d.Vec3f;
46
- lower: d.Vec3f;
51
+ uniform: import("typegpu/data").WgslStruct<{
52
+ masks: import("typegpu/data").WgslArray<import("typegpu/data").WgslStruct<{
53
+ baseColor: import("typegpu/data").Vec3f;
54
+ rgbToleranceRange: import("typegpu/data").WgslStruct<{
55
+ upper: import("typegpu/data").Vec3f;
56
+ lower: import("typegpu/data").Vec3f;
47
57
  }>;
48
- hueToleranceRange: d.WgslStruct<{
49
- upper: d.F32;
50
- lower: d.F32;
51
- }>;
52
- useHSV: d.Decorated<d.U32, [d.Align<16>]>;
53
- brightnessTolerance: d.F32;
54
- saturationTolerance: d.F32;
55
- lowSaturationThreshold: d.F32;
56
- lowBrightnessThreshold: d.F32;
57
- debugMode: d.U32;
58
+ hueStart: import("typegpu/data").F32;
59
+ hueRange: import("typegpu/data").F32;
60
+ useHSV: import("typegpu/data").Decorated<import("typegpu/data").U32, [import("typegpu/data").Align<16>]>;
61
+ minLimits: import("typegpu/data").Vec2f;
62
+ maxLimits: import("typegpu/data").Vec2f;
63
+ debugMode: import("typegpu/data").U32;
58
64
  }>>;
59
- usedMaskCount: d.I32;
60
- reverseHighlight: d.I32;
65
+ usedMaskCount: import("typegpu/data").I32;
66
+ reverseHighlight: import("typegpu/data").I32;
61
67
  }>;
62
68
  };
63
69
  }>;
64
- export declare const createReverseHoloDetectionChannelFlagsBindGroup: (root: TgpuRoot, detectionChannelBuffer: TgpuBuffer<ReverseHoloDetectionChannelFlagsSchema> & UniformFlag, glareOptionsBuffer: TgpuBuffer<GlareSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
65
- channelFlags: {
66
- uniform: d.WgslStruct<{
67
- redChannel: d.Decorated<d.F32, [d.Align<16>]>;
68
- greenChannel: d.F32;
69
- blueChannel: d.F32;
70
- hue: d.F32;
71
- saturation: d.F32;
72
- value: d.F32;
70
+ export declare const createHoloBindGroup: ({ root }: BindGroupCreatorArgument, [buffer]: readonly [buffer: TgpuUniformBuffer<HoloSchema>]) => import("typegpu").TgpuBindGroup<{
71
+ holoOptions: {
72
+ uniform: import("typegpu/data").WgslStruct<{
73
+ directionDegree: import("typegpu/data").Decorated<import("typegpu/data").F32, [import("typegpu/data").Align<16>]>;
74
+ shift: import("typegpu/data").F32;
75
+ rotationShiftPower: import("typegpu/data").F32;
76
+ holoSize: import("typegpu/data").F32;
77
+ holoMultiplier: import("typegpu/data").F32;
78
+ holoEaseSize: import("typegpu/data").F32;
79
+ holoVisibility: import("typegpu/data").F32;
80
+ holoSaturation: import("typegpu/data").F32;
73
81
  }>;
74
82
  };
75
- glareOptions: {
76
- uniform: d.WgslStruct<{
77
- glareColor: d.WgslStruct<{
78
- hueShiftAngleMax: d.F32;
79
- hueShiftAngleMin: d.F32;
80
- hueBlendPower: d.F32;
81
- }>;
82
- glowPower: d.Decorated<d.F32, [d.Align<16>]>;
83
- lightIntensity: d.F32;
84
- glareIntensity: d.F32;
83
+ }>[];
84
+ export declare const createGlareFlareBindGroup: ({ root }: BindGroupCreatorArgument, [buffer]: readonly [buffer: TgpuUniformBuffer<glareFlareSchema>]) => import("typegpu").TgpuBindGroup<{
85
+ glareFlare: {
86
+ uniform: import("typegpu/data").WgslStruct<{
87
+ flareIntensity: import("typegpu/data").F32;
88
+ spotIntensity: import("typegpu/data").F32;
89
+ ringIntensity: import("typegpu/data").F32;
90
+ rayIntensity: import("typegpu/data").F32;
91
+ falloff: import("typegpu/data").F32;
92
+ rayCount: import("typegpu/data").F32;
85
93
  }>;
86
94
  };
95
+ }>[];
96
+ export declare const createPrecomputeColorMaskBindGroup: (root: TgpuRoot, storageTexture: TgpuTexture<{
97
+ format: "rgba8unorm";
98
+ size: readonly number[];
99
+ }> & StorageFlag) => import("typegpu").TgpuBindGroup<{
100
+ colorMaskStorage: {
101
+ storageTexture: import("typegpu/data").WgslStorageTexture2d<"rgba8unorm", "read-write">;
102
+ };
87
103
  }>;
88
104
  //# sourceMappingURL=bindGroupUtils.d.ts.map
@@ -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,EAKL,KAAK,WAAW,EAChB,KAAK,sCAAsC,EAE3C,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,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;;;;;;;;;iBAOd,CAAC;AAEvB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW;;;;;;;;;;;;;EAI3C,CAAC;AAaL,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,oBAAoB,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAIpD,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,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,sCAAsC,EAE3C,KAAK,oBAAoB,EAGzB,KAAK,UAAU,EACf,gBAAgB,EAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,oBAAoB,GAC/B,UAAU,wBAAwB,EAClC,UAAU,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;;;IAK5D,CAAC;AAEF,eAAO,MAAM,+CAA+C,GAC1D,yBAAyB,wBAAwB,EACjD,8BAA8B,SAAS,CACrC,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,EACjC,CAAC,EAAE,iBAAiB,CAAC,sCAAsC,CAAC,CAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,oBAAoB,CAAC,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;EAIpD,CAAC;AAEL,eAAO,MAAM,mBAAmB,GAC9B,UAAU,wBAAwB,EAClC,UAAU,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;;;;;;;;;;;;;IAK3D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,UAAU,wBAAwB,EAClC,UAAU,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;;;;;;;;;;;IAKjE,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,MAAM,QAAQ,EACd,gBAAgB,WAAW,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB,CAAC,GACA,WAAW;;;;EAKd,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as d from 'typegpu/data';
2
+ export declare const RGBToHSL: import("typegpu").TgpuFn<(rgb: d.Vec3f) => d.Vec3f>;
3
+ export declare const HSLToRGB: import("typegpu").TgpuFn<(rgb: d.Vec3f) => d.Vec3f>;
4
+ //# sourceMappingURL=colorConversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorConversions.d.ts","sourceRoot":"","sources":["../../../../src/shaders/colorConversions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,QAAQ,qDA6BnB,CAAC;AAEH,eAAO,MAAM,QAAQ,qDAoDnB,CAAC"}
@@ -1 +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
+ {"version":3,"file":"baseTextureFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/baseTextureFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,eAAO,MAAM,mBAAmB;;WAK9B,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;AASlC,QAAA,MAAM,iBAAiB;;WA4FrB,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;AAYlC,QAAA,MAAM,iBAAiB;;WAoErB,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as d from 'typegpu/data';
2
+ export declare const glareFlareFragment: import("typegpu").TgpuFragmentFn<{
3
+ uv: d.Vec2f;
4
+ }, d.Vec4f>;
5
+ //# sourceMappingURL=glareFlareFragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glareFlareFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/glareFlareFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AASlC,eAAO,MAAM,kBAAkB;;WAoE7B,CAAC"}
@@ -2,7 +2,4 @@ import * as d from 'typegpu/data';
2
2
  export declare const glareFragment: import("typegpu").TgpuFragmentFn<{
3
3
  uv: d.Vec2f;
4
4
  }, d.Vec4f>;
5
- export declare const newGlareFragment: import("typegpu").TgpuFragmentFn<{
6
- uv: d.Vec2f;
7
- }, d.Vec4f>;
8
5
  //# sourceMappingURL=glareFragment.d.ts.map
@@ -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;;WAuExB,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;AAalC,eAAO,MAAM,aAAa;;WAuDxB,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import * as d from 'typegpu/data';
2
+ export declare const holo: import("typegpu").TgpuFn<(uv: d.Vec2f, directionDegreeModifier: d.F32, shiftModifier: d.F32, rotationShiftPowerModifier: d.F32) => d.Vec4f>;
3
+ export declare const doubleHoloFragment: import("typegpu").TgpuFragmentFn<{
4
+ uv: d.Vec2f;
5
+ }, d.Vec4f>;
2
6
  export declare const holoFragment: import("typegpu").TgpuFragmentFn<{
3
7
  uv: d.Vec2f;
4
8
  }, d.Vec4f>;
9
+ export declare const oldHoloFragment: import("typegpu").TgpuFragmentFn<{
10
+ uv: d.Vec2f;
11
+ }, d.Vec4f>;
5
12
  //# sourceMappingURL=holoFragment.d.ts.map
@@ -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;;WA8BvB,CAAC"}
1
+ {"version":3,"file":"holoFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/holoFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAelC,eAAO,MAAM,IAAI,6IA4Ff,CAAC;AAEH,eAAO,MAAM,kBAAkB;;WAuB7B,CAAC;AAEH,eAAO,MAAM,YAAY;;WAMvB,CAAC;AAEH,eAAO,MAAM,eAAe;;WAyB1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"maskFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/maskFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAOlC,QAAA,MAAM,YAAY;;WAoBhB,CAAC;AAEH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"maskFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/maskFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,QAAA,MAAM,YAAY;;WAgBhB,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reverseHoloFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/reverseHoloFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAUlC,eAAO,MAAM,mBAAmB;;WA6F9B,CAAC"}
1
+ {"version":3,"file":"reverseHoloFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/reverseHoloFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AASlC,eAAO,MAAM,mBAAmB;;WAyF9B,CAAC"}
@@ -1,13 +1,7 @@
1
1
  import type { TgpuBindGroup, TgpuComputePipeline, TgpuRenderPipeline, TgpuRoot, TgpuTexture } from 'typegpu';
2
- import type { BindGroupPair } from '../types/types';
3
2
  export declare function attachBindGroups(pipeline: TgpuRenderPipeline, bindGroups: TgpuBindGroup[]): TgpuRenderPipeline;
4
3
  export declare function attachBindGroups(pipeline: TgpuComputePipeline, bindGroups: TgpuBindGroup[]): TgpuComputePipeline;
5
- export declare const blend: GPUBlendState;
6
4
  export declare const getDefaultTarget: (presentationFormat: GPUTextureFormat, blendMode?: GPUBlendState) => GPUColorTargetState;
7
- export declare const attachBindGroupsToPass: (pass: any, bindGroupPairs: BindGroupPair[]) => any;
8
5
  export declare const createMaskPipeline: (root: TgpuRoot, maskTexture: TgpuTexture | undefined, bindGroups: TgpuBindGroup[], sampler: GPUSampler, //TODO: change GPUSampler to TgpuFixedSampler when this type gets exposed
9
6
  presentationFormat: GPUTextureFormat) => TgpuRenderPipeline | void;
10
- export declare const createReverseHoloPipeline: (root: TgpuRoot, texture: TgpuTexture | undefined, bindGroups: TgpuBindGroup[], sampler: GPUSampler, presentationFormat: GPUTextureFormat) => TgpuRenderPipeline | void;
11
- export declare const createRainbowHoloPipeline: (root: TgpuRoot, texture: TgpuTexture | undefined, bindGroups: TgpuBindGroup[], sampler: GPUSampler, presentationFormat: GPUTextureFormat) => TgpuRenderPipeline | void;
12
- export declare function renderPipelinesInSinglePass(root: TgpuRoot, pipelines: TgpuRenderPipeline[], view: GPUTextureView): void;
13
7
  //# sourceMappingURL=pipelineSetups.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipelineSetups.d.ts","sourceRoot":"","sources":["../../../../src/shaders/pipelineSetups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAepD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,aAAa,EAAE,GAC1B,kBAAkB,CAAC;AAEtB,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,aAAa,EAAE,GAC1B,mBAAmB,CAAC;AASvB,eAAO,MAAM,KAAK,EAAE,aAWnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,gBAAgB,EACpC,YAAY,aAAa,KACxB,mBAKF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,GAAG,EACT,gBAAgB,aAAa,EAAE,QAOhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,QAAQ,EACd,aAAa,WAAW,GAAG,SAAS,EACpC,YAAY,aAAa,EAAE,EAC3B,SAAS,UAAU,EAAE,yEAAyE;AAC9F,oBAAoB,gBAAgB,KACnC,kBAAkB,GAAG,IAqBvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAM,QAAQ,EACd,SAAS,WAAW,GAAG,SAAS,EAChC,YAAY,aAAa,EAAE,EAC3B,SAAS,UAAU,EACnB,oBAAoB,gBAAgB,KACnC,kBAAkB,GAAG,IAsBvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAM,QAAQ,EACd,SAAS,WAAW,GAAG,SAAS,EAChC,YAAY,aAAa,EAAE,EAC3B,SAAS,UAAU,EACnB,oBAAoB,gBAAgB,KACnC,kBAAkB,GAAG,IAmBvB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,kBAAkB,EAAE,EAC/B,IAAI,EAAE,cAAc,QAsBrB"}
1
+ {"version":3,"file":"pipelineSetups.d.ts","sourceRoot":"","sources":["../../../../src/shaders/pipelineSetups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAMjB,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,aAAa,EAAE,GAC1B,kBAAkB,CAAC;AAEtB,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,aAAa,EAAE,GAC1B,mBAAmB,CAAC;AASvB,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,gBAAgB,EACpC,YAAY,aAAa,KACxB,mBAKF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,QAAQ,EACd,aAAa,WAAW,GAAG,SAAS,EACpC,YAAY,aAAa,EAAE,EAC3B,SAAS,UAAU,EAAE,yEAAyE;AAC9F,oBAAoB,gBAAgB,KACnC,kBAAkB,GAAG,IAqBvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { StorageFlag, TgpuBuffer, TgpuRoot, ValidateStorageSchema, ValidateUniformSchema } from 'typegpu';
2
+ import type { AnyWgslData, Infer } from 'typegpu/data';
3
+ import type { DeepPartial, TgpuUniformBuffer } from '../../types/types';
4
+ export declare class BuffersMap extends Map<AnyWgslData, TgpuBuffer<AnyWgslData>> {
5
+ private root;
6
+ constructor(root: TgpuRoot);
7
+ syncUniformBuffer<Key extends ValidateUniformSchema<AnyWgslData>>(schema: Key, defaultOptions: Infer<Key>, options?: DeepPartial<Infer<Key>>): TgpuUniformBuffer<Key>;
8
+ syncStorageBuffer<Key extends ValidateStorageSchema<AnyWgslData>>(schema: Key, defaultOptions: Infer<Key>, options?: DeepPartial<Infer<Key>>): TgpuBuffer<Key> & StorageFlag;
9
+ }
10
+ //# sourceMappingURL=buffersMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffersMap.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/buffersMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGxE,qBAAa,UAAW,SAAQ,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,QAAQ;IAGlC,iBAAiB,CAAC,GAAG,SAAS,qBAAqB,CAAC,WAAW,CAAC,EAC9D,MAAM,EAAE,GAAG,EACX,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAChC,iBAAiB,CAAC,GAAG,CAAC;IA4BzB,iBAAiB,CAAC,GAAG,SAAS,qBAAqB,CAAC,WAAW,CAAC,EAC9D,MAAM,EAAE,GAAG,EACX,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAChC,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW;CA2BjC"}
@@ -0,0 +1,24 @@
1
+ import type { TextureProps, TgpuBindGroup, TgpuComputeFn, TgpuComputePipeline, TgpuRenderPipeline, TgpuRoot, TgpuTexture } from 'typegpu';
2
+ import type { FragmentShaderReturnType, FragmentType, UnwrapLayout } from '../../types/types';
3
+ import { sharedBindGroupLayout, maskTextureBindGroupLayout } from '../bindGroupLayouts';
4
+ import { BuffersMap } from './buffersMap';
5
+ import { Effects } from '../../enums/effectPresets';
6
+ type PipelineMap<Key> = Map<Key, TgpuRenderPipeline<FragmentShaderReturnType>>;
7
+ type ComputePipelineMap<Key> = Map<Key, TgpuComputePipeline>;
8
+ export declare class PipelineManager {
9
+ private root;
10
+ private presentationFormat;
11
+ sharedBindGroup: TgpuBindGroup<UnwrapLayout<typeof sharedBindGroupLayout>>;
12
+ maskBindGroup: TgpuBindGroup<UnwrapLayout<typeof maskTextureBindGroupLayout>>;
13
+ buffersMap: BuffersMap;
14
+ pipelinesMap: PipelineMap<FragmentType>;
15
+ computePipelinesMap: ComputePipelineMap<TgpuComputeFn>;
16
+ constructor(root: TgpuRoot, presentationFormat: GPUTextureFormat, imageTexture: TgpuTexture<TextureProps>, maskTexture?: TgpuTexture<TextureProps>);
17
+ addPipeline(fragment: FragmentType, bindGroupProp?: TgpuBindGroup[], blend?: GPUBlendState): TgpuRenderPipeline<import("typegpu/data").Vec4f> | undefined;
18
+ addComputePipeline(compute: TgpuComputeFn, bindGroupProp?: TgpuBindGroup[]): TgpuComputePipeline | undefined;
19
+ addPipelineWithBuffer(name: keyof typeof Effects, options?: any): TgpuRenderPipeline<import("typegpu/data").Vec4f> | undefined;
20
+ runComputePipeline(compute: TgpuComputeFn): Promise<void>;
21
+ renderPipelines(view: GPUTextureView): void;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=pipelineMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineMap.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/resourceManagement/pipelineMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAIV,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,KAAK,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAC/E,KAAK,kBAAkB,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAQ7D,qBAAa,eAAe;IAOxB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,kBAAkB;IAP5B,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAC3E,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;IAC9E,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,mBAAmB,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBAE7C,IAAI,EAAE,QAAQ,EACd,kBAAkB,EAAE,gBAAgB,EAC5C,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,EACvC,WAAW,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC;IA2BzC,WAAW,CACT,QAAQ,EAAE,YAAY,EACtB,aAAa,CAAC,EAAE,aAAa,EAAE,EAC/B,KAAK,CAAC,EAAE,aAAa;IAyBvB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE;IAsB1E,qBAAqB,CAAC,IAAI,EAAE,MAAM,OAAO,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG;IAqBzD,kBAAkB,CAAC,OAAO,EAAE,aAAa;IAS/C,eAAe,CAAC,IAAI,EAAE,cAAc;CAcrC"}
@@ -5,5 +5,4 @@ export declare const createTexture: (root: TgpuRoot, size: {
5
5
  }) => Promise<TgpuTexture<any>>;
6
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").SampledFlag & import("typegpu").RenderFlag>;
9
8
  //# 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,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
+ {"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"}
@@ -10,4 +10,7 @@ export declare const overlayChannels: import("typegpu").TgpuFn<(base: d.Vec3f, b
10
10
  export declare const luma601: import("typegpu").TgpuFn<(rgb: d.Vec3f) => d.F32>;
11
11
  export declare const tiltTowardsLighterNeighbor: import("typegpu").TgpuFn<(rgb: d.Vec3f, t: d.F32) => d.Vec3f>;
12
12
  export declare const linearstep: import("typegpu").TgpuFn<(num1: d.F32, num2: d.F32, x: d.F32) => d.F32>;
13
+ export declare const getPixelColorFromVector: import("typegpu").TgpuFn<(coords: d.Vec2f) => d.Vec4f>;
14
+ export declare const getPixelColorFromNonReversedVector: import("typegpu").TgpuFn<(input: d.Vec2f) => d.Vec4f>;
15
+ export declare const random: import("typegpu").TgpuFn<(st: d.Vec2f) => d.F32>;
13
16
  //# sourceMappingURL=tgpuUtils.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"tgpuUtils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/tgpuUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,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;AAEH,eAAO,MAAM,uBAAuB,wDASlC,CAAC;AAEH,eAAO,MAAM,kCAAkC,uDAM7C,CAAC;AAEH,eAAO,MAAM,MAAM,kDAOjB,CAAC"}
@@ -3,4 +3,5 @@ export declare const rotateVectorByQuaternion: (vec: vec3, quaternion: quaternio
3
3
  export declare function getAngleFromDimensions(): number;
4
4
  export declare function isLandscapeMode(): boolean;
5
5
  export declare function subscribeToOrientationChange(callback: (isLandscape: boolean) => void): () => void;
6
+ export declare function deepMerge<T>(target: T, source: unknown): T;
6
7
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,GACnC,KAAK,IAAI,EACT,YAAY,UAAU,KACrB,IA6BF,CAAC;AAGF,wBAAgB,sBAAsB,WAErC;AAED,wBAAgB,eAAe,YAI9B;AAGD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,cAQzC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,GACnC,KAAK,IAAI,EACT,YAAY,UAAU,KACrB,IA6BF,CAAC;AAGF,wBAAgB,sBAAsB,WAErC;AAED,wBAAgB,eAAe,YAI9B;AAGD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,cAQzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CA2B1D"}
@@ -1,64 +1,25 @@
1
1
  import * as d from 'typegpu/data';
2
- import type { GlareOptions, ColorMask, DeepPartiallyOptional, vec3, HoloOptions, ReverseHoloDetectionChannelFlags, vec2, vec4 } from './types';
3
- export declare const createGlareOptions: (options: Partial<GlareOptions>) => GlareOptions;
4
- export declare const glareOptionsToTyped: (glareOptions: GlareOptions) => {
5
- glowPower: number;
6
- lightIntensity: number;
7
- glareIntensity: number;
8
- glareColor: {
9
- hueShiftAngleMax: number;
10
- hueShiftAngleMin: number;
11
- hueBlendPower: number;
12
- };
13
- };
14
- export declare const createColorMasks: (colorMasks: DeepPartiallyOptional<ColorMask, "baseColor">[]) => ColorMask[];
15
- export declare const colorMasksToTyped: (colorMasks: ColorMask[], reverseHighlight: boolean) => {
2
+ import type { ColorMask, vec3, HoloOptions, vec2, vec4, ColorMaskPreTypedSchema } from './types';
3
+ import { type ColorMaskSchema } from '../shaders/bindGroupLayouts';
4
+ export declare const createColorMasks: (colorMasks: ColorMask[], reverseHighlight: boolean) => {
16
5
  masks: {
17
6
  baseColor: d.v3f;
18
7
  rgbToleranceRange: {
19
8
  upper: d.v3f;
20
9
  lower: d.v3f;
21
10
  };
22
- hueToleranceRange: {
23
- upper: number;
24
- lower: number;
25
- };
11
+ hueStart: number;
12
+ hueRange: number;
26
13
  useHSV: number;
27
- brightnessTolerance: number;
28
- saturationTolerance: number;
29
- lowSaturationThreshold: number;
30
- lowBrightnessThreshold: number;
14
+ minLimits: d.v2f;
15
+ maxLimits: d.v2f;
31
16
  debugMode: number;
32
17
  }[];
33
18
  usedMaskCount: number;
34
19
  reverseHighlight: number;
35
20
  };
36
- export declare const colorMaskToTyped: (colorMask: ColorMask) => {
37
- baseColor: d.v3f;
38
- rgbToleranceRange: {
39
- upper: d.v3f;
40
- lower: d.v3f;
41
- };
42
- hueToleranceRange: {
43
- upper: number;
44
- lower: number;
45
- };
46
- useHSV: number;
47
- brightnessTolerance: number;
48
- saturationTolerance: number;
49
- lowSaturationThreshold: number;
50
- lowBrightnessThreshold: number;
51
- debugMode: number;
52
- };
21
+ export declare const colorMaskToTyped: ({ hueMin, hueMax, ...colorMask }: ColorMaskPreTypedSchema) => ColorMaskSchema;
53
22
  export declare const createHoloOptions: (options: Partial<HoloOptions>) => HoloOptions;
54
- export declare const createReverseHoloDetectionChannelFlags: (options?: Partial<ReverseHoloDetectionChannelFlags>) => {
55
- redChannel: number;
56
- greenChannel: number;
57
- blueChannel: number;
58
- hue: number;
59
- saturation: number;
60
- value: number;
61
- };
62
23
  export declare function numberArrToTyped(vec: vec2): d.v2f;
63
24
  export declare function numberArrToTyped(vec: vec3): d.v3f;
64
25
  export declare function numberArrToTyped(vec: vec4): d.v4f;
@@ -1 +1 @@
1
- {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,gCAAgC,EAChC,IAAI,EACJ,IAAI,EACL,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,CAAC,YAAY,CAAC,KAC7B,YAiBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,cAAc,YAAY;;;;;;;;;CAW7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,YAAY,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,KAC1D,SAAS,EA2CX,CAAC;AA2BF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,SAAS,EAAE,EACvB,kBAAkB,OAAO;;;;;;;;;;;;;;;;;;;;CAU1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS;;;;;;;;;;;;;;;;CAoBpD,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,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EACV,SAAS,EACT,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AASrC,eAAO,MAAM,gBAAgB,GAC3B,YAAY,SAAS,EAAE,EACvB,kBAAkB,OAAO;;;;;;;;;;;;;;;;CAqB1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,kCAI9B,uBAAuB,KAAG,eAe5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,CAAC,WAAW,CAAC,KAC5B,WAQF,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC"}
@@ -1,69 +1,31 @@
1
- import type { TgpuBindGroup, TgpuBindGroupLayout, TgpuRenderPipeline } from 'typegpu';
1
+ import type { TgpuBindGroup, TgpuBindGroupLayout, TgpuFragmentFn, TgpuRenderPipeline, TgpuRoot, TgpuUniform, ValidateBufferSchema } from 'typegpu';
2
2
  import type { WaveCallbackFn } from '../enums/waveCallback';
3
+ import type { AnyWgslData, Infer, Vec2f, Vec4f } from 'typegpu/data';
4
+ import type { ColorMaskSchema, maskTextureBindGroupLayout } from '../shaders/bindGroupLayouts';
3
5
  export type vec2 = [number, number];
4
6
  export type vec3 = [number, number, number];
5
7
  export type vec4 = [number, number, number, number];
6
8
  export type quaternion = vec4;
7
- export type GlareOptions = {
8
- glowPower: number;
9
- lightIntensity: number;
10
- glareIntensity: number;
11
- glareColor: {
12
- hueBlendPower: number;
13
- hueShiftAngleMax: number;
14
- hueShiftAngleMin: number;
15
- };
9
+ type BaseColorMask = {
10
+ debugMode: boolean;
16
11
  };
17
- export type ColorMask = {
12
+ export type RGBColorMask = BaseColorMask & {
18
13
  baseColor: vec3;
19
- useHSV?: boolean;
20
- hueToleranceRange: {
21
- upper: number;
22
- lower: number;
23
- };
24
- brightnessTolerance?: number;
25
- saturationTolerance?: number;
26
- lowBrightnessThreshold?: number;
27
- lowSaturationThreshold?: number;
28
14
  rgbToleranceRange: {
29
15
  upper: vec3;
30
16
  lower: vec3;
31
17
  };
32
- debugMode?: boolean;
33
- };
34
- export type ColorMaskArrayShaderAssert = [
35
- any,
36
- any,
37
- any,
38
- any,
39
- any,
40
- any,
41
- any,
42
- any,
43
- any,
44
- any,
45
- any,
46
- any,
47
- any,
48
- any,
49
- any,
50
- any
51
- ];
52
- export type Effect = {
53
- name: 'reverseHolo';
54
- options: Partial<ReverseHoloDetectionChannelFlags>;
55
- } | {
56
- name: 'holo';
57
- options?: HoloOptions;
58
18
  };
59
- export type ReverseHoloDetectionChannelFlags = {
60
- redChannel: number;
61
- greenChannel: number;
62
- blueChannel: number;
63
- hue: number;
64
- saturation: number;
65
- value: number;
19
+ export type HSLColorMask = BaseColorMask & {
20
+ hueMin: number;
21
+ hueMax: number;
22
+ saturationMin: number;
23
+ saturationMax: number;
24
+ lightnessMin: number;
25
+ lightnessMax: number;
66
26
  };
27
+ export type ColorMask = DeepPartiallyOptional<RGBColorMask, 'baseColor'> | DeepPartial<HSLColorMask>;
28
+ export type ColorMaskPreTypedSchema = HSLColorMask & RGBColorMask & Pick<ColorMaskSchema, 'useHSV'>;
67
29
  export type HoloOptions = {
68
30
  intensity: number;
69
31
  waveCallback: WaveCallbackFn;
@@ -75,11 +37,54 @@ export type Primitive = string | number | boolean | bigint | symbol | null | und
75
37
  export type DeepPartial<T> = {
76
38
  [P in keyof T]?: T[P] extends Primitive | any[] ? T[P] : DeepPartial<T[P]>;
77
39
  };
78
- export type DeepPartiallyOptional<T, K extends keyof T> = Required<Pick<T, K>> & DeepPartial<Omit<T, K>>;
40
+ export type DeepPartiallyOptional<T, K extends keyof T> = T extends any ? Required<Pick<T, K>> & DeepPartial<Omit<T, K>> : never;
41
+ export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
79
42
  export type BindGroupPair = {
80
43
  layout: TgpuBindGroupLayout;
81
44
  group: TgpuBindGroup;
82
45
  };
83
46
  export type ColorAttachment = Parameters<TgpuRenderPipeline['withColorAttachment']>[0];
84
47
  export type PipelineAttachmentPair = [TgpuRenderPipeline, ColorAttachment];
48
+ export type FragmentShaderReturnType = Vec4f;
49
+ export type FragmentType = TgpuFragmentFn<{
50
+ uv: Vec2f;
51
+ }, FragmentShaderReturnType>;
52
+ export type AnySchema = ValidateBufferSchema<AnyWgslData>;
53
+ export type BufferConfig<S extends AnySchema> = {
54
+ schema: S;
55
+ defaultOptions: Infer<S>;
56
+ };
57
+ export type TgpuUniformBuffer<S extends AnySchema> = TgpuUniform<S>['buffer'];
58
+ export type TgpuUniformBufferTuple<T extends readonly BufferConfig<AnySchema>[]> = {
59
+ [K in keyof T]: T[K] extends BufferConfig<infer S> ? TgpuUniformBuffer<S> : never;
60
+ };
61
+ export type BindGroupCreatorArgument = {
62
+ root: TgpuRoot;
63
+ maskBindGroup: TgpuBindGroup<UnwrapLayout<typeof maskTextureBindGroupLayout>>;
64
+ };
65
+ export type EffectDefinition<TConfig extends readonly BufferConfig<AnySchema>[]> = {
66
+ buffers: TConfig;
67
+ fragment: FragmentType;
68
+ bindGroupCreator: (argument: BindGroupCreatorArgument, buffers: TgpuUniformBufferTuple<TConfig>) => TgpuBindGroup[];
69
+ blend?: GPUBlendState;
70
+ };
71
+ type ValidateBuffers<T> = {
72
+ [K in keyof T]: T[K] extends {
73
+ schema: infer S;
74
+ } ? S extends AnySchema ? {
75
+ schema: S;
76
+ defaultOptions: Infer<S>;
77
+ } : never : never;
78
+ };
79
+ export declare function createEffect<const TConfig extends readonly BufferConfig<AnySchema>[]>(definition: EffectDefinition<TConfig> & {
80
+ buffers: ValidateBuffers<TConfig>;
81
+ }): EffectDefinition<TConfig> & {
82
+ buffers: ValidateBuffers<TConfig>;
83
+ };
84
+ export type UnwrapLayout<T> = T extends TgpuBindGroupLayout<infer U> ? U : never;
85
+ type GetInferredFromConfig<T> = T extends {
86
+ schema: infer S;
87
+ } ? S extends AnySchema ? Infer<S> : never : never;
88
+ export type ExtractEffectOptions<TDef> = TDef extends EffectDefinition<infer TConfig> ? UnionToIntersection<GetInferredFromConfig<TConfig[number]>> : never;
89
+ export {};
85
90
  //# sourceMappingURL=types.d.ts.map