react-native-shine 0.3.5 → 0.4.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 (45) hide show
  1. package/README.md +7 -6
  2. package/lib/module/components/Content.js +34 -28
  3. package/lib/module/components/Content.js.map +1 -1
  4. package/lib/module/components/ShineGroup.js +0 -2
  5. package/lib/module/components/ShineGroup.js.map +1 -1
  6. package/lib/module/shaders/bindGroupLayouts.js +20 -0
  7. package/lib/module/shaders/bindGroupLayouts.js.map +1 -1
  8. package/lib/module/shaders/bindGroupUtils.js +5 -1
  9. package/lib/module/shaders/bindGroupUtils.js.map +1 -1
  10. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +2 -2
  11. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -1
  12. package/lib/module/shaders/fragmentShaders/holoFragment.js +2 -2
  13. package/lib/module/shaders/fragmentShaders/holoFragment.js.map +1 -1
  14. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js +28 -6
  15. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js.map +1 -1
  16. package/lib/module/shaders/tgpuUtils.js +41 -0
  17. package/lib/module/shaders/tgpuUtils.js.map +1 -1
  18. package/lib/module/types/typeUtils.js +33 -0
  19. package/lib/module/types/typeUtils.js.map +1 -1
  20. package/lib/typescript/src/components/Content.d.ts +4 -3
  21. package/lib/typescript/src/components/Content.d.ts.map +1 -1
  22. package/lib/typescript/src/components/ShineGroup.d.ts +1 -1
  23. package/lib/typescript/src/components/ShineGroup.d.ts.map +1 -1
  24. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +42 -0
  25. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -1
  26. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +23 -1
  27. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -1
  28. package/lib/typescript/src/shaders/fragmentShaders/reverseHoloFragment.d.ts.map +1 -1
  29. package/lib/typescript/src/shaders/tgpuUtils.d.ts +2 -0
  30. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -1
  31. package/lib/typescript/src/types/typeUtils.d.ts +9 -1
  32. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -1
  33. package/lib/typescript/src/types/types.d.ts +8 -0
  34. package/lib/typescript/src/types/types.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/components/Content.tsx +45 -24
  37. package/src/components/ShineGroup.tsx +0 -2
  38. package/src/shaders/bindGroupLayouts.ts +22 -0
  39. package/src/shaders/bindGroupUtils.ts +13 -0
  40. package/src/shaders/fragmentShaders/colorMaskFragment.ts +1 -1
  41. package/src/shaders/fragmentShaders/holoFragment.ts +1 -1
  42. package/src/shaders/fragmentShaders/reverseHoloFragment.ts +33 -4
  43. package/src/shaders/tgpuUtils.ts +40 -0
  44. package/src/types/typeUtils.ts +33 -0
  45. package/src/types/types.ts +9 -0
package/README.md CHANGED
@@ -4,7 +4,8 @@ Fast and efficient way to add interactive GPU-based shader effects to your React
4
4
 
5
5
  `react-native-shine` leverages powerful GPU execution via native bindings, delivering lovely, fancy and **shiny** effects—ideal for UIs or creative interactions.
6
6
 
7
- ![cardPreview](./cardPreview.gif)
7
+ ![image](./shine_example_watch.gif)
8
+ ![image](./shine_example_tree_small.gif)
8
9
 
9
10
  ---
10
11
 
@@ -85,7 +86,7 @@ export default function Index() {
85
86
  }}
86
87
  >
87
88
  <Shine
88
- imageURI="https://assets.pkmn.gg/fit-in/600x836/filters:format(webp)/images/cards/dp7/dp7-101.png?signature=1354344def4514e05080d064310884cdd6a27ef93692d9656eda9ae84ae1b2e1"
89
+ imageURI="https://example.com/card_image.png"
89
90
  width={300}
90
91
  height={400}
91
92
  />
@@ -94,7 +95,7 @@ export default function Index() {
94
95
  }
95
96
  ```
96
97
 
97
- For more thorough usage examples and docs click [here](https://github.com/wojtus7/react-native-shine/blob/main/USAGE.md)
98
+ For more thorough usage examples and docs click [here](https://github.com/software-mansion-labs/react-native-shine/blob/main/USAGE.md)
98
99
 
99
100
  ---
100
101
 
@@ -154,10 +155,10 @@ can help you build your next dream product –
154
155
  <!-- automd:contributors author="software-mansion" -->
155
156
 
156
157
  Made by [@software-mansion](https://github.com/software-mansion) and
157
- [community](https://github.com/wojtus7/react-native-shine/graphs/contributors) 💛
158
+ [community](https://github.com/software-mansion-labs/react-native-shine/graphs/contributors) 💛
158
159
  <br><br>
159
- <a href="https://github.com/wojtus7/react-native-shine/graphs/contributors">
160
- <img src="https://contrib.rocks/image?repo=wojtus7/react-native-shine" />
160
+ <a href="https://github.com/software-mansion-labs/react-native-shine/graphs/contributors">
161
+ <img src="https://contrib.rocks/image?repo=software-mansion-labs/react-native-shine" />
161
162
  </a>
162
163
 
163
164
  <!-- /automd -->
@@ -1,36 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  import { useEffect, useMemo, useRef } from 'react';
4
- import { PixelRatio, Platform, View } from 'react-native';
4
+ import { PixelRatio, View } from 'react-native';
5
5
  import Animated, { SensorType, useAnimatedSensor, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
6
6
  import { Canvas, useGPUContext } from 'react-native-wgpu';
7
7
  import * as d from 'typegpu/data';
8
8
  import { bufferData, textureBindGroupLayout } from "../shaders/bindGroupLayouts.js";
9
9
  import useAnimationFrame from "../hooks/useAnimationFrame.js";
10
10
  import { TypedBufferMap } from "../shaders/resourceManagement/bufferManager.js";
11
- import { createColorMaskBindGroup, createGlareBindGroup, createRotationValuesBindGroup } from "../shaders/bindGroupUtils.js";
11
+ import { createColorMaskBindGroup, createGlareBindGroup, createReverseHoloDetectionChannelFlagsBindGroup, createRotationValuesBindGroup } from "../shaders/bindGroupUtils.js";
12
12
  import colorMaskFragment from "../shaders/fragmentShaders/colorMaskFragment.js";
13
13
  import { newGlareFragment } from "../shaders/fragmentShaders/glareFragment.js";
14
14
  import { attachBindGroups, blend, createMaskPipeline, createRainbowHoloPipeline as createHoloPipeline, createReverseHoloPipeline, getDefaultTarget } from "../shaders/pipelineSetups.js";
15
15
  import mainVertex from "../shaders/vertexShaders/mainVertex.js";
16
16
  import { subscribeToOrientationChange } from "../shaders/utils.js";
17
- import { colorMaskToTyped, createColorMask, createGlareOptions } from "../types/typeUtils.js";
17
+ import { colorMaskToTyped, createColorMask, createGlareOptions, createReverseHoloDetectionChannelFlags } from "../types/typeUtils.js";
18
18
  import { addV3d, clampV3d, componentsFromV3d, degToRad, divV3d, negateV2dY, rotateV2d, scaleV2d, scaleV3d, subtractV3d, transformV2d, zeroV3d } from "../utils/vector.js";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
20
  const _worklet_16754865983428_init_data = {
21
21
  code: "function ContentTsx1(){const{rotation}=this.__closure;const rotX=rotation.value.x*10;const rotY=rotation.value.y*10;return{transform:[{perspective:300},{rotateX:-rotY+\"deg\"},{rotateY:rotX+\"deg\"}]};}",
22
22
  location: "/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx",
23
- sourceMap: "{\"version\":3,\"names\":[\"ContentTsx1\",\"rotation\",\"__closure\",\"rotX\",\"value\",\"x\",\"rotY\",\"y\",\"transform\",\"perspective\",\"rotateX\",\"rotateY\"],\"sources\":[\"/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AA2IyC,SAAAA,WAAMA,CAAA,QAAAC,QAAA,OAAAC,SAAA,CAC3C,KAAM,CAAAC,IAAI,CAAGF,QAAQ,CAACG,KAAK,CAACC,CAAC,CAAG,EAAE,CAClC,KAAM,CAAAC,IAAI,CAAGL,QAAQ,CAACG,KAAK,CAACG,CAAC,CAAG,EAAE,CAElC,MAAO,CACLC,SAAS,CAAE,CACT,CAAEC,WAAW,CAAE,GAAI,CAAC,CACpB,CAAEC,OAAO,CAAK,CAACJ,IAAI,MAAM,CAAC,CAC1B,CAAEK,OAAO,CAAKR,IAAI,MAAM,EAG5B,CAAC,CACH\",\"ignoreList\":[]}"
23
+ sourceMap: "{\"version\":3,\"names\":[\"ContentTsx1\",\"rotation\",\"__closure\",\"rotX\",\"value\",\"x\",\"rotY\",\"y\",\"transform\",\"perspective\",\"rotateX\",\"rotateY\"],\"sources\":[\"/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AAgJyC,SAAAA,WAAMA,CAAA,QAAAC,QAAA,OAAAC,SAAA,CAC3C,KAAM,CAAAC,IAAI,CAAGF,QAAQ,CAACG,KAAK,CAACC,CAAC,CAAG,EAAE,CAClC,KAAM,CAAAC,IAAI,CAAGL,QAAQ,CAACG,KAAK,CAACG,CAAC,CAAG,EAAE,CAElC,MAAO,CACLC,SAAS,CAAE,CACT,CAAEC,WAAW,CAAE,GAAI,CAAC,CACpB,CAAEC,OAAO,CAAK,CAACJ,IAAI,MAAM,CAAC,CAC1B,CAAEK,OAAO,CAAKR,IAAI,MAAM,CAAC,CAE7B,CAAC,CACH\",\"ignoreList\":[]}"
24
24
  };
25
25
  const _worklet_5102323755153_init_data = {
26
26
  code: "function ContentTsx2(){const{useTouchControl,rotation,touchPosition,zeroV3d,gravitySensor,calibrated,calibSum,addV3d,calibCount,initialGravity,divV3d,subtractV3d,rotateV2d,degToRad,landscape,negateV2dY,scaleV2d,scaleV3d,clampV3d}=this.__closure;if(useTouchControl){rotation.value=touchPosition?{x:touchPosition.value.x,y:touchPosition.value.y,z:0}:zeroV3d;return;}const g=gravitySensor.sensor.value;const CALIBRATION_SAMPLES=40;const alpha=0.15;const scale=0.6;if(!calibrated.value){calibSum.value=addV3d(calibSum.value,g);if(++calibCount.value>=CALIBRATION_SAMPLES){initialGravity.value=divV3d(calibSum.value,calibCount.value);calibrated.value=true;}rotation.value=zeroV3d;return;}const init=initialGravity.value;const dg=subtractV3d(g,init);const m=rotateV2d(dg,degToRad(-90*Number(landscape.value)));const screen=negateV2dY(m);const smoothOffset={...scaleV2d(screen,alpha),z:dg.z*alpha};const smooth=scaleV3d(addV3d(scaleV3d(rotation.value,1-alpha),smoothOffset),scale);rotation.value=clampV3d(landscape.value?{x:smooth.y,y:-smooth.x,z:smooth.z}:smooth,-1,1);}",
27
27
  location: "/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx",
28
- sourceMap: "{\"version\":3,\"names\":[\"ContentTsx2\",\"useTouchControl\",\"rotation\",\"touchPosition\",\"zeroV3d\",\"gravitySensor\",\"calibrated\",\"calibSum\",\"addV3d\",\"calibCount\",\"initialGravity\",\"divV3d\",\"subtractV3d\",\"rotateV2d\",\"degToRad\",\"landscape\",\"negateV2dY\",\"scaleV2d\",\"scaleV3d\",\"clampV3d\",\"__closure\",\"value\",\"x\",\"y\",\"z\",\"g\",\"sensor\",\"CALIBRATION_SAMPLES\",\"alpha\",\"scale\",\"init\",\"dg\",\"m\",\"Number\",\"screen\",\"smoothOffset\",\"smooth\"],\"sources\":[\"/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AAkKkB,SAAAA,WAAMA,CAAA,QAAAC,eAAA,CAAAC,QAAA,CAAAC,aAAA,CAAAC,OAAA,CAAAC,aAAA,CAAAC,UAAA,CAAAC,QAAA,CAAAC,MAAA,CAAAC,UAAA,CAAAC,cAAA,CAAAC,MAAA,CAAAC,WAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,SAAA,CAAAC,UAAA,CAAAC,QAAA,CAAAC,QAAA,CAAAC,QAAA,OAAAC,SAAA,CAGpB,GAAInB,eAAe,CAAE,CACnBC,QAAQ,CAACmB,KAAK,CAAGlB,aAAa,CAC1B,CAAEmB,CAAC,CAAEnB,aAAa,CAACkB,KAAK,CAACC,CAAC,CAAEC,CAAC,CAAEpB,aAAa,CAACkB,KAAK,CAACE,CAAC,CAAEC,CAAC,CAAE,CAAE,CAAC,CAC5DpB,OAAO,CAEX,OACF,CAEA,KAAM,CAAAqB,CAAC,CAAGpB,aAAa,CAACqB,MAAM,CAACL,KAAK,CACpC,KAAM,CAAAM,mBAAmB,CAAG,EAAE,CAC9B,KAAM,CAAAC,KAAK,CAAG,IAAI,CAClB,KAAM,CAAAC,KAAK,CAAG,GAAG,CAEjB,GAAI,CAACvB,UAAU,CAACe,KAAK,CAAE,CAErBd,QAAQ,CAACc,KAAK,CAAGb,MAAM,CAACD,QAAQ,CAACc,KAAK,CAAEI,CAAC,CAAC,CAE1C,GAAI,EAAEhB,UAAU,CAACY,KAAK,EAAIM,mBAAmB,CAAE,CAC7CjB,cAAc,CAACW,KAAK,CAAGV,MAAM,CAACJ,QAAQ,CAACc,KAAK,CAAEZ,UAAU,CAACY,KAAK,CAAC,CAC/Df,UAAU,CAACe,KAAK,CAAG,IAAI,CACzB,CAEAnB,QAAQ,CAACmB,KAAK,CAAGjB,OAAO,CACxB,OACF,CAEA,KAAM,CAAA0B,IAAI,CAAGpB,cAAc,CAACW,KAAK,CACjC,KAAM,CAAAU,EAAE,CAAGnB,WAAW,CAACa,CAAC,CAAEK,IAAI,CAAC,CAG/B,KAAM,CAAAE,CAAC,CAAGnB,SAAS,CAACkB,EAAE,CAAEjB,QAAQ,CAAC,CAAC,EAAE,CAAGmB,MAAM,CAAClB,SAAS,CAACM,KAAK,CAAC,CAAC,CAAC,CAChE,KAAM,CAAAa,MAAM,CAAGlB,UAAU,CAACgB,CAAC,CAAC,CAC5B,KAAM,CAAAG,YAAY,CAAG,CAAE,GAAGlB,QAAQ,CAACiB,MAAM,CAAEN,KAAK,CAAC,CAAEJ,CAAC,CAAEO,EAAE,CAACP,CAAC,CAAGI,KAAM,CAAC,CACpE,KAAM,CAAAQ,MAAM,CAAGlB,QAAQ,CACrBV,MAAM,CAACU,QAAQ,CAAChB,QAAQ,CAACmB,KAAK,CAAE,CAAC,CAAGO,KAAK,CAAC,CAAEO,YAAY,CAAC,CACzDN,KACF,CAAC,CAED3B,QAAQ,CAACmB,KAAK,CAAGF,QAAQ,CACvBJ,SAAS,CAACM,KAAK,CACX,CACEC,CAAC,CAAEc,MAAM,CAACb,CAAC,CACXA,CAAC,CAAE,CAACa,MAAM,CAACd,CAAC,CACZE,CAAC,CAAEY,MAAM,CAACZ,CACZ,CAAC,CACDY,MAAM,CACV,CAAC,CAAC,CACF,CACF,CAAC,CACH\",\"ignoreList\":[]}"
28
+ sourceMap: "{\"version\":3,\"names\":[\"ContentTsx2\",\"useTouchControl\",\"rotation\",\"touchPosition\",\"zeroV3d\",\"gravitySensor\",\"calibrated\",\"calibSum\",\"addV3d\",\"calibCount\",\"initialGravity\",\"divV3d\",\"subtractV3d\",\"rotateV2d\",\"degToRad\",\"landscape\",\"negateV2dY\",\"scaleV2d\",\"scaleV3d\",\"clampV3d\",\"__closure\",\"value\",\"x\",\"y\",\"z\",\"g\",\"sensor\",\"CALIBRATION_SAMPLES\",\"alpha\",\"scale\",\"init\",\"dg\",\"m\",\"Number\",\"screen\",\"smoothOffset\",\"smooth\"],\"sources\":[\"/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AAsKkB,SAAAA,WAAMA,CAAA,QAAAC,eAAA,CAAAC,QAAA,CAAAC,aAAA,CAAAC,OAAA,CAAAC,aAAA,CAAAC,UAAA,CAAAC,QAAA,CAAAC,MAAA,CAAAC,UAAA,CAAAC,cAAA,CAAAC,MAAA,CAAAC,WAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,SAAA,CAAAC,UAAA,CAAAC,QAAA,CAAAC,QAAA,CAAAC,QAAA,OAAAC,SAAA,CAGpB,GAAInB,eAAe,CAAE,CACnBC,QAAQ,CAACmB,KAAK,CAAGlB,aAAa,CAC1B,CAAEmB,CAAC,CAAEnB,aAAa,CAACkB,KAAK,CAACC,CAAC,CAAEC,CAAC,CAAEpB,aAAa,CAACkB,KAAK,CAACE,CAAC,CAAEC,CAAC,CAAE,CAAE,CAAC,CAC5DpB,OAAO,CAEX,OACF,CAEA,KAAM,CAAAqB,CAAC,CAAGpB,aAAa,CAACqB,MAAM,CAACL,KAAK,CACpC,KAAM,CAAAM,mBAAmB,CAAG,EAAE,CAC9B,KAAM,CAAAC,KAAK,CAAG,IAAI,CAClB,KAAM,CAAAC,KAAK,CAAG,GAAG,CAEjB,GAAI,CAACvB,UAAU,CAACe,KAAK,CAAE,CAErBd,QAAQ,CAACc,KAAK,CAAGb,MAAM,CAACD,QAAQ,CAACc,KAAK,CAAEI,CAAC,CAAC,CAE1C,GAAI,EAAEhB,UAAU,CAACY,KAAK,EAAIM,mBAAmB,CAAE,CAC7CjB,cAAc,CAACW,KAAK,CAAGV,MAAM,CAACJ,QAAQ,CAACc,KAAK,CAAEZ,UAAU,CAACY,KAAK,CAAC,CAC/Df,UAAU,CAACe,KAAK,CAAG,IAAI,CACzB,CAEAnB,QAAQ,CAACmB,KAAK,CAAGjB,OAAO,CACxB,OACF,CAEA,KAAM,CAAA0B,IAAI,CAAGpB,cAAc,CAACW,KAAK,CACjC,KAAM,CAAAU,EAAE,CAAGnB,WAAW,CAACa,CAAC,CAAEK,IAAI,CAAC,CAG/B,KAAM,CAAAE,CAAC,CAAGnB,SAAS,CAACkB,EAAE,CAAEjB,QAAQ,CAAC,CAAC,EAAE,CAAGmB,MAAM,CAAClB,SAAS,CAACM,KAAK,CAAC,CAAC,CAAC,CAChE,KAAM,CAAAa,MAAM,CAAGlB,UAAU,CAACgB,CAAC,CAAC,CAC5B,KAAM,CAAAG,YAAY,CAAG,CAAE,GAAGlB,QAAQ,CAACiB,MAAM,CAAEN,KAAK,CAAC,CAAEJ,CAAC,CAAEO,EAAE,CAACP,CAAC,CAAGI,KAAM,CAAC,CACpE,KAAM,CAAAQ,MAAM,CAAGlB,QAAQ,CACrBV,MAAM,CAACU,QAAQ,CAAChB,QAAQ,CAACmB,KAAK,CAAE,CAAC,CAAGO,KAAK,CAAC,CAAEO,YAAY,CAAC,CACzDN,KACF,CAAC,CAED3B,QAAQ,CAACmB,KAAK,CAAGF,QAAQ,CACvBJ,SAAS,CAACM,KAAK,CACX,CACEC,CAAC,CAAEc,MAAM,CAACb,CAAC,CACXA,CAAC,CAAE,CAACa,MAAM,CAACd,CAAC,CACZE,CAAC,CAAEY,MAAM,CAACZ,CACZ,CAAC,CACDY,MAAM,CACV,CAAC,CAAC,CACF,CACF,CAAC,CACH\",\"ignoreList\":[]}"
29
29
  };
30
30
  export default function Content({
31
31
  addHolo,
32
32
  addReverseHolo,
33
- addTextureMask,
33
+ reverseHoloDetectionChannelOptions,
34
34
  colorMaskOptions,
35
35
  glareOptions,
36
36
  height,
@@ -39,7 +39,8 @@ export default function Content({
39
39
  root,
40
40
  touchPosition,
41
41
  useTouchControl,
42
- width
42
+ width,
43
+ translateViewIn3d = false
43
44
  }) {
44
45
  const {
45
46
  device
@@ -88,9 +89,7 @@ export default function Content({
88
89
  rotateX: `${-rotY}deg`
89
90
  }, {
90
91
  rotateY: `${rotX}deg`
91
- }
92
- // { rotateZ: `${rotX * 5}deg` },
93
- ]
92
+ }]
94
93
  };
95
94
  };
96
95
  ContentTsx1.__closure = {
@@ -262,11 +261,13 @@ export default function Content({
262
261
  baseColor: [-20, -20, -20]
263
262
  })));
264
263
  const colorMaskBindGroup = createColorMaskBindGroup(root, colorMaskBuffer);
264
+ const reverseHoloDetectionChannelFlagsBuffer = bufferMap.addBuffer(root, 'reverseHoloDetectionChannelFlags', createReverseHoloDetectionChannelFlags(reverseHoloDetectionChannelOptions));
265
+ const reverseHoloDetectionChannelFlagsBindGroup = createReverseHoloDetectionChannelFlagsBindGroup(root, reverseHoloDetectionChannelFlagsBuffer, glareBuffer);
265
266
  const pipelineMap = {
266
267
  glare: attachBindGroups(root['~unstable'].withVertex(mainVertex, {}).withFragment(newGlareFragment, getDefaultTarget(presentationFormat)).createPipeline(), [imageTextureBindGroup, rotationBindGroup, glareBindGroup, colorMaskBindGroup]),
267
268
  colorMask: attachBindGroups(root['~unstable'].withVertex(mainVertex, {}).withFragment(colorMaskFragment, getDefaultTarget(presentationFormat, blend)).createPipeline(), [imageTextureBindGroup, colorMaskBindGroup, rotationBindGroup]),
268
269
  mask: createMaskPipeline(root, maskTexture, [imageTextureBindGroup, rotationBindGroup], sampler, presentationFormat),
269
- reverseHolo: createReverseHoloPipeline(root, maskTexture, [imageTextureBindGroup, rotationBindGroup, glareBindGroup], sampler, presentationFormat),
270
+ reverseHolo: createReverseHoloPipeline(root, maskTexture, [imageTextureBindGroup, rotationBindGroup, reverseHoloDetectionChannelFlagsBindGroup], sampler, presentationFormat),
270
271
  holo: createHoloPipeline(root, imageTexture, [rotationBindGroup], sampler, presentationFormat)
271
272
  };
272
273
  const modifyBuffers = () => {
@@ -294,7 +295,7 @@ export default function Content({
294
295
  reverseHolo
295
296
  } = pipelineMap;
296
297
  const pairs = [[glare, initialAttachment]];
297
- if (addTextureMask && mask) pairs.push([mask, loadingAttachment]);
298
+ if (mask) pairs.push([mask, loadingAttachment]);
298
299
  if (addReverseHolo && reverseHolo) pairs.push([reverseHolo, loadingAttachment]);
299
300
  if (addHolo && holo) pairs.push([holo, loadingAttachment]);
300
301
  pairs.push([colorMask, loadingAttachment]);
@@ -306,23 +307,28 @@ export default function Content({
306
307
  renderPipelines();
307
308
  presentContext();
308
309
  };
309
- }, [device, context, root, presentationFormat, imageTexture, maskTexture, rotation, bufferMap, glareOptions, colorMaskOptions, addHolo, addReverseHolo, addTextureMask, pixelSize]);
310
+
311
+ // const res = tgpu.resolve({ externals: { reverseHoloFragment } });
312
+ // console.log('reverseHoloFragment resolve:', res);
313
+ }, [device, context, root, presentationFormat, imageTexture, maskTexture, rotation, bufferMap, glareOptions, colorMaskOptions, addHolo, addReverseHolo, reverseHoloDetectionChannelOptions, pixelSize]);
310
314
  useAnimationFrame(() => renderRef.current?.());
311
- return /*#__PURE__*/_jsx(Animated.View, {
312
- style: [animatedStyle],
313
- children: /*#__PURE__*/_jsx(View, {
314
- style: [
315
- // styles.container,
316
- // { width, height },
317
- ],
318
- children: /*#__PURE__*/_jsx(Canvas, {
319
- ref: ref,
320
- style: [{
321
- width,
322
- height
323
- }],
324
- transparent: Platform.OS === 'ios'
325
- // transparent={true}
315
+ return /*#__PURE__*/_jsx(View, {
316
+ style: {
317
+ transform: [{
318
+ matrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 50, 1]
319
+ }]
320
+ },
321
+ children: /*#__PURE__*/_jsx(Animated.View, {
322
+ style: [translateViewIn3d && animatedStyle],
323
+ children: /*#__PURE__*/_jsx(View, {
324
+ children: /*#__PURE__*/_jsx(Canvas, {
325
+ ref: ref,
326
+ style: [{
327
+ width,
328
+ height
329
+ }],
330
+ transparent: true
331
+ })
326
332
  })
327
333
  })
328
334
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","PixelRatio","Platform","View","Animated","SensorType","useAnimatedSensor","useAnimatedStyle","useDerivedValue","useSharedValue","Canvas","useGPUContext","d","bufferData","textureBindGroupLayout","useAnimationFrame","TypedBufferMap","createColorMaskBindGroup","createGlareBindGroup","createRotationValuesBindGroup","colorMaskFragment","newGlareFragment","attachBindGroups","blend","createMaskPipeline","createRainbowHoloPipeline","createHoloPipeline","createReverseHoloPipeline","getDefaultTarget","mainVertex","subscribeToOrientationChange","colorMaskToTyped","createColorMask","createGlareOptions","addV3d","clampV3d","componentsFromV3d","degToRad","divV3d","negateV2dY","rotateV2d","scaleV2d","scaleV3d","subtractV3d","transformV2d","zeroV3d","jsx","_jsx","_worklet_16754865983428_init_data","code","location","sourceMap","_worklet_5102323755153_init_data","Content","addHolo","addReverseHolo","addTextureMask","colorMaskOptions","glareOptions","height","imageTexture","maskTexture","root","touchPosition","useTouchControl","width","device","ref","context","presentationFormat","navigator","gpu","getPreferredCanvasFormat","renderRef","pixelRatio","get","size","x","y","pixelSize","v","Math","max","round","landscape","rotation","initialGravity","calibSum","calibCount","calibrated","gravitySensor","GRAVITY","interval","bufferMap","animatedStyle","ContentTsx1Factory","_e","global","Error","ContentTsx1","rotX","value","rotY","transform","perspective","rotateX","rotateY","__closure","__workletHash","__pluginVersion","__initData","__stackDetails","isLandscape","ContentTsx2Factory","ContentTsx2","z","g","sensor","CALIBRATION_SAMPLES","alpha","scale","init","dg","m","Number","screen","smoothOffset","smooth","canvasElement","canvas","configure","format","alphaMode","sampler","createSampler","magFilter","minFilter","mipmapFilter","imageTextureBindGroup","createBindGroup","texture","unwrap","createView","rotationBuffer","addBuffer","vec3f","rotationBindGroup","glareBuffer","glareBindGroup","colorMaskBuffer","baseColor","colorMaskBindGroup","pipelineMap","glare","withVertex","withFragment","createPipeline","colorMask","mask","reverseHolo","holo","modifyBuffers","write","renderPipelines","view","getCurrentTexture","initialAttachment","clearValue","loadOp","storeOp","loadingAttachment","pairs","push","forEach","pipeline","attachment","withColorAttachment","draw","presentContext","present","current","style","children","transparent","OS"],"sourceRoot":"../../../src","sources":["components/Content.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","PixelRatio","View","Animated","SensorType","useAnimatedSensor","useAnimatedStyle","useDerivedValue","useSharedValue","Canvas","useGPUContext","d","bufferData","textureBindGroupLayout","useAnimationFrame","TypedBufferMap","createColorMaskBindGroup","createGlareBindGroup","createReverseHoloDetectionChannelFlagsBindGroup","createRotationValuesBindGroup","colorMaskFragment","newGlareFragment","attachBindGroups","blend","createMaskPipeline","createRainbowHoloPipeline","createHoloPipeline","createReverseHoloPipeline","getDefaultTarget","mainVertex","subscribeToOrientationChange","colorMaskToTyped","createColorMask","createGlareOptions","createReverseHoloDetectionChannelFlags","addV3d","clampV3d","componentsFromV3d","degToRad","divV3d","negateV2dY","rotateV2d","scaleV2d","scaleV3d","subtractV3d","transformV2d","zeroV3d","jsx","_jsx","_worklet_16754865983428_init_data","code","location","sourceMap","_worklet_5102323755153_init_data","Content","addHolo","addReverseHolo","reverseHoloDetectionChannelOptions","colorMaskOptions","glareOptions","height","imageTexture","maskTexture","root","touchPosition","useTouchControl","width","translateViewIn3d","device","ref","context","presentationFormat","navigator","gpu","getPreferredCanvasFormat","renderRef","pixelRatio","get","size","x","y","pixelSize","v","Math","max","round","landscape","rotation","initialGravity","calibSum","calibCount","calibrated","gravitySensor","GRAVITY","interval","bufferMap","animatedStyle","ContentTsx1Factory","_e","global","Error","ContentTsx1","rotX","value","rotY","transform","perspective","rotateX","rotateY","__closure","__workletHash","__pluginVersion","__initData","__stackDetails","isLandscape","ContentTsx2Factory","ContentTsx2","z","g","sensor","CALIBRATION_SAMPLES","alpha","scale","init","dg","m","Number","screen","smoothOffset","smooth","canvasElement","canvas","configure","format","alphaMode","sampler","createSampler","magFilter","minFilter","mipmapFilter","imageTextureBindGroup","createBindGroup","texture","unwrap","createView","rotationBuffer","addBuffer","vec3f","rotationBindGroup","glareBuffer","glareBindGroup","colorMaskBuffer","baseColor","colorMaskBindGroup","reverseHoloDetectionChannelFlagsBuffer","reverseHoloDetectionChannelFlagsBindGroup","pipelineMap","glare","withVertex","withFragment","createPipeline","colorMask","mask","reverseHolo","holo","modifyBuffers","write","renderPipelines","view","getCurrentTexture","initialAttachment","clearValue","loadOp","storeOp","loadingAttachment","pairs","push","forEach","pipeline","attachment","withColorAttachment","draw","presentContext","present","current","style","matrix","children","transparent"],"sourceRoot":"../../../src","sources":["components/Content.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ export function ShineGroup({
14
14
  maskURI,
15
15
  touchPosition,
16
16
  useTouchControl = false,
17
- addTextureMask = false,
18
17
  addHolo = false,
19
18
  addReverseHolo = false
20
19
  }) {
@@ -72,7 +71,6 @@ export function ShineGroup({
72
71
  maskURI: maskURI,
73
72
  touchPosition: touchPosition,
74
73
  useTouchControl: useTouchControl,
75
- addTextureMask: addTextureMask,
76
74
  addReverseHolo: addReverseHolo,
77
75
  addHolo: addHolo
78
76
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","View","StyleSheet","PixelRatio","ViewShot","captureRef","sizeFromV2d","sizeToV2d","areV2dEqual","multiplyV2d","round2D","Shine","jsx","_jsx","jsxs","_jsxs","ShineGroup","children","glareOptions","colorMaskOptions","maskURI","touchPosition","useTouchControl","addTextureMask","addHolo","addReverseHolo","viewShotRef","capturedURI","setCapturedURI","size","setSize","onInnerLayout","e","layoutV2d","nativeEvent","layout","current","mounted","t","setTimeout","pixel","get","uri","format","quality","err","console","warn","clearTimeout","style","styles","container","ref","options","onLayout","inner","imageURI","create","display","flexDirection","gap"],"sourceRoot":"../../../src","sources":["components/ShineGroup.tsx"],"mappings":";;AAAA,SAAiCA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC3E,SACEC,IAAI,EACJC,UAAU,EAEVC,UAAU,QACL,cAAc;AACrB,OAAOC,QAAQ,IAAIC,UAAU,QAAQ,wBAAwB;AAE7D,SAASC,WAAW,EAAEC,SAAS,QAAQ,kBAAe;AACtD,SAASC,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,oBAAiB;AACnE,SAASC,KAAK,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAIjD,OAAO,SAASC,UAAUA,CAAC;EACzBC,QAAQ;EACRC,YAAY;EACZC,gBAAgB;EAChBC,OAAO;EACPC,aAAa;EACbC,eAAe,GAAG,KAAK;EACvBC,cAAc,GAAG,KAAK;EACtBC,OAAO,GAAG,KAAK;EACfC,cAAc,GAAG;AACF,CAAC,EAAE;EAClB,MAAMC,WAAW,GAAG3B,MAAM,CAAW,IAAI,CAAC;EAC1C,MAAM,CAAC4B,WAAW,EAAEC,cAAc,CAAC,GAAG5B,QAAQ,CAAgB,IAAI,CAAC;EACnE,MAAM,CAAC6B,IAAI,EAAEC,OAAO,CAAC,GAAG9B,QAAQ,CAAa,IAAI,CAAC;EAElD,MAAM+B,aAAa,GAAIC,CAAoB,IAAK;IAC9C,MAAMC,SAAS,GAAG1B,SAAS,CAACyB,CAAC,CAACE,WAAW,CAACC,MAAM,CAAC;IAEjD,IAAI,CAACN,IAAI,IAAI,CAACrB,WAAW,CAACqB,IAAI,EAAEI,SAAS,CAAC,EAAE;MAC1CH,OAAO,CAACG,SAAS,CAAC;IACpB;EACF,CAAC;;EAED;EACA;EACAnC,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4B,WAAW,CAACU,OAAO,IAAI,CAACP,IAAI,EAAE;IAEnC,IAAIQ,OAAO,GAAG,IAAI;IAClB,MAAMC,CAAC,GAAGC,UAAU,CAAC,YAAY;MAC/B,IAAI;QACF,MAAMC,KAAK,GAAG9B,OAAO,CAACD,WAAW,CAACoB,IAAI,EAAE1B,UAAU,CAACsC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1D,MAAMC,GAAG,GAAG,MAAMrC,UAAU,CAACqB,WAAW,EAAE;UACxCiB,MAAM,EAAE,KAAK;UACbC,OAAO,EAAE,CAAC;UACV,GAAGtC,WAAW,CAACkC,KAAK;QACtB,CAAC,CAAC;QACF,IAAIH,OAAO,EAAET,cAAc,CAACc,GAAG,CAAC;MAClC,CAAC,CAAC,OAAOG,GAAG,EAAE;QACZC,OAAO,CAACC,IAAI,CAAC,2BAA2B,EAAEF,GAAG,CAAC;MAChD;IACF,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO,MAAM;MACXR,OAAO,GAAG,KAAK;MACfW,YAAY,CAACV,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACT,IAAI,EAAEZ,QAAQ,CAAC,CAAC;EAEpB,oBACEF,KAAA,CAACd,IAAI;IAACgD,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAlC,QAAA,GAC3B,CAACU,WAAW,iBACXd,IAAA,CAACT,QAAQ;MAACgD,GAAG,EAAE1B,WAAY;MAAC2B,OAAO,EAAE;QAAEV,MAAM,EAAE,KAAK;QAAEC,OAAO,EAAE;MAAE,CAAE;MAAA3B,QAAA,eACjEJ,IAAA,CAACZ,IAAI;QAACqD,QAAQ,EAAEvB,aAAc;QAACkB,KAAK,EAAEC,MAAM,CAACK,KAAM;QAAAtC,QAAA,EAChDA;MAAQ,CACL;IAAC,CACC,CACX,EAEAU,WAAW,IAAIE,IAAI,iBAClBhB,IAAA,CAACF,KAAK;MAAA,GACAL,WAAW,CAACuB,IAAI,CAAC;MACrB2B,QAAQ,EAAE7B,WAAY;MACtBT,YAAY,EAAEA,YAAa;MAC3BC,gBAAgB,EAAEA,gBAAiB;MACnCC,OAAO,EAAEA,OAAQ;MACjBC,aAAa,EAAEA,aAAc;MAC7BC,eAAe,EAAEA,eAAgB;MACjCC,cAAc,EAAEA,cAAe;MAC/BE,cAAc,EAAEA,cAAe;MAC/BD,OAAO,EAAEA;IAAQ,CAClB,CACF;EAAA,CACG,CAAC;AAEX;AAEA,MAAM0B,MAAM,GAAGhD,UAAU,CAACuD,MAAM,CAAC;EAC/BN,SAAS,EAAE;IAAEO,OAAO,EAAE,MAAM;IAAEC,aAAa,EAAE,QAAQ;IAAEC,GAAG,EAAE;EAAG,CAAC;EAChEL,KAAK,EAAE,CAAC;AACV,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","View","StyleSheet","PixelRatio","ViewShot","captureRef","sizeFromV2d","sizeToV2d","areV2dEqual","multiplyV2d","round2D","Shine","jsx","_jsx","jsxs","_jsxs","ShineGroup","children","glareOptions","colorMaskOptions","maskURI","touchPosition","useTouchControl","addHolo","addReverseHolo","viewShotRef","capturedURI","setCapturedURI","size","setSize","onInnerLayout","e","layoutV2d","nativeEvent","layout","current","mounted","t","setTimeout","pixel","get","uri","format","quality","err","console","warn","clearTimeout","style","styles","container","ref","options","onLayout","inner","imageURI","create","display","flexDirection","gap"],"sourceRoot":"../../../src","sources":["components/ShineGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -54,6 +54,22 @@ export const colorMaskBindGroupLayout = (globalThis.__TYPEGPU_AUTONAME__ ?? (a =
54
54
  uniform: colorMaskSchema
55
55
  }
56
56
  }), "colorMaskBindGroupLayout");
57
+ export const reverseHoloDetectionChannelFlagsSchema = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(d.struct({
58
+ redChannel: d.align(16, d.f32),
59
+ greenChannel: d.f32,
60
+ blueChannel: d.f32,
61
+ hue: d.f32,
62
+ saturation: d.f32,
63
+ value: d.f32
64
+ }), "reverseHoloDetectionChannelFlagsSchema");
65
+ export const reverseHoloDetectionChannelFlagsBindGroupLayout = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu.bindGroupLayout({
66
+ channelFlags: {
67
+ uniform: reverseHoloDetectionChannelFlagsSchema
68
+ },
69
+ glareOptions: {
70
+ uniform: glareSchema
71
+ }
72
+ }), "reverseHoloDetectionChannelFlagsBindGroupLayout");
57
73
  export const bufferData = {
58
74
  rotation: {
59
75
  schema: d.vec3f,
@@ -66,6 +82,10 @@ export const bufferData = {
66
82
  colorMask: {
67
83
  schema: colorMaskSchema,
68
84
  usage: 'uniform'
85
+ },
86
+ reverseHoloDetectionChannelFlags: {
87
+ schema: reverseHoloDetectionChannelFlagsSchema,
88
+ usage: 'uniform'
69
89
  }
70
90
  };
71
91
 
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","textureBindGroupLayout","globalThis","__TYPEGPU_AUTONAME__","a","bindGroupLayout","texture","dimension","sampleType","sampler","maskTextureBindGroupLayout","rotationBindGroupLayout","vec","uniform","vec3f","glareSchema","struct","glowPower","f32","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","glareIntensity","glareBindGroupLayout","glareOptions","colorMaskSchema","baseColor","rgbToleranceRange","upper","lower","colorMaskBindGroupLayout","mask","bufferData","rotation","schema","usage","glare","colorMask"],"sourceRoot":"../../../src","sources":["shaders/bindGroupLayouts.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAqC,SAAS;AACzD,OAAO,KAAKC,CAAC,MAAM,cAAc;AAGjC,OAAO,MAAMC,sBAAsB,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAACM,eAAe,CAAC;EACzD;EACAC,OAAO,EAAE;IAAEA,OAAO,EAAE,OAAO;IAAEC,SAAS,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAQ,CAAC;EACnEC,OAAO,EAAE;IAAEA,OAAO,EAAE;EAAY;AAClC,CAAC,CAAC;AAEF,OAAO,MAAMC,0BAA0B,IAAAR,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAACM,eAAe,CAAC;EAC7D;EACAC,OAAO,EAAE;IAAEA,OAAO,EAAE,OAAO;IAAEC,SAAS,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAQ,CAAC;EACnEC,OAAO,EAAE;IAAEA,OAAO,EAAE;EAAY;AAClC,CAAC,CAAC;AAEF,OAAO,MAAME,uBAAuB,IAAAT,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAACM,eAAe,CAAC;EAC1DO,GAAG,EAAE;IAAEC,OAAO,EAAEb,CAAC,CAACc;EAAM;AAC1B,CAAC,CAAC;AAEF,OAAO,MAAMC,WAAW,IAAAb,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGJ,CAAC,CAACgB,MAAM,CAAC;EAClCC,SAAS,EAAEjB,CAAC,CAACkB,GAAG;EAChBC,gBAAgB,EAAEnB,CAAC,CAACkB,GAAG;EACvBE,gBAAgB,EAAEpB,CAAC,CAACkB,GAAG;EACvBG,aAAa,EAAErB,CAAC,CAACkB,GAAG;EACpBI,cAAc,EAAEtB,CAAC,CAACkB,GAAG;EACrBK,cAAc,EAAEvB,CAAC,CAACkB;AACpB,CAAC,CAAC;AAIF,OAAO,MAAMM,oBAAoB,IAAAtB,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAACM,eAAe,CAAC;EACvDoB,YAAY,EAAE;IAAEZ,OAAO,EAAEE;EAAY;AACvC,CAAC,CAAC;AAEF,OAAO,MAAMW,eAAe,IAAAxB,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGJ,CAAC,CAACgB,MAAM,CAAC;EACtCW,SAAS,EAAE3B,CAAC,CAACc,KAAK;EAClBc,iBAAiB,GAAA1B,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAEJ,CAAC,CAACgB,MAAM,CAAC;IAC1Ba,KAAK,EAAE7B,CAAC,CAACc,KAAK;IACdgB,KAAK,EAAE9B,CAAC,CAACc;EACX,CAAC,CAAC;AACJ,CAAC,CAAC;AAIF,OAAO,MAAMiB,wBAAwB,IAAA7B,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGL,IAAI,CAACM,eAAe,CAAC;EAC3D2B,IAAI,EAAE;IAAEnB,OAAO,EAAEa;EAAgB;AACnC,CAAC,CAAC;AAEF,OAAO,MAAMO,UAAU,GAAG;EACxBC,QAAQ,EAAE;IACRC,MAAM,EAAEnC,CAAC,CAACc,KAAK;IACfsB,KAAK,EAAE;EACT,CAAC;EACDC,KAAK,EAAE;IACLF,MAAM,EAAEpB,WAAW;IACnBqB,KAAK,EAAE;EACT,CAAC;EACDE,SAAS,EAAE;IACTH,MAAM,EAAET,eAAe;IACvBU,KAAK,EAAE;EACT;AACF,CAGC;;AAID;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","textureBindGroupLayout","globalThis","__TYPEGPU_AUTONAME__","a","bindGroupLayout","texture","dimension","sampleType","sampler","maskTextureBindGroupLayout","rotationBindGroupLayout","vec","uniform","vec3f","glareSchema","struct","glowPower","f32","hueShiftAngleMax","hueShiftAngleMin","hueBlendPower","lightIntensity","glareIntensity","glareBindGroupLayout","glareOptions","colorMaskSchema","baseColor","rgbToleranceRange","upper","lower","colorMaskBindGroupLayout","mask","reverseHoloDetectionChannelFlagsSchema","redChannel","align","greenChannel","blueChannel","hue","saturation","value","reverseHoloDetectionChannelFlagsBindGroupLayout","channelFlags","bufferData","rotation","schema","usage","glare","colorMask","reverseHoloDetectionChannelFlags"],"sourceRoot":"../../../src","sources":["shaders/bindGroupLayouts.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as d from 'typegpu/data';
4
- import { glareBindGroupLayout, glareSchema, colorMaskBindGroupLayout, rotationBindGroupLayout, colorMaskSchema } from "./bindGroupLayouts.js";
4
+ import { glareBindGroupLayout, glareSchema, colorMaskBindGroupLayout, rotationBindGroupLayout, colorMaskSchema, reverseHoloDetectionChannelFlagsBindGroupLayout } from "./bindGroupLayouts.js";
5
5
  import { colorMaskToTyped, createGlareOptions, createColorMask, mapToF32 } from "../types/typeUtils.js";
6
6
  import { componentsFromV3d, zeroV3d } from "../utils/vector.js";
7
7
  export const createRotationBuffer = (root, initValues = zeroV3d) => root.createBuffer(d.vec3f, d.vec3f(...componentsFromV3d(initValues))).$usage('uniform');
@@ -20,6 +20,10 @@ export const createColorMaskBuffer = (root, initValues) => root.createBuffer(col
20
20
  export const createColorMaskBindGroup = (root, buffer) => root.createBindGroup(colorMaskBindGroupLayout, {
21
21
  mask: buffer
22
22
  });
23
+ export const createReverseHoloDetectionChannelFlagsBindGroup = (root, detectionChannelBuffer, glareOptionsBuffer) => root.createBindGroup(reverseHoloDetectionChannelFlagsBindGroupLayout, {
24
+ channelFlags: detectionChannelBuffer,
25
+ glareOptions: glareOptionsBuffer
26
+ });
23
27
 
24
28
  // export const crateHoloBuffer = (
25
29
  // root: TgpuRoot,
@@ -1 +1 @@
1
- {"version":3,"names":["d","glareBindGroupLayout","glareSchema","colorMaskBindGroupLayout","rotationBindGroupLayout","colorMaskSchema","colorMaskToTyped","createGlareOptions","createColorMask","mapToF32","componentsFromV3d","zeroV3d","createRotationBuffer","root","initValues","createBuffer","vec3f","$usage","createRotationValuesBindGroup","buffer","createBindGroup","vec","unwrap","createGlareOptionsBuffer","createGlareBindGroup","glareOptions","createColorMaskBuffer","createColorMaskBindGroup","mask"],"sourceRoot":"../../../src","sources":["shaders/bindGroupUtils.ts"],"mappings":";;AACA,OAAO,KAAKA,CAAC,MAAM,cAAc;AACjC,SACEC,oBAAoB,EACpBC,WAAW,EACXC,wBAAwB,EAExBC,uBAAuB,EAEvBC,eAAe,QACV,uBAAoB;AAM3B,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,QAAQ,QACH,uBAAoB;AAC3B,SAASC,iBAAiB,EAAEC,OAAO,QAAQ,oBAAiB;AAE5D,OAAO,MAAMC,oBAAoB,GAAGA,CAACC,IAAc,EAAEC,UAAU,GAAGH,OAAO,KACvEE,IAAI,CACDE,YAAY,CAACf,CAAC,CAACgB,KAAK,EAAEhB,CAAC,CAACgB,KAAK,CAAC,GAAGN,iBAAiB,CAACI,UAAU,CAAC,CAAC,CAAC,CAChEG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMC,6BAA6B,GAAGA,CAC3CL,IAAc,EACdM,MAA2B,KAE3BN,IAAI,CAACO,eAAe,CAAChB,uBAAuB,EAAE;EAC5CiB,GAAG,EAAER,IAAI,CAACS,MAAM,CAACH,MAAM;AACzB,CAAC,CAAC;AAEJ,OAAO,MAAMI,wBAAwB,GAAGA,CACtCV,IAAc,EACdC,UAAkC,KAElCD,IAAI,CACDE,YAAY,CAACb,WAAW,EAAEO,QAAQ,CAACF,kBAAkB,CAAC;EAAE,GAAGO;AAAW,CAAC,CAAC,CAAC,CAAC,CAC1EG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMO,oBAAoB,GAAGA,CAClCX,IAAc,EACdM,MAA6C,KAE7CN,IAAI,CAACO,eAAe,CAACnB,oBAAoB,EAAE;EACzCwB,YAAY,EAAEN;AAChB,CAAC,CAAC;AAEJ,OAAO,MAAMO,qBAAqB,GAAGA,CACnCb,IAAc,EACdC,UAAqD,KAErDD,IAAI,CACDE,YAAY,CACXV,eAAe,EACfC,gBAAgB,CAACE,eAAe,CAAC;EAAE,GAAGM;AAAW,CAAC,CAAC,CACrD,CAAC,CACAG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMU,wBAAwB,GAAGA,CACtCd,IAAc,EACdM,MAAiD,KAEjDN,IAAI,CAACO,eAAe,CAACjB,wBAAwB,EAAE;EAC7CyB,IAAI,EAAET;AACR,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["d","glareBindGroupLayout","glareSchema","colorMaskBindGroupLayout","rotationBindGroupLayout","colorMaskSchema","reverseHoloDetectionChannelFlagsBindGroupLayout","colorMaskToTyped","createGlareOptions","createColorMask","mapToF32","componentsFromV3d","zeroV3d","createRotationBuffer","root","initValues","createBuffer","vec3f","$usage","createRotationValuesBindGroup","buffer","createBindGroup","vec","unwrap","createGlareOptionsBuffer","createGlareBindGroup","glareOptions","createColorMaskBuffer","createColorMaskBindGroup","mask","createReverseHoloDetectionChannelFlagsBindGroup","detectionChannelBuffer","glareOptionsBuffer","channelFlags"],"sourceRoot":"../../../src","sources":["shaders/bindGroupUtils.ts"],"mappings":";;AACA,OAAO,KAAKA,CAAC,MAAM,cAAc;AACjC,SACEC,oBAAoB,EACpBC,WAAW,EACXC,wBAAwB,EAExBC,uBAAuB,EAEvBC,eAAe,EAEfC,+CAA+C,QAC1C,uBAAoB;AAM3B,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,QAAQ,QACH,uBAAoB;AAC3B,SAASC,iBAAiB,EAAEC,OAAO,QAAQ,oBAAiB;AAE5D,OAAO,MAAMC,oBAAoB,GAAGA,CAACC,IAAc,EAAEC,UAAU,GAAGH,OAAO,KACvEE,IAAI,CACDE,YAAY,CAAChB,CAAC,CAACiB,KAAK,EAAEjB,CAAC,CAACiB,KAAK,CAAC,GAAGN,iBAAiB,CAACI,UAAU,CAAC,CAAC,CAAC,CAChEG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMC,6BAA6B,GAAGA,CAC3CL,IAAc,EACdM,MAA2B,KAE3BN,IAAI,CAACO,eAAe,CAACjB,uBAAuB,EAAE;EAC5CkB,GAAG,EAAER,IAAI,CAACS,MAAM,CAACH,MAAM;AACzB,CAAC,CAAC;AAEJ,OAAO,MAAMI,wBAAwB,GAAGA,CACtCV,IAAc,EACdC,UAAkC,KAElCD,IAAI,CACDE,YAAY,CAACd,WAAW,EAAEQ,QAAQ,CAACF,kBAAkB,CAAC;EAAE,GAAGO;AAAW,CAAC,CAAC,CAAC,CAAC,CAC1EG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMO,oBAAoB,GAAGA,CAClCX,IAAc,EACdM,MAA6C,KAE7CN,IAAI,CAACO,eAAe,CAACpB,oBAAoB,EAAE;EACzCyB,YAAY,EAAEN;AAChB,CAAC,CAAC;AAEJ,OAAO,MAAMO,qBAAqB,GAAGA,CACnCb,IAAc,EACdC,UAAqD,KAErDD,IAAI,CACDE,YAAY,CACXX,eAAe,EACfE,gBAAgB,CAACE,eAAe,CAAC;EAAE,GAAGM;AAAW,CAAC,CAAC,CACrD,CAAC,CACAG,MAAM,CAAC,SAAS,CAAC;AAEtB,OAAO,MAAMU,wBAAwB,GAAGA,CACtCd,IAAc,EACdM,MAAiD,KAEjDN,IAAI,CAACO,eAAe,CAAClB,wBAAwB,EAAE;EAC7C0B,IAAI,EAAET;AACR,CAAC,CAAC;AAEJ,OAAO,MAAMU,+CAA+C,GAAGA,CAC7DhB,IAAc,EACdiB,sBACa,EACbC,kBAAyD,KAEzDlB,IAAI,CAACO,eAAe,CAACf,+CAA+C,EAAE;EACpE2B,YAAY,EAAEF,sBAAsB;EACpCL,YAAY,EAAEM;AAChB,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","ignoreList":[]}
@@ -22,10 +22,10 @@ const colorMaskFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~u
22
22
  if (upperCheck && lowerCheck) {
23
23
  return d.vec4f(color.xyz, 0.0);
24
24
  }
25
- return d.vec4f(1.0);
25
+ return d.vec4f(color.xyz, color.w);
26
26
  }, {
27
27
  v: 1,
28
- ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"mask",[7,[7,"colorMaskBindGroupLayout","$"],"mask"]],[13,"maskedColor",[7,"mask","baseColor"]],[13,"rgbToleranceRange",[7,"mask","rgbToleranceRange"]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"maskedColorLower",[6,[7,"std","sub"],["maskedColor",[7,"rgbToleranceRange","lower"]]]],[13,"maskedColorUpper",[6,[7,"std","add"],["maskedColor",[7,"rgbToleranceRange","upper"]]]],[13,"upperCheck",[6,[7,"std","all"],[[6,[7,"std","le"],[[7,"color","xyz"],"maskedColorUpper"]]]]],[13,"lowerCheck",[6,[7,"std","all"],[[6,[7,"std","ge"],[[7,"color","xyz"],"maskedColorLower"]]]]],[11,[3,"upperCheck","&&","lowerCheck"],[0,[[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[5,"0"]]]]]]],[10,[6,[7,"d","vec4f"],[[5,"1"]]]]]],"externalNames":["d","colorMaskBindGroupLayout","std","textureBindGroupLayout"]},
28
+ ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"mask",[7,[7,"colorMaskBindGroupLayout","$"],"mask"]],[13,"maskedColor",[7,"mask","baseColor"]],[13,"rgbToleranceRange",[7,"mask","rgbToleranceRange"]],[12,"color",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"maskedColorLower",[6,[7,"std","sub"],["maskedColor",[7,"rgbToleranceRange","lower"]]]],[13,"maskedColorUpper",[6,[7,"std","add"],["maskedColor",[7,"rgbToleranceRange","upper"]]]],[13,"upperCheck",[6,[7,"std","all"],[[6,[7,"std","le"],[[7,"color","xyz"],"maskedColorUpper"]]]]],[13,"lowerCheck",[6,[7,"std","all"],[[6,[7,"std","ge"],[[7,"color","xyz"],"maskedColorLower"]]]]],[11,[3,"upperCheck","&&","lowerCheck"],[0,[[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[5,"0"]]]]]]],[10,[6,[7,"d","vec4f"],[[7,"color","xyz"],[7,"color","w"]]]]]],"externalNames":["d","colorMaskBindGroupLayout","std","textureBindGroupLayout"]},
29
29
  get externals() {
30
30
  return {
31
31
  d,
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","colorMaskBindGroupLayout","colorMaskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","maskedColor","baseColor","rgbToleranceRange","color","textureSample","texture","sampler","maskedColorLower","sub","lower","maskedColorUpper","add","upper","upperCheck","all","le","xyz","lowerCheck","ge","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[7,[7,\"colorMaskBindGroupLayout\",\"$\"],\"mask\"]],[13,\"maskedColor\",[7,\"mask\",\"baseColor\"]],[13,\"rgbToleranceRange\",[7,\"mask\",\"rgbToleranceRange\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"maskedColorLower\",[6,[7,\"std\",\"sub\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"lower\"]]]],[13,\"maskedColorUpper\",[6,[7,\"std\",\"add\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"upper\"]]]],[13,\"upperCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"le\"],[[7,\"color\",\"xyz\"],\"maskedColorUpper\"]]]]],[13,\"lowerCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"ge\"],[[7,\"color\",\"xyz\"],\"maskedColorLower\"]]]]],[11,[3,\"upperCheck\",\"&&\",\"lowerCheck\"],[0,[[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[5,\"0\"]]]]]]],[10,[6,[7,\"d\",\"vec4f\"],[[5,\"1\"]]]]]],\"externalNames\":[\"d\",\"colorMaskBindGroupLayout\",\"std\",\"textureBindGroupLayout\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/colorMaskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,wBAAwB,QACnB,wBAAqB;AAE5B,MAAMC,iBAAiB,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGR,IAAI,CAAC,WAAW,CAAC,CAACS,UAAU,CAAC;EACrDC,EAAE,EAAE;IAAEC,EAAE,EAAEV,CAAC,CAACW;EAAM,CAAC;EACnBC,GAAG,EAAEZ,CAAC,CAACa;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGpB,CAAC,CAACW,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGpB,wBAAwB,CAACW,CAAC,CAACS,IAAI;EAC5C,MAAMC,WAAW,GAAGD,IAAI,CAACE,SAAS;EAClC,MAAMC,iBAAiB,GAAGH,IAAI,CAACG,iBAAiB;EAEhD,IAAIC,KAAK,GAAG1B,GAAG,CAAC2B,aAAa,CAC3B1B,sBAAsB,CAACY,CAAC,CAACe,OAAO,EAChC3B,sBAAsB,CAACY,CAAC,CAACgB,OAAO,EAChCV,QACF,CAAC;EAED,MAAMW,gBAAgB,GAAG9B,GAAG,CAAC+B,GAAG,CAACR,WAAW,EAAEE,iBAAiB,CAACO,KAAK,CAAC;EACtE,MAAMC,gBAAgB,GAAGjC,GAAG,CAACkC,GAAG,CAACX,WAAW,EAAEE,iBAAiB,CAACU,KAAK,CAAC;EACtE,MAAMC,UAAU,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,EAAE,CAACZ,KAAK,CAACa,GAAG,EAAEN,gBAAgB,CAAC,CAAC;EAC/D,MAAMO,UAAU,GAAGxC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACyC,EAAE,CAACf,KAAK,CAACa,GAAG,EAAET,gBAAgB,CAAC,CAAC;EAC/D,IAAIM,UAAU,IAAII,UAAU,EAAE;IAC5B,OAAOzC,CAAC,CAACa,KAAK,CAACc,KAAK,CAACa,GAAG,EAAE,GAAG,CAAC;EAChC;EACA,OAAOxC,CAAC,CAACa,KAAK,CAAC,GAAG,CAAC;AACrB,CAAC;EAAA8B,CAAA;EAAAC,GAAA,EAAAC,iiCAAA;EAAA,IAAAC,UAAA;IAAA;MAAA9C,CAAA;MAAAG,wBAAA;MAAAF,GAAA;MAAAC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,4BAAC;AAEF,eAAed,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","textureBindGroupLayout","colorMaskBindGroupLayout","colorMaskFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","mask","maskedColor","baseColor","rgbToleranceRange","color","textureSample","texture","sampler","maskedColorLower","sub","lower","maskedColorUpper","add","upper","upperCheck","all","le","xyz","lowerCheck","ge","w","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"mask\",[7,[7,\"colorMaskBindGroupLayout\",\"$\"],\"mask\"]],[13,\"maskedColor\",[7,\"mask\",\"baseColor\"]],[13,\"rgbToleranceRange\",[7,\"mask\",\"rgbToleranceRange\"]],[12,\"color\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"maskedColorLower\",[6,[7,\"std\",\"sub\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"lower\"]]]],[13,\"maskedColorUpper\",[6,[7,\"std\",\"add\"],[\"maskedColor\",[7,\"rgbToleranceRange\",\"upper\"]]]],[13,\"upperCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"le\"],[[7,\"color\",\"xyz\"],\"maskedColorUpper\"]]]]],[13,\"lowerCheck\",[6,[7,\"std\",\"all\"],[[6,[7,\"std\",\"ge\"],[[7,\"color\",\"xyz\"],\"maskedColorLower\"]]]]],[11,[3,\"upperCheck\",\"&&\",\"lowerCheck\"],[0,[[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[5,\"0\"]]]]]]],[10,[6,[7,\"d\",\"vec4f\"],[[7,\"color\",\"xyz\"],[7,\"color\",\"w\"]]]]]],\"externalNames\":[\"d\",\"colorMaskBindGroupLayout\",\"std\",\"textureBindGroupLayout\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/colorMaskFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,sBAAsB,EACtBC,wBAAwB,QACnB,wBAAqB;AAE5B,MAAMC,iBAAiB,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGR,IAAI,CAAC,WAAW,CAAC,CAACS,UAAU,CAAC;EACrDC,EAAE,EAAE;IAAEC,EAAE,EAAEV,CAAC,CAACW;EAAM,CAAC;EACnBC,GAAG,EAAEZ,CAAC,CAACa;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGpB,CAAC,CAACW,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EAEtD,MAAMC,IAAI,GAAGpB,wBAAwB,CAACW,CAAC,CAACS,IAAI;EAC5C,MAAMC,WAAW,GAAGD,IAAI,CAACE,SAAS;EAClC,MAAMC,iBAAiB,GAAGH,IAAI,CAACG,iBAAiB;EAEhD,IAAIC,KAAK,GAAG1B,GAAG,CAAC2B,aAAa,CAC3B1B,sBAAsB,CAACY,CAAC,CAACe,OAAO,EAChC3B,sBAAsB,CAACY,CAAC,CAACgB,OAAO,EAChCV,QACF,CAAC;EAED,MAAMW,gBAAgB,GAAG9B,GAAG,CAAC+B,GAAG,CAACR,WAAW,EAAEE,iBAAiB,CAACO,KAAK,CAAC;EACtE,MAAMC,gBAAgB,GAAGjC,GAAG,CAACkC,GAAG,CAACX,WAAW,EAAEE,iBAAiB,CAACU,KAAK,CAAC;EACtE,MAAMC,UAAU,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,EAAE,CAACZ,KAAK,CAACa,GAAG,EAAEN,gBAAgB,CAAC,CAAC;EAC/D,MAAMO,UAAU,GAAGxC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACyC,EAAE,CAACf,KAAK,CAACa,GAAG,EAAET,gBAAgB,CAAC,CAAC;EAC/D,IAAIM,UAAU,IAAII,UAAU,EAAE;IAC5B,OAAOzC,CAAC,CAACa,KAAK,CAACc,KAAK,CAACa,GAAG,EAAE,GAAG,CAAC;EAChC;EACA,OAAOxC,CAAC,CAACa,KAAK,CAACc,KAAK,CAACa,GAAG,EAAEb,KAAK,CAACgB,CAAC,CAAC;AACpC,CAAC;EAAAC,CAAA;EAAAC,GAAA,EAAAC,2jCAAA;EAAA,IAAAC,UAAA;IAAA;MAAA/C,CAAA;MAAAG,wBAAA;MAAAF,GAAA;MAAAC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,4BAAC;AAEF,eAAed,iBAAiB","ignoreList":[]}
@@ -23,10 +23,10 @@ export const holoFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['
23
23
  const hueAngle = std.mul(std.abs(band), 10 * Math.PI * rot.x / 3);
24
24
  const rainbowColor = hueShift(d.vec3f(1.0, 1.0, 1.0), hueAngle);
25
25
  const finalColor = std.mul(rainbowColor, 1.0);
26
- return d.vec4f(finalColor, 0.7 * textureColor.w);
26
+ return d.vec4f(finalColor, 0.9 * textureColor.w);
27
27
  }, {
28
28
  v: 1,
29
- ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"textureColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"wave",[6,[7,"waveCallbackSlot","$"],[[7,"rot","xy"]]]],[13,"waveX",[7,"wave","x"]],[13,"waveY",[7,"wave","y"]],[13,"band",[6,[7,"std","add"],[[1,[1,[5,"0.2"],"*","waveX"],"*",[7,"uv","x"]],[1,[1,[5,"2"],"*","waveY"],"*",[7,"uv","y"]]]]],[13,"hueAngle",[6,[7,"std","mul"],[[6,[7,"std","abs"],["band"]],[1,[1,[1,[5,"10"],"*",[7,"Math","PI"]],"*",[7,"rot","x"]],"/",[5,"3"]]]]],[13,"rainbowColor",[6,"hueShift",[[6,[7,"d","vec3f"],[[5,"1"],[5,"1"],[5,"1"]]],"hueAngle"]]],[13,"finalColor",[6,[7,"std","mul"],["rainbowColor",[5,"1"]]]],[10,[6,[7,"d","vec4f"],["finalColor",[1,[5,"0.7"],"*",[7,"textureColor","w"]]]]]]],"externalNames":["d","std","textureBindGroupLayout","rotationBindGroupLayout","waveCallbackSlot","Math","hueShift"]},
29
+ ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"textureColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"wave",[6,[7,"waveCallbackSlot","$"],[[7,"rot","xy"]]]],[13,"waveX",[7,"wave","x"]],[13,"waveY",[7,"wave","y"]],[13,"band",[6,[7,"std","add"],[[1,[1,[5,"0.2"],"*","waveX"],"*",[7,"uv","x"]],[1,[1,[5,"2"],"*","waveY"],"*",[7,"uv","y"]]]]],[13,"hueAngle",[6,[7,"std","mul"],[[6,[7,"std","abs"],["band"]],[1,[1,[1,[5,"10"],"*",[7,"Math","PI"]],"*",[7,"rot","x"]],"/",[5,"3"]]]]],[13,"rainbowColor",[6,"hueShift",[[6,[7,"d","vec3f"],[[5,"1"],[5,"1"],[5,"1"]]],"hueAngle"]]],[13,"finalColor",[6,[7,"std","mul"],["rainbowColor",[5,"1"]]]],[10,[6,[7,"d","vec4f"],["finalColor",[1,[5,"0.9"],"*",[7,"textureColor","w"]]]]]]],"externalNames":["d","std","textureBindGroupLayout","rotationBindGroupLayout","waveCallbackSlot","Math","hueShift"]},
30
30
  get externals() {
31
31
  return {
32
32
  d,
@@ -1 +1 @@
1
- {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","hueShift","waveCallbackSlot","holoFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","textureColor","textureSample","texture","sampler","rot","vec","wave","xy","waveX","waveY","band","add","hueAngle","mul","abs","Math","PI","rainbowColor","vec3f","finalColor","w","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"textureColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"wave\",[6,[7,\"waveCallbackSlot\",\"$\"],[[7,\"rot\",\"xy\"]]]],[13,\"waveX\",[7,\"wave\",\"x\"]],[13,\"waveY\",[7,\"wave\",\"y\"]],[13,\"band\",[6,[7,\"std\",\"add\"],[[1,[1,[5,\"0.2\"],\"*\",\"waveX\"],\"*\",[7,\"uv\",\"x\"]],[1,[1,[5,\"2\"],\"*\",\"waveY\"],\"*\",[7,\"uv\",\"y\"]]]]],[13,\"hueAngle\",[6,[7,\"std\",\"mul\"],[[6,[7,\"std\",\"abs\"],[\"band\"]],[1,[1,[1,[5,\"10\"],\"*\",[7,\"Math\",\"PI\"]],\"*\",[7,\"rot\",\"x\"]],\"/\",[5,\"3\"]]]]],[13,\"rainbowColor\",[6,\"hueShift\",[[6,[7,\"d\",\"vec3f\"],[[5,\"1\"],[5,\"1\"],[5,\"1\"]]],\"hueAngle\"]]],[13,\"finalColor\",[6,[7,\"std\",\"mul\"],[\"rainbowColor\",[5,\"1\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"finalColor\",[1,[5,\"0.7\"],\"*\",[7,\"textureColor\",\"w\"]]]]]]],\"externalNames\":[\"d\",\"std\",\"textureBindGroupLayout\",\"rotationBindGroupLayout\",\"waveCallbackSlot\",\"Math\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/holoFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,uBAAuB,EACvBC,sBAAsB,QACjB,wBAAqB;AAC5B,SAASC,QAAQ,QAAQ,iBAAc;AACvC,SAASC,gBAAgB,QAAQ,6BAA0B;AAE3D,OAAO,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGV,IAAI,CAAC,WAAW,CAAC,CAACW,UAAU,CAAC;EACvDC,EAAE,EAAE;IAAEC,EAAE,EAAEZ,CAAC,CAACa;EAAM,CAAC;EACnBC,GAAG,EAAEd,CAAC,CAACe;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGtB,CAAC,CAACa,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EACtD,MAAMZ,EAAE,GAAGU,QAAQ;EACnB,MAAMG,YAAY,GAAGxB,GAAG,CAACyB,aAAa,CACpCvB,sBAAsB,CAACa,CAAC,CAACW,OAAO,EAChCxB,sBAAsB,CAACa,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EACD,MAAMO,GAAG,GAAG3B,uBAAuB,CAACc,CAAC,CAACc,GAAG;EAEzC,MAAMC,IAAI,GAAG1B,gBAAgB,CAACW,CAAC,CAACa,GAAG,CAACG,EAAE,CAAC;EACvC,MAAMC,KAAK,GAAGF,IAAI,CAACR,CAAC;EACpB,MAAMW,KAAK,GAAGH,IAAI,CAACP,CAAC;EAEpB,MAAMW,IAAI,GAAGlC,GAAG,CAACmC,GAAG,CAAC,GAAG,GAAGH,KAAK,GAAGrB,EAAE,CAACW,CAAC,EAAE,CAAC,GAAGW,KAAK,GAAGtB,EAAE,CAACY,CAAC,CAAC;EAE1D,MAAMa,QAAQ,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,GAAG,CAACJ,IAAI,CAAC,EAAG,EAAE,GAAGK,IAAI,CAACC,EAAE,GAAGZ,GAAG,CAACN,CAAC,GAAI,CAAC,CAAC;EACnE,MAAMmB,YAAY,GAAGtC,QAAQ,CAACJ,CAAC,CAAC2C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEN,QAAQ,CAAC;EAC/D,MAAMO,UAAU,GAAG3C,GAAG,CAACqC,GAAG,CAACI,YAAY,EAAE,GAAG,CAAC;EAE7C,OAAO1C,CAAC,CAACe,KAAK,CAAC6B,UAAU,EAAE,GAAG,GAAGnB,YAAY,CAACoB,CAAC,CAAC;AAClD,CAAC;EAAAC,CAAA;EAAAC,GAAA,EAAAC,omCAAA;EAAA,IAAAC,UAAA;IAAA;MAAAjD,CAAA;MAAAC,GAAA;MAAAE,sBAAA;MAAAD,uBAAA;MAAAG,gBAAA;MAAAmC,IAAA;MAAApC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC","ignoreList":[]}
1
+ {"version":3,"names":["tgpu","d","std","rotationBindGroupLayout","textureBindGroupLayout","hueShift","waveCallbackSlot","holoFragment","globalThis","__TYPEGPU_AUTONAME__","a","fragmentFn","in","uv","vec2f","out","vec4f","$","__TYPEGPU_META__","WeakMap","set","f","input","texcoord","x","y","textureColor","textureSample","texture","sampler","rot","vec","wave","xy","waveX","waveY","band","add","hueAngle","mul","abs","Math","PI","rainbowColor","vec3f","finalColor","w","v","ast","{\"params\":[{\"type\":\"i\",\"name\":\"input\"}],\"body\":[0,[[13,\"texcoord\",[6,[7,\"d\",\"vec2f\"],[[7,[7,\"input\",\"uv\"],\"x\"],[1,[5,\"1\"],\"-\",[7,[7,\"input\",\"uv\"],\"y\"]]]]],[13,\"uv\",\"texcoord\"],[13,\"textureColor\",[6,[7,\"std\",\"textureSample\"],[[7,[7,\"textureBindGroupLayout\",\"$\"],\"texture\"],[7,[7,\"textureBindGroupLayout\",\"$\"],\"sampler\"],\"texcoord\"]]],[13,\"rot\",[7,[7,\"rotationBindGroupLayout\",\"$\"],\"vec\"]],[13,\"wave\",[6,[7,\"waveCallbackSlot\",\"$\"],[[7,\"rot\",\"xy\"]]]],[13,\"waveX\",[7,\"wave\",\"x\"]],[13,\"waveY\",[7,\"wave\",\"y\"]],[13,\"band\",[6,[7,\"std\",\"add\"],[[1,[1,[5,\"0.2\"],\"*\",\"waveX\"],\"*\",[7,\"uv\",\"x\"]],[1,[1,[5,\"2\"],\"*\",\"waveY\"],\"*\",[7,\"uv\",\"y\"]]]]],[13,\"hueAngle\",[6,[7,\"std\",\"mul\"],[[6,[7,\"std\",\"abs\"],[\"band\"]],[1,[1,[1,[5,\"10\"],\"*\",[7,\"Math\",\"PI\"]],\"*\",[7,\"rot\",\"x\"]],\"/\",[5,\"3\"]]]]],[13,\"rainbowColor\",[6,\"hueShift\",[[6,[7,\"d\",\"vec3f\"],[[5,\"1\"],[5,\"1\"],[5,\"1\"]]],\"hueAngle\"]]],[13,\"finalColor\",[6,[7,\"std\",\"mul\"],[\"rainbowColor\",[5,\"1\"]]]],[10,[6,[7,\"d\",\"vec4f\"],[\"finalColor\",[1,[5,\"0.9\"],\"*\",[7,\"textureColor\",\"w\"]]]]]]],\"externalNames\":[\"d\",\"std\",\"textureBindGroupLayout\",\"rotationBindGroupLayout\",\"waveCallbackSlot\",\"Math\",\"hueShift\"]}","externals"],"sourceRoot":"../../../../src","sources":["shaders/fragmentShaders/holoFragment.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAO,KAAKC,CAAC,MAAM,cAAc;AACjC,OAAO,KAAKC,GAAG,MAAM,aAAa;AAClC,SACEC,uBAAuB,EACvBC,sBAAsB,QACjB,wBAAqB;AAC5B,SAASC,QAAQ,QAAQ,iBAAc;AACvC,SAASC,gBAAgB,QAAQ,6BAA0B;AAE3D,OAAO,MAAMC,YAAY,IAAAC,UAAA,CAAAC,oBAAA,KAAAC,CAAA,IAAAA,CAAA,GAAGV,IAAI,CAAC,WAAW,CAAC,CAACW,UAAU,CAAC;EACvDC,EAAE,EAAE;IAAEC,EAAE,EAAEZ,CAAC,CAACa;EAAM,CAAC;EACnBC,GAAG,EAAEd,CAAC,CAACe;AACT,CAAC,CAAC,EAAAC,CAAA,KAAAT,UAAA,CAAAU,gBAAA,SAAAC,OAAA,IAAAC,GAAA,CAAAH,CAAA,CAAAI,CAAA,GAAEC,KAAK,IAAK;EACZ,MAAMC,QAAQ,GAAGtB,CAAC,CAACa,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACW,CAAC,EAAE,GAAG,GAAGF,KAAK,CAACT,EAAE,CAACY,CAAC,CAAC;EACtD,MAAMZ,EAAE,GAAGU,QAAQ;EACnB,MAAMG,YAAY,GAAGxB,GAAG,CAACyB,aAAa,CACpCvB,sBAAsB,CAACa,CAAC,CAACW,OAAO,EAChCxB,sBAAsB,CAACa,CAAC,CAACY,OAAO,EAChCN,QACF,CAAC;EACD,MAAMO,GAAG,GAAG3B,uBAAuB,CAACc,CAAC,CAACc,GAAG;EAEzC,MAAMC,IAAI,GAAG1B,gBAAgB,CAACW,CAAC,CAACa,GAAG,CAACG,EAAE,CAAC;EACvC,MAAMC,KAAK,GAAGF,IAAI,CAACR,CAAC;EACpB,MAAMW,KAAK,GAAGH,IAAI,CAACP,CAAC;EAEpB,MAAMW,IAAI,GAAGlC,GAAG,CAACmC,GAAG,CAAC,GAAG,GAAGH,KAAK,GAAGrB,EAAE,CAACW,CAAC,EAAE,CAAC,GAAGW,KAAK,GAAGtB,EAAE,CAACY,CAAC,CAAC;EAE1D,MAAMa,QAAQ,GAAGpC,GAAG,CAACqC,GAAG,CAACrC,GAAG,CAACsC,GAAG,CAACJ,IAAI,CAAC,EAAG,EAAE,GAAGK,IAAI,CAACC,EAAE,GAAGZ,GAAG,CAACN,CAAC,GAAI,CAAC,CAAC;EACnE,MAAMmB,YAAY,GAAGtC,QAAQ,CAACJ,CAAC,CAAC2C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEN,QAAQ,CAAC;EAC/D,MAAMO,UAAU,GAAG3C,GAAG,CAACqC,GAAG,CAACI,YAAY,EAAE,GAAG,CAAC;EAE7C,OAAO1C,CAAC,CAACe,KAAK,CAAC6B,UAAU,EAAE,GAAG,GAAGnB,YAAY,CAACoB,CAAC,CAAC;AAClD,CAAC;EAAAC,CAAA;EAAAC,GAAA,EAAAC,omCAAA;EAAA,IAAAC,UAAA;IAAA;MAAAjD,CAAA;MAAAC,GAAA;MAAAE,sBAAA;MAAAD,uBAAA;MAAAG,gBAAA;MAAAmC,IAAA;MAAApC;IAAA;EAAA;AAAA,MAAAY,CAAA,CAAAI,CAAA,uBAAC","ignoreList":[]}
@@ -3,8 +3,8 @@
3
3
  import tgpu from 'typegpu';
4
4
  import * as d from 'typegpu/data';
5
5
  import * as std from 'typegpu/std';
6
- import { textureBindGroupLayout, maskTextureBindGroupLayout, rotationBindGroupLayout, glareBindGroupLayout } from "../bindGroupLayouts.js";
7
- import { hueShift } from "../tgpuUtils.js";
6
+ import { textureBindGroupLayout, maskTextureBindGroupLayout, rotationBindGroupLayout, reverseHoloDetectionChannelFlagsBindGroupLayout } from "../bindGroupLayouts.js";
7
+ import { hueShift, rgbToHSV } from "../tgpuUtils.js";
8
8
  export const reverseHoloFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~unstable'].fragmentFn({
9
9
  in: {
10
10
  uv: d.vec2f
@@ -17,13 +17,26 @@ export const reverseHoloFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))
17
17
  const rot = rotationBindGroupLayout.$.vec;
18
18
  const center = std.add(d.vec2f(0.0), d.vec2f(rot.x, rot.y)); // center from device orientation/touch
19
19
 
20
- const opts = glareBindGroupLayout.$.glareOptions;
20
+ // glare options---------------------------------
21
+ const opts = reverseHoloDetectionChannelFlagsBindGroupLayout.$.glareOptions;
21
22
  const glareIntensity = opts.glareIntensity;
22
23
  const glowPower = opts.glowPower;
23
24
  const hueBlendPower = opts.hueBlendPower;
24
25
  const hueShiftAngleMin = opts.hueShiftAngleMin;
25
26
  const hueShiftAngleMax = opts.hueShiftAngleMax;
26
27
  const lightIntensity = opts.lightIntensity;
28
+ //-----------------------------------------------
29
+
30
+ // detection channel flags-----------------------
31
+ const detectionChannelFlags = reverseHoloDetectionChannelFlagsBindGroupLayout.$.channelFlags;
32
+ const redChannelFlag = detectionChannelFlags.redChannel;
33
+ const greenChannelFlag = detectionChannelFlags.greenChannel;
34
+ const blueChannelFlag = detectionChannelFlags.blueChannel;
35
+ const hueFlag = detectionChannelFlags.hue;
36
+ const saturationFlag = detectionChannelFlags.saturation;
37
+ const valueFlag = detectionChannelFlags.value;
38
+ //------------------------------------------------
39
+
27
40
  const cardColor = std.textureSample(textureBindGroupLayout.$.texture, textureBindGroupLayout.$.sampler, texcoord);
28
41
  const holoMaskColor = std.textureSample(maskTextureBindGroupLayout.$.texture, maskTextureBindGroupLayout.$.sampler, texcoord);
29
42
  const dist = std.distance(centeredCoords, center);
@@ -32,7 +45,15 @@ export const reverseHoloFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))
32
45
  const influence = std.smoothstep(0.0, 1.0, scaledRadial);
33
46
  const curvePower = std.clamp(glowPower, 0.05, 64.0);
34
47
  const glowMask = std.pow(influence, std.div(1.0, curvePower));
35
- const holoFactor = (1.0 - holoMaskColor.x) * holoMaskColor.w * std.pow(scaledRadial, 1.5);
48
+ const holoMaskColorHSV = rgbToHSV(holoMaskColor.xyz);
49
+ const rgbSelection = d.vec3f(redChannelFlag, greenChannelFlag, blueChannelFlag);
50
+ const channelFactor = std.dot(holoMaskColor.xyz, rgbSelection);
51
+ const hsvSelection = d.vec3f(hueFlag, saturationFlag, valueFlag);
52
+ const channelFactorHSV = std.dot(holoMaskColorHSV.xyz, hsvSelection);
53
+ //TODO: delete this combination to have separate RGB and HSV controls,
54
+ // maybe add weights later or choice of combination method
55
+ const channelFactorCombined = std.mix(channelFactor, channelFactorHSV, 0.0);
56
+ const holoFactor = (1.0 - channelFactorCombined) * holoMaskColor.w * std.pow(scaledRadial, 1.5);
36
57
  const maskedGlow = std.mul(glowMask, holoFactor); // only affect masked areas
37
58
 
38
59
  const hueAmount = std.mix(hueShiftAngleMin, hueShiftAngleMax, std.clamp(maskedGlow, 0.0, 1.0));
@@ -44,15 +65,16 @@ export const reverseHoloFragment = (globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))
44
65
  return d.vec4f(shineLayer, 1 - maskedGlow);
45
66
  }, {
46
67
  v: 1,
47
- ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"centeredCoords",[6,[7,"std","sub"],[[6,[7,"std","mul"],["uv",[5,"2"]]],[5,"1"]]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"center",[6,[7,"std","add"],[[6,[7,"d","vec2f"],[[5,"0"]]],[6,[7,"d","vec2f"],[[7,"rot","x"],[7,"rot","y"]]]]]],[13,"opts",[7,[7,"glareBindGroupLayout","$"],"glareOptions"]],[13,"glareIntensity",[7,"opts","glareIntensity"]],[13,"glowPower",[7,"opts","glowPower"]],[13,"hueBlendPower",[7,"opts","hueBlendPower"]],[13,"hueShiftAngleMin",[7,"opts","hueShiftAngleMin"]],[13,"hueShiftAngleMax",[7,"opts","hueShiftAngleMax"]],[13,"lightIntensity",[7,"opts","lightIntensity"]],[13,"cardColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"holoMaskColor",[6,[7,"std","textureSample"],[[7,[7,"maskTextureBindGroupLayout","$"],"texture"],[7,[7,"maskTextureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"dist",[6,[7,"std","distance"],["centeredCoords","center"]]],[13,"rFalloff",[6,[7,"std","exp"],[[4,"-","dist"]]]],[13,"scaledRadial",[6,[7,"std","mul"],["rFalloff",[6,[7,"std","add"],[[5,"1"],[6,[7,"std","max"],[[5,"0"],"glareIntensity"]]]]]]],[13,"influence",[6,[7,"std","smoothstep"],[[5,"0"],[5,"1"],"scaledRadial"]]],[13,"curvePower",[6,[7,"std","clamp"],["glowPower",[5,"0.05"],[5,"64"]]]],[13,"glowMask",[6,[7,"std","pow"],["influence",[6,[7,"std","div"],[[5,"1"],"curvePower"]]]]],[13,"holoFactor",[1,[1,[1,[5,"1"],"-",[7,"holoMaskColor","x"]],"*",[7,"holoMaskColor","w"]],"*",[6,[7,"std","pow"],["scaledRadial",[5,"1.5"]]]]],[13,"maskedGlow",[6,[7,"std","mul"],["glowMask","holoFactor"]]],[13,"hueAmount",[6,[7,"std","mix"],["hueShiftAngleMin","hueShiftAngleMax",[6,[7,"std","clamp"],["maskedGlow",[5,"0"],[5,"1"]]]]]],[13,"sparkleHue",[6,"hueShift",[[7,"cardColor","xyz"],"hueAmount"]]],[13,"hueMixAmt",[6,[7,"std","clamp"],[[1,[1,"hueBlendPower","/",[5,"5"]],"*","maskedGlow"],[5,"0"],[5,"1"]]]],[13,"chromaMix",[6,[7,"std","mix"],[[7,"cardColor","xyz"],"sparkleHue","hueMixAmt"]]],[13,"shineStrength",[6,[7,"std","clamp"],["lightIntensity",[5,"1"],[5,"100"]]]],[13,"shineLayer",[6,[7,"std","mul"],["chromaMix",[1,[1,[5,"1.5"],"*","shineStrength"],"*","maskedGlow"]]]],[10,[6,[7,"d","vec4f"],["shineLayer",[1,[5,"1"],"-","maskedGlow"]]]]]],"externalNames":["d","std","rotationBindGroupLayout","glareBindGroupLayout","textureBindGroupLayout","maskTextureBindGroupLayout","hueShift"]},
68
+ ast: {"params":[{"type":"i","name":"input"}],"body":[0,[[13,"texcoord",[6,[7,"d","vec2f"],[[7,[7,"input","uv"],"x"],[1,[5,"1"],"-",[7,[7,"input","uv"],"y"]]]]],[13,"uv","texcoord"],[13,"centeredCoords",[6,[7,"std","sub"],[[6,[7,"std","mul"],["uv",[5,"2"]]],[5,"1"]]]],[13,"rot",[7,[7,"rotationBindGroupLayout","$"],"vec"]],[13,"center",[6,[7,"std","add"],[[6,[7,"d","vec2f"],[[5,"0"]]],[6,[7,"d","vec2f"],[[7,"rot","x"],[7,"rot","y"]]]]]],[13,"opts",[7,[7,"reverseHoloDetectionChannelFlagsBindGroupLayout","$"],"glareOptions"]],[13,"glareIntensity",[7,"opts","glareIntensity"]],[13,"glowPower",[7,"opts","glowPower"]],[13,"hueBlendPower",[7,"opts","hueBlendPower"]],[13,"hueShiftAngleMin",[7,"opts","hueShiftAngleMin"]],[13,"hueShiftAngleMax",[7,"opts","hueShiftAngleMax"]],[13,"lightIntensity",[7,"opts","lightIntensity"]],[13,"detectionChannelFlags",[7,[7,"reverseHoloDetectionChannelFlagsBindGroupLayout","$"],"channelFlags"]],[13,"redChannelFlag",[7,"detectionChannelFlags","redChannel"]],[13,"greenChannelFlag",[7,"detectionChannelFlags","greenChannel"]],[13,"blueChannelFlag",[7,"detectionChannelFlags","blueChannel"]],[13,"hueFlag",[7,"detectionChannelFlags","hue"]],[13,"saturationFlag",[7,"detectionChannelFlags","saturation"]],[13,"valueFlag",[7,"detectionChannelFlags","value"]],[13,"cardColor",[6,[7,"std","textureSample"],[[7,[7,"textureBindGroupLayout","$"],"texture"],[7,[7,"textureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"holoMaskColor",[6,[7,"std","textureSample"],[[7,[7,"maskTextureBindGroupLayout","$"],"texture"],[7,[7,"maskTextureBindGroupLayout","$"],"sampler"],"texcoord"]]],[13,"dist",[6,[7,"std","distance"],["centeredCoords","center"]]],[13,"rFalloff",[6,[7,"std","exp"],[[4,"-","dist"]]]],[13,"scaledRadial",[6,[7,"std","mul"],["rFalloff",[6,[7,"std","add"],[[5,"1"],[6,[7,"std","max"],[[5,"0"],"glareIntensity"]]]]]]],[13,"influence",[6,[7,"std","smoothstep"],[[5,"0"],[5,"1"],"scaledRadial"]]],[13,"curvePower",[6,[7,"std","clamp"],["glowPower",[5,"0.05"],[5,"64"]]]],[13,"glowMask",[6,[7,"std","pow"],["influence",[6,[7,"std","div"],[[5,"1"],"curvePower"]]]]],[13,"holoMaskColorHSV",[6,"rgbToHSV",[[7,"holoMaskColor","xyz"]]]],[13,"rgbSelection",[6,[7,"d","vec3f"],["redChannelFlag","greenChannelFlag","blueChannelFlag"]]],[13,"channelFactor",[6,[7,"std","dot"],[[7,"holoMaskColor","xyz"],"rgbSelection"]]],[13,"hsvSelection",[6,[7,"d","vec3f"],["hueFlag","saturationFlag","valueFlag"]]],[13,"channelFactorHSV",[6,[7,"std","dot"],[[7,"holoMaskColorHSV","xyz"],"hsvSelection"]]],[13,"channelFactorCombined",[6,[7,"std","mix"],["channelFactor","channelFactorHSV",[5,"0"]]]],[13,"holoFactor",[1,[1,[1,[5,"1"],"-","channelFactorCombined"],"*",[7,"holoMaskColor","w"]],"*",[6,[7,"std","pow"],["scaledRadial",[5,"1.5"]]]]],[13,"maskedGlow",[6,[7,"std","mul"],["glowMask","holoFactor"]]],[13,"hueAmount",[6,[7,"std","mix"],["hueShiftAngleMin","hueShiftAngleMax",[6,[7,"std","clamp"],["maskedGlow",[5,"0"],[5,"1"]]]]]],[13,"sparkleHue",[6,"hueShift",[[7,"cardColor","xyz"],"hueAmount"]]],[13,"hueMixAmt",[6,[7,"std","clamp"],[[1,[1,"hueBlendPower","/",[5,"5"]],"*","maskedGlow"],[5,"0"],[5,"1"]]]],[13,"chromaMix",[6,[7,"std","mix"],[[7,"cardColor","xyz"],"sparkleHue","hueMixAmt"]]],[13,"shineStrength",[6,[7,"std","clamp"],["lightIntensity",[5,"1"],[5,"100"]]]],[13,"shineLayer",[6,[7,"std","mul"],["chromaMix",[1,[1,[5,"1.5"],"*","shineStrength"],"*","maskedGlow"]]]],[10,[6,[7,"d","vec4f"],["shineLayer",[1,[5,"1"],"-","maskedGlow"]]]]]],"externalNames":["d","std","rotationBindGroupLayout","reverseHoloDetectionChannelFlagsBindGroupLayout","textureBindGroupLayout","maskTextureBindGroupLayout","rgbToHSV","hueShift"]},
48
69
  get externals() {
49
70
  return {
50
71
  d,
51
72
  std,
52
73
  rotationBindGroupLayout,
53
- glareBindGroupLayout,
74
+ reverseHoloDetectionChannelFlagsBindGroupLayout,
54
75
  textureBindGroupLayout,
55
76
  maskTextureBindGroupLayout,
77
+ rgbToHSV,
56
78
  hueShift
57
79
  };
58
80
  }