react-native-shine 0.0.0 → 0.2.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 (70) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +35 -0
  3. package/lib/module/index.js +182 -0
  4. package/lib/module/index.js.map +1 -0
  5. package/lib/module/package.json +1 -0
  6. package/lib/module/roots.js +16 -0
  7. package/lib/module/roots.js.map +1 -0
  8. package/lib/module/shaders/bindGroupLayouts.js +45 -0
  9. package/lib/module/shaders/bindGroupLayouts.js.map +1 -0
  10. package/lib/module/shaders/bindGroupUtils.js +45 -0
  11. package/lib/module/shaders/bindGroupUtils.js.map +1 -0
  12. package/lib/module/shaders/fragmentShaders/bloomFragment.js +66 -0
  13. package/lib/module/shaders/fragmentShaders/bloomFragment.js.map +1 -0
  14. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +28 -0
  15. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -0
  16. package/lib/module/shaders/pipelineSetups.js +26 -0
  17. package/lib/module/shaders/pipelineSetups.js.map +1 -0
  18. package/lib/module/shaders/resourceManagement.js +19 -0
  19. package/lib/module/shaders/resourceManagement.js.map +1 -0
  20. package/lib/module/shaders/tgpuUtils.js +38 -0
  21. package/lib/module/shaders/tgpuUtils.js.map +1 -0
  22. package/lib/module/shaders/utils.js +65 -0
  23. package/lib/module/shaders/utils.js.map +1 -0
  24. package/lib/module/shaders/vertexShaders/mainVertex.js +35 -0
  25. package/lib/module/shaders/vertexShaders/mainVertex.js.map +1 -0
  26. package/lib/module/types/typeUtils.js +92 -0
  27. package/lib/module/types/typeUtils.js.map +1 -0
  28. package/lib/module/types/types.js +4 -0
  29. package/lib/module/types/types.js.map +1 -0
  30. package/lib/typescript/package.json +1 -0
  31. package/lib/typescript/src/index.d.ts +12 -0
  32. package/lib/typescript/src/index.d.ts.map +1 -0
  33. package/lib/typescript/src/roots.d.ts +4 -0
  34. package/lib/typescript/src/roots.d.ts.map +1 -0
  35. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +57 -0
  36. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -0
  37. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +53 -0
  38. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -0
  39. package/lib/typescript/src/shaders/fragmentShaders/bloomFragment.d.ts +6 -0
  40. package/lib/typescript/src/shaders/fragmentShaders/bloomFragment.d.ts.map +1 -0
  41. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts +6 -0
  42. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -0
  43. package/lib/typescript/src/shaders/pipelineSetups.d.ts +7 -0
  44. package/lib/typescript/src/shaders/pipelineSetups.d.ts.map +1 -0
  45. package/lib/typescript/src/shaders/resourceManagement.d.ts +3 -0
  46. package/lib/typescript/src/shaders/resourceManagement.d.ts.map +1 -0
  47. package/lib/typescript/src/shaders/tgpuUtils.d.ts +6 -0
  48. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -0
  49. package/lib/typescript/src/shaders/utils.d.ts +13 -0
  50. package/lib/typescript/src/shaders/utils.d.ts.map +1 -0
  51. package/lib/typescript/src/shaders/vertexShaders/mainVertex.d.ts +6 -0
  52. package/lib/typescript/src/shaders/vertexShaders/mainVertex.d.ts.map +1 -0
  53. package/lib/typescript/src/types/typeUtils.d.ts +16 -0
  54. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -0
  55. package/lib/typescript/src/types/types.d.ts +33 -0
  56. package/lib/typescript/src/types/types.d.ts.map +1 -0
  57. package/package.json +158 -13
  58. package/src/index.tsx +289 -0
  59. package/src/roots.ts +16 -0
  60. package/src/shaders/bindGroupLayouts.ts +40 -0
  61. package/src/shaders/bindGroupUtils.ts +101 -0
  62. package/src/shaders/fragmentShaders/bloomFragment.ts +83 -0
  63. package/src/shaders/fragmentShaders/colorMaskFragment.ts +35 -0
  64. package/src/shaders/pipelineSetups.ts +33 -0
  65. package/src/shaders/resourceManagement.ts +22 -0
  66. package/src/shaders/tgpuUtils.ts +75 -0
  67. package/src/shaders/utils.ts +103 -0
  68. package/src/shaders/vertexShaders/mainVertex.ts +35 -0
  69. package/src/types/typeUtils.ts +122 -0
  70. package/src/types/types.ts +51 -0
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import { Dimensions } from 'react-native';
4
+ export const createTexture = async (root, size) => {
5
+ const texture = root['~unstable'].createTexture({
6
+ size: [size.width, size.height],
7
+ format: 'rgba8unorm'
8
+ }).$usage('sampled', 'render');
9
+ return texture;
10
+ };
11
+ export const loadTexture = async (root, imageBitmap, texture) => {
12
+ root.device.queue.copyExternalImageToTexture({
13
+ source: imageBitmap
14
+ }, {
15
+ texture: root.unwrap(texture)
16
+ }, [imageBitmap.width, imageBitmap.height]);
17
+ };
18
+ export const rotateVectorByQuaternion = (vec, quaternion) => {
19
+ 'worklet';
20
+
21
+ const t = [quaternion[1] * vec[2] - quaternion[2] * vec[1], quaternion[2] * vec[0] - quaternion[0] * vec[2], quaternion[0] * vec[1] - quaternion[1] * vec[0]];
22
+
23
+ // t2 = qw * forward + t
24
+ const t2 = [quaternion[3] * vec[0] + t[0], quaternion[3] * vec[1] + t[1], quaternion[3] * vec[2] + t[2]];
25
+ const crossQT2 = [quaternion[1] * t2[2] - quaternion[2] * t2[1], quaternion[2] * t2[0] - quaternion[0] * t2[2], quaternion[0] * t2[1] - quaternion[1] * t2[0]];
26
+
27
+ // rotated = vec + 2.0 * cross(q, t2)
28
+ const rotated = [vec[0] + 2.0 * crossQT2[0], vec[1] + 2.0 * crossQT2[1], vec[2] + 2.0 * crossQT2[2]];
29
+ return [rotated[0], rotated[1], rotated[2]];
30
+ };
31
+ export const clamp = (v, min = -1, max = 1) => {
32
+ 'worklet';
33
+
34
+ return Math.max(min, Math.min(max, v));
35
+ };
36
+ export const rotate2D = ([x, y], angleDeg) => {
37
+ 'worklet';
38
+
39
+ const rad = angleDeg * Math.PI / 180;
40
+ const c = Math.cos(rad);
41
+ const s = Math.sin(rad);
42
+ return [x * c - y * s, x * s + y * c];
43
+ };
44
+
45
+ // Simple helper to get angle from dimensions (0 or 90)
46
+ export function getAngleFromDimensions() {
47
+ const {
48
+ width,
49
+ height
50
+ } = Dimensions.get('window');
51
+ return width >= height ? 90 : 0;
52
+ }
53
+
54
+ // Subscribe to orientation change via Dimensions API only
55
+ export function subscribeToOrientationChange(callback) {
56
+ callback(getAngleFromDimensions());
57
+ const handler = () => {
58
+ callback(getAngleFromDimensions());
59
+ };
60
+ const dimSub = Dimensions.addEventListener('change', handler);
61
+ return () => {
62
+ dimSub.remove();
63
+ };
64
+ }
65
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Dimensions","createTexture","root","size","texture","width","height","format","$usage","loadTexture","imageBitmap","device","queue","copyExternalImageToTexture","source","unwrap","rotateVectorByQuaternion","vec","quaternion","t","t2","crossQT2","rotated","clamp","v","min","max","Math","rotate2D","x","y","angleDeg","rad","PI","c","cos","s","sin","getAngleFromDimensions","get","subscribeToOrientationChange","callback","handler","dimSub","addEventListener","remove"],"sourceRoot":"../../../src","sources":["shaders/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import tgpu from 'typegpu';
4
+ import * as d from 'typegpu/data';
5
+ const mainVertex = tgpu['~unstable'].vertexFn({
6
+ in: {
7
+ vertexIndex: d.builtin.vertexIndex
8
+ },
9
+ out: {
10
+ position: d.builtin.position,
11
+ uv: d.vec2f
12
+ }
13
+ })(input => {
14
+ const position = [d.vec2f(-1.0, -1.0),
15
+ // bottom left
16
+ d.vec2f(1.0, 1.0),
17
+ // top right
18
+ d.vec2f(1.0, -1.0),
19
+ // bottom right
20
+ d.vec2f(-1.0, -1.0),
21
+ // bottom left
22
+ d.vec2f(-1.0, 1.0),
23
+ // top left
24
+ d.vec2f(1.0, 1.0) // top right
25
+ ];
26
+ const uv = [d.vec2f(0.0, 0.0), d.vec2f(1.0, 1.0), d.vec2f(1.0, 0.0), d.vec2f(0.0, 0.0), d.vec2f(0.0, 1.0), d.vec2f(1.0, 1.0)];
27
+ const index = input.vertexIndex;
28
+ const pos = position[index];
29
+ return {
30
+ position: d.vec4f(pos.xy, 0.0, 1.0),
31
+ uv: uv[index]
32
+ };
33
+ });
34
+ export default mainVertex;
35
+ //# sourceMappingURL=mainVertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tgpu","d","mainVertex","vertexFn","in","vertexIndex","builtin","out","position","uv","vec2f","input","index","pos","vec4f","xy"],"sourceRoot":"../../../../src","sources":["shaders/vertexShaders/mainVertex.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AAEjC,MAAMC,UAAU,GAAGF,IAAI,CAAC,WAAW,CAAC,CAACG,QAAQ,CAAC;EAC5CC,EAAE,EAAE;IAAEC,WAAW,EAAEJ,CAAC,CAACK,OAAO,CAACD;EAAY,CAAC;EAC1CE,GAAG,EAAE;IAAEC,QAAQ,EAAEP,CAAC,CAACK,OAAO,CAACE,QAAQ;IAAEC,EAAE,EAAER,CAAC,CAACS;EAAM;AACnD,CAAC,CAAC,CAAEC,KAAK,IAAK;EACZ,MAAMH,QAAiB,GAAG,CACxBP,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACrBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;EAAE;EACnBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACpBT,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;EAAE;EACrBT,CAAC,CAACS,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;EAAE;EACpBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE;EAAA,CACpB;EAED,MAAMD,EAAW,GAAG,CAClBR,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACjBT,CAAC,CAACS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAClB;EAED,MAAME,KAAK,GAAGD,KAAK,CAACN,WAAW;EAC/B,MAAMQ,GAAG,GAAGL,QAAQ,CAACI,KAAK,CAAU;EAEpC,OAAO;IACLJ,QAAQ,EAAEP,CAAC,CAACa,KAAK,CAACD,GAAG,CAACE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IACnCN,EAAE,EAAEA,EAAE,CAACG,KAAK;EACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAeV,UAAU","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ import { f32, vec2f, vec3f, vec4f } from 'typegpu/data';
4
+ import { div } from 'typegpu/std';
5
+ export const createBloomOptions = options => {
6
+ const {
7
+ glowPower,
8
+ hueShiftAngleMax,
9
+ hueShiftAngleMin,
10
+ hueBlendPower,
11
+ lightIntensity,
12
+ bloomIntensity
13
+ } = options;
14
+ const bloomOp = {
15
+ glowPower: glowPower ?? 1.0,
16
+ hueShiftAngleMax: hueShiftAngleMax ?? 1.0,
17
+ hueShiftAngleMin: hueShiftAngleMin ?? 0.0,
18
+ hueBlendPower: hueBlendPower ?? 1.0,
19
+ lightIntensity: lightIntensity ?? 1.0,
20
+ bloomIntensity: bloomIntensity ?? 1.0
21
+ };
22
+ return bloomOp;
23
+ };
24
+ export const mapToF32 = obj => {
25
+ const result = {};
26
+ for (const key in obj) {
27
+ result[key] = f32(obj[key]);
28
+ }
29
+ return result;
30
+ };
31
+ export const createColorMask = colorMask => {
32
+ const {
33
+ baseColor,
34
+ rgbToleranceRange
35
+ } = colorMask;
36
+ const baseTolerance = {
37
+ upper: [20, 20, 20],
38
+ lower: [20, 20, 20]
39
+ };
40
+ const tolerance = {
41
+ ...baseTolerance,
42
+ ...rgbToleranceRange
43
+ };
44
+ const mask = {
45
+ baseColor: baseColor,
46
+ rgbToleranceRange: tolerance
47
+ };
48
+ return mask;
49
+ };
50
+ export const colorMaskToTyped = colorMask => {
51
+ const result = {
52
+ baseColor: div(numberArrToTyped(colorMask.baseColor), 255),
53
+ rgbToleranceRange: {
54
+ upper: div(numberArrToTyped(colorMask.rgbToleranceRange.upper), 255),
55
+ lower: div(numberArrToTyped(colorMask.rgbToleranceRange.lower), 255)
56
+ }
57
+ };
58
+ return result;
59
+ };
60
+ const numberArrToTyped = vec => {
61
+ let convFn = null;
62
+ switch (vec.length) {
63
+ case 2:
64
+ convFn = vec2f;
65
+ break;
66
+ case 3:
67
+ convFn = vec3f;
68
+ break;
69
+ case 4:
70
+ convFn = vec4f;
71
+ break;
72
+ default:
73
+ throw new Error('numberArrToTyped: Vector must be of length [2-4]');
74
+ }
75
+ const typed = convFn(...vec);
76
+ return typed;
77
+ };
78
+ export const createBindGroupPair = (bindGroupLayout, bindGroup) => {
79
+ return {
80
+ layout: bindGroupLayout,
81
+ group: bindGroup
82
+ };
83
+ };
84
+ export const createBindGroupPairs = (bindGroupLayouts, bindGroups) => {
85
+ if (bindGroupLayouts.length > 0 && bindGroupLayouts.length !== bindGroups.length) throw new Error('createBindGroups: bindGroupLayout and bindGroup arrrays must be of the same length');
86
+ const pairs = [];
87
+ for (let i = 0; i < bindGroupLayouts.length; i++) {
88
+ pairs.push(createBindGroupPair(bindGroupLayouts[i], bindGroups[i]));
89
+ }
90
+ return pairs;
91
+ };
92
+ //# sourceMappingURL=typeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["f32","vec2f","vec3f","vec4f","div","createBloomOptions","options","glowPower","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","bloomIntensity","bloomOp","mapToF32","obj","result","key","createColorMask","colorMask","baseColor","rgbToleranceRange","baseTolerance","upper","lower","tolerance","mask","colorMaskToTyped","numberArrToTyped","vec","convFn","length","Error","typed","createBindGroupPair","bindGroupLayout","bindGroup","layout","group","createBindGroupPairs","bindGroupLayouts","bindGroups","pairs","i","push"],"sourceRoot":"../../../src","sources":["types/typeUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,12 @@
1
+ import { subscribeToOrientationChange, getAngleFromDimensions } from './shaders/utils';
2
+ import type { BloomOptions, ColorMask, DeepPartiallyOptional } from './types/types';
3
+ interface ShineProps {
4
+ width: number;
5
+ height: number;
6
+ imageURI: string;
7
+ bloomOptions?: Partial<BloomOptions>;
8
+ colorMaskOptions?: DeepPartiallyOptional<ColorMask, 'baseColor'>;
9
+ }
10
+ export declare function Shine({ width, height, imageURI, bloomOptions, colorMaskOptions, }: ShineProps): import("react/jsx-runtime").JSX.Element;
11
+ export { subscribeToOrientationChange, getAngleFromDimensions };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAKL,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AA8BzB,OAAO,KAAK,EAEV,YAAY,EACZ,SAAS,EACT,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAGvB,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;CAClE;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,gBAAgB,GACjB,EAAE,UAAU,2CA8NZ;AAED,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type TgpuRoot } from 'typegpu';
2
+ declare function getOrInitRoot(device: GPUDevice): TgpuRoot;
3
+ export { getOrInitRoot };
4
+ //# sourceMappingURL=roots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../../src/roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI9C,iBAAS,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CASlD;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,57 @@
1
+ import * as d from 'typegpu/data';
2
+ export declare const textureBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
3
+ texture: {
4
+ texture: "float";
5
+ dimension: string;
6
+ sampleType: string;
7
+ };
8
+ sampler: {
9
+ sampler: "filtering";
10
+ };
11
+ }>;
12
+ export declare const rotationValuesBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
13
+ vec: {
14
+ uniform: d.Vec3f;
15
+ };
16
+ }>;
17
+ export declare const bloomOptionsSchema: d.WgslStruct<{
18
+ glowPower: d.F32;
19
+ hueShiftAngleMax: d.F32;
20
+ hueShiftAngleMin: d.F32;
21
+ hueBlendPower: d.F32;
22
+ lightIntensity: d.F32;
23
+ bloomIntensity: d.F32;
24
+ }>;
25
+ export type bloomOptionsSchema = typeof bloomOptionsSchema;
26
+ export declare const bloomOptionsBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
27
+ bloomOptions: {
28
+ uniform: d.WgslStruct<{
29
+ glowPower: d.F32;
30
+ hueShiftAngleMax: d.F32;
31
+ hueShiftAngleMin: d.F32;
32
+ hueBlendPower: d.F32;
33
+ lightIntensity: d.F32;
34
+ bloomIntensity: d.F32;
35
+ }>;
36
+ };
37
+ }>;
38
+ export declare const colorMaskSchema: d.WgslStruct<{
39
+ baseColor: d.Vec3f;
40
+ rgbToleranceRange: d.WgslStruct<{
41
+ upper: d.Vec3f;
42
+ lower: d.Vec3f;
43
+ }>;
44
+ }>;
45
+ export type colorMaskSchema = typeof colorMaskSchema;
46
+ export declare const colorMaskBindGroupLayout: import("typegpu").TgpuBindGroupLayout<{
47
+ mask: {
48
+ uniform: d.WgslStruct<{
49
+ baseColor: d.Vec3f;
50
+ rgbToleranceRange: d.WgslStruct<{
51
+ upper: d.Vec3f;
52
+ lower: d.Vec3f;
53
+ }>;
54
+ }>;
55
+ };
56
+ }>;
57
+ //# sourceMappingURL=bindGroupLayouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindGroupLayouts.d.ts","sourceRoot":"","sources":["../../../../src/shaders/bindGroupLayouts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;EAExC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,eAAO,MAAM,2BAA2B;;;;;;;;;;;EAEtC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAErD,eAAO,MAAM,wBAAwB;;;;;;;;;;EAEnC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type TgpuBuffer, type TgpuRoot, type UniformFlag } from 'typegpu';
2
+ import * as d from 'typegpu/data';
3
+ import { bloomOptionsSchema, colorMaskSchema } from './bindGroupLayouts';
4
+ import type { BloomOptions, ColorMask, PartiallyOptional } 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> & UniformFlag) => import("typegpu").TgpuBindGroup<{
11
+ vec: {
12
+ uniform: d.Vec3f;
13
+ };
14
+ }>;
15
+ export declare const createBloomOptionsBuffer: (root: TgpuRoot, initValues?: Partial<BloomOptions>) => TgpuBuffer<d.WgslStruct<{
16
+ glowPower: d.F32;
17
+ hueShiftAngleMax: d.F32;
18
+ hueShiftAngleMin: d.F32;
19
+ hueBlendPower: d.F32;
20
+ lightIntensity: d.F32;
21
+ bloomIntensity: d.F32;
22
+ }>> & UniformFlag;
23
+ export declare const createBloomOptionsBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<bloomOptionsSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
24
+ bloomOptions: {
25
+ uniform: d.WgslStruct<{
26
+ glowPower: d.F32;
27
+ hueShiftAngleMax: d.F32;
28
+ hueShiftAngleMin: d.F32;
29
+ hueBlendPower: d.F32;
30
+ lightIntensity: d.F32;
31
+ bloomIntensity: d.F32;
32
+ }>;
33
+ };
34
+ }>;
35
+ export declare const createColorMaskBuffer: (root: TgpuRoot, initValues: PartiallyOptional<ColorMask, "baseColor">) => TgpuBuffer<d.WgslStruct<{
36
+ baseColor: d.Vec3f;
37
+ rgbToleranceRange: d.WgslStruct<{
38
+ upper: d.Vec3f;
39
+ lower: d.Vec3f;
40
+ }>;
41
+ }>> & UniformFlag;
42
+ export declare const createColorMaskBindGroup: (root: TgpuRoot, buffer: TgpuBuffer<colorMaskSchema> & UniformFlag) => import("typegpu").TgpuBindGroup<{
43
+ mask: {
44
+ uniform: d.WgslStruct<{
45
+ baseColor: d.Vec3f;
46
+ rgbToleranceRange: d.WgslStruct<{
47
+ upper: d.Vec3f;
48
+ lower: d.Vec3f;
49
+ }>;
50
+ }>;
51
+ };
52
+ }>;
53
+ //# sourceMappingURL=bindGroupUtils.d.ts.map
@@ -0,0 +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,EAEL,kBAAkB,EAElB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAQxB,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,aAAa;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,sCAUjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,WAAW;;;;EAU1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,aAAa,OAAO,CAAC,YAAY,CAAC;;;;;;;iBAUnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,kBAAkB,CAAC,GAAG,WAAW;;;;;;;;;;;EAUrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,QAAQ,EACd,YAAY,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC;;;;;;iBAUtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,EACd,QAAQ,UAAU,CAAC,eAAe,CAAC,GAAG,WAAW;;;;;;;;;;EAOlD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as d from 'typegpu/data';
2
+ declare const bloomFragment: import("typegpu").TgpuFragmentFn<{
3
+ uv: d.Vec2f;
4
+ }, d.Vec4f>;
5
+ export default bloomFragment;
6
+ //# sourceMappingURL=bloomFragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloomFragment.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/fragmentShaders/bloomFragment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAUlC,QAAA,MAAM,aAAa;;WAqEjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as d from 'typegpu/data';
2
+ declare const colorMaskFragment: import("typegpu").TgpuFragmentFn<{
3
+ uv: d.Vec2f;
4
+ }, d.Vec4f>;
5
+ export default colorMaskFragment;
6
+ //# sourceMappingURL=colorMaskFragment.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,7 @@
1
+ import type { TgpuRenderPipeline } from 'typegpu';
2
+ import type { BindGroupPair } from '../types/types';
3
+ export declare const attachBindGroups: (pipeline: TgpuRenderPipeline, bindGroupPairs: BindGroupPair[]) => TgpuRenderPipeline<import("typegpu/data").Void | ((import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u) | import("typegpu/data").BuiltinClipDistances | import("typegpu/data").Decorated<import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u, import("typegpu/data").AnyAttribute<import("typegpu/data").Builtin<"vertex_index" | "position" | "clip_distances" | "instance_index" | "front_facing" | "frag_depth" | "sample_index" | "sample_mask" | "local_invocation_id" | "local_invocation_index" | "global_invocation_id" | "workgroup_id" | "num_workgroups" | "subgroup_invocation_id" | "subgroup_size" | "fragment">>[]>) | {
4
+ [x: string]: (import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u) | import("typegpu/data").BuiltinClipDistances | import("typegpu/data").Decorated<import("typegpu/data").U32 | import("typegpu/data").Bool | import("typegpu/data").F32 | import("typegpu/data").F16 | import("typegpu/data").I32 | import("typegpu/data").Vec2f | import("typegpu/data").Vec3f | import("typegpu/data").Vec4f | import("typegpu/data").Vec2h | import("typegpu/data").Vec3h | import("typegpu/data").Vec4h | import("typegpu/data").Vec2i | import("typegpu/data").Vec3i | import("typegpu/data").Vec4i | import("typegpu/data").Vec2u | import("typegpu/data").Vec3u | import("typegpu/data").Vec4u, import("typegpu/data").AnyAttribute<import("typegpu/data").Builtin<"vertex_index" | "position" | "clip_distances" | "instance_index" | "front_facing" | "frag_depth" | "sample_index" | "sample_mask" | "local_invocation_id" | "local_invocation_index" | "global_invocation_id" | "workgroup_id" | "num_workgroups" | "subgroup_invocation_id" | "subgroup_size" | "fragment">>[]>;
5
+ }>;
6
+ export declare const getDefaultTarget: (presentationFormat: GPUTextureFormat) => GPUColorTargetState;
7
+ //# sourceMappingURL=pipelineSetups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineSetups.d.ts","sourceRoot":"","sources":["../../../../src/shaders/pipelineSetups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,GAC3B,UAAU,kBAAkB,EAC5B,gBAAgB,aAAa,EAAE;;EAOhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,gBAAgB,KACnC,mBAgBF,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const getBitmapFromURI: (uri: string) => Promise<ImageBitmap>;
2
+ export default getBitmapFromURI;
3
+ //# sourceMappingURL=resourceManagement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceManagement.d.ts","sourceRoot":"","sources":["../../../../src/shaders/resourceManagement.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,WAAW,CAehE,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as d from 'typegpu/data';
2
+ export declare const hueShift: import("typegpu").TgpuFn<(rgb: d.Vec3f, angle: d.F32) => d.Vec3f>;
3
+ export declare const bloomColorShift: import("typegpu").TgpuFn<(color: d.Vec3f, power: d.F32) => d.Vec3f>;
4
+ export declare const overlayChannel: import("typegpu").TgpuFn<(base: d.F32, blend: d.F32) => d.F32>;
5
+ export declare const overlayChannels: import("typegpu").TgpuFn<(base: d.Vec3f, blend: d.Vec3f) => d.Vec3f>;
6
+ //# sourceMappingURL=tgpuUtils.d.ts.map
@@ -0,0 +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,eAAe,qEAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,gEAYzB,CAAC;AAEH,eAAO,MAAM,eAAe,sEAS1B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type TgpuRoot, type TgpuTexture } from 'typegpu';
2
+ import type { quaternion, vec3 } from '../types/types';
3
+ export declare const createTexture: (root: TgpuRoot, size: {
4
+ width: number;
5
+ height: number;
6
+ }) => Promise<TgpuTexture>;
7
+ export declare const loadTexture: (root: TgpuRoot, imageBitmap: ImageBitmap, texture: TgpuTexture) => Promise<void>;
8
+ export declare const rotateVectorByQuaternion: (vec: vec3, quaternion: quaternion) => vec3;
9
+ export declare const clamp: (v: number, min?: number, max?: number) => number;
10
+ export declare const rotate2D: ([x, y]: [number, number], angleDeg: number) => [number, number];
11
+ export declare function getAngleFromDimensions(): 0 | 90;
12
+ export declare function subscribeToOrientationChange(callback: (angleDeg: number) => void): () => void;
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/shaders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGvD,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,MAAM;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,KACA,OAAO,CAAC,WAAW,CASrB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,QAAQ,EACd,aAAa,WAAW,EACxB,SAAS,WAAW,kBAOrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,KAAK,IAAI,EACT,YAAY,UAAU,KACrB,IA6BF,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,YAAQ,EAAE,YAAO,WAGjD,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,UAAU,MAAM,KACf,CAAC,MAAM,EAAE,MAAM,CAMjB,CAAC;AAGF,wBAAgB,sBAAsB,WAGrC;AAGD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,cAWrC"}
@@ -0,0 +1,6 @@
1
+ import * as d from 'typegpu/data';
2
+ declare const mainVertex: import("typegpu").TgpuVertexFn<{}, {
3
+ uv: d.Vec2f;
4
+ }>;
5
+ export default mainVertex;
6
+ //# sourceMappingURL=mainVertex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainVertex.d.ts","sourceRoot":"","sources":["../../../../../src/shaders/vertexShaders/mainVertex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,QAAA,MAAM,UAAU;;EA6Bd,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { f32 } from 'typegpu/data';
2
+ import type { BindGroupPair, BloomOptions, ColorMask, DeepPartiallyOptional } from './types';
3
+ import type { TgpuBindGroup, TgpuBindGroupLayout } from 'typegpu';
4
+ export declare const createBloomOptions: (options: Partial<BloomOptions>) => BloomOptions;
5
+ export declare const mapToF32: <T extends Record<string, number>>(obj: T) => { [K in keyof T]: ReturnType<typeof f32>; };
6
+ export declare const createColorMask: (colorMask: DeepPartiallyOptional<ColorMask, "baseColor">) => ColorMask;
7
+ export declare const colorMaskToTyped: (colorMask: ColorMask) => {
8
+ baseColor: any;
9
+ rgbToleranceRange: {
10
+ upper: any;
11
+ lower: any;
12
+ };
13
+ };
14
+ export declare const createBindGroupPair: (bindGroupLayout: TgpuBindGroupLayout, bindGroup: TgpuBindGroup) => BindGroupPair;
15
+ export declare const createBindGroupPairs: (bindGroupLayouts: TgpuBindGroupLayout[], bindGroups: TgpuBindGroup[]) => BindGroupPair[];
16
+ //# sourceMappingURL=typeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../../../../src/types/typeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAuB,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElE,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;AAsBF,eAAO,MAAM,mBAAmB,GAC9B,iBAAiB,mBAAmB,EACpC,WAAW,aAAa,KACvB,aAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,kBAAkB,mBAAmB,EAAE,EACvC,YAAY,aAAa,EAAE,KAC1B,aAAa,EAcf,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { TgpuBindGroup, TgpuBindGroupLayout } from 'typegpu';
2
+ export type vec2 = [number, number];
3
+ export type vec3 = [number, number, number];
4
+ export type vec4 = [number, number, number, number];
5
+ export type quaternion = vec4;
6
+ export type BloomOptions = {
7
+ glowPower: number;
8
+ hueShiftAngleMax: number;
9
+ hueShiftAngleMin: number;
10
+ hueBlendPower: number;
11
+ lightIntensity: number;
12
+ bloomIntensity: number;
13
+ };
14
+ export type ColorMask = {
15
+ baseColor: vec3;
16
+ rgbToleranceRange: {
17
+ upper: vec3;
18
+ lower: vec3;
19
+ };
20
+ };
21
+ export type PartiallyOptional<T, K extends keyof T> = {
22
+ [P in K]: T[P];
23
+ } & Partial<Omit<T, K>>;
24
+ export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
25
+ export type DeepPartial<T> = {
26
+ [P in keyof T]?: T[P] extends Primitive | any[] ? T[P] : DeepPartial<T[P]>;
27
+ };
28
+ export type DeepPartiallyOptional<T, K extends keyof T> = Required<Pick<T, K>> & DeepPartial<Omit<T, K>>;
29
+ export type BindGroupPair = {
30
+ layout: TgpuBindGroupLayout;
31
+ group: TgpuBindGroup;
32
+ };
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElE,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;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"}