react-native-shine 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/lib/module/components/Content.js +112 -145
  2. package/lib/module/components/Content.js.map +1 -1
  3. package/lib/module/components/Shine.js +14 -5
  4. package/lib/module/components/Shine.js.map +1 -1
  5. package/lib/module/components/ShineGroup.js +0 -4
  6. package/lib/module/components/ShineGroup.js.map +1 -1
  7. package/lib/module/enums/colorPresets.js +192 -0
  8. package/lib/module/enums/colorPresets.js.map +1 -1
  9. package/lib/module/enums/effectDefaults.js +59 -0
  10. package/lib/module/enums/effectDefaults.js.map +1 -0
  11. package/lib/module/enums/effectPresets.js +67 -10
  12. package/lib/module/enums/effectPresets.js.map +1 -1
  13. package/lib/module/shaders/bindGroupLayouts.js +47 -29
  14. package/lib/module/shaders/bindGroupLayouts.js.map +1 -1
  15. package/lib/module/shaders/bindGroupUtils.js +30 -44
  16. package/lib/module/shaders/bindGroupUtils.js.map +1 -1
  17. package/lib/module/shaders/colorConversions.js +78 -0
  18. package/lib/module/shaders/colorConversions.js.map +1 -0
  19. package/lib/module/shaders/computeShaders/precomputeColorMask.js +5 -5
  20. package/lib/module/shaders/computeShaders/precomputeColorMask.js.map +1 -1
  21. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js +4 -9
  22. package/lib/module/shaders/fragmentShaders/baseTextureFragment.js.map +1 -1
  23. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js +28 -41
  24. package/lib/module/shaders/fragmentShaders/colorMaskFragment.js.map +1 -1
  25. package/lib/module/shaders/fragmentShaders/glareFlareFragment.js +84 -0
  26. package/lib/module/shaders/fragmentShaders/glareFlareFragment.js.map +1 -0
  27. package/lib/module/shaders/fragmentShaders/glareFragment.js +8 -88
  28. package/lib/module/shaders/fragmentShaders/glareFragment.js.map +1 -1
  29. package/lib/module/shaders/fragmentShaders/holoFragment.js +120 -11
  30. package/lib/module/shaders/fragmentShaders/holoFragment.js.map +1 -1
  31. package/lib/module/shaders/fragmentShaders/maskFragment.js +5 -4
  32. package/lib/module/shaders/fragmentShaders/maskFragment.js.map +1 -1
  33. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js +7 -7
  34. package/lib/module/shaders/fragmentShaders/reverseHoloFragment.js.map +1 -1
  35. package/lib/module/shaders/pipelineSetups.js +2 -61
  36. package/lib/module/shaders/pipelineSetups.js.map +1 -1
  37. package/lib/module/shaders/resourceManagement/buffersMap.js +41 -0
  38. package/lib/module/shaders/resourceManagement/buffersMap.js.map +1 -0
  39. package/lib/module/shaders/resourceManagement/pipelineMap.js +115 -0
  40. package/lib/module/shaders/resourceManagement/pipelineMap.js.map +1 -0
  41. package/lib/module/shaders/resourceManagement/textures.js +2 -2
  42. package/lib/module/shaders/resourceManagement/textures.js.map +1 -1
  43. package/lib/module/shaders/tgpuUtils.js +41 -0
  44. package/lib/module/shaders/tgpuUtils.js.map +1 -1
  45. package/lib/module/shaders/utils.js +21 -2
  46. package/lib/module/shaders/utils.js.map +1 -1
  47. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js +4 -4
  48. package/lib/module/shaders/vertexShaders/mainRotationEffectVertex.js.map +1 -1
  49. package/lib/module/types/typeUtils.js +26 -155
  50. package/lib/module/types/typeUtils.js.map +1 -1
  51. package/lib/module/types/types.js +8 -1
  52. package/lib/module/types/types.js.map +1 -1
  53. package/lib/module/utils/size.js +4 -4
  54. package/lib/module/utils/vector.js +38 -38
  55. package/lib/typescript/src/components/Content.d.ts +6 -6
  56. package/lib/typescript/src/components/Content.d.ts.map +1 -1
  57. package/lib/typescript/src/components/Shine.d.ts.map +1 -1
  58. package/lib/typescript/src/components/ShineGroup.d.ts +1 -1
  59. package/lib/typescript/src/components/ShineGroup.d.ts.map +1 -1
  60. package/lib/typescript/src/enums/colorPresets.d.ts +152 -0
  61. package/lib/typescript/src/enums/colorPresets.d.ts.map +1 -1
  62. package/lib/typescript/src/enums/effectDefaults.d.ts +39 -0
  63. package/lib/typescript/src/enums/effectDefaults.d.ts.map +1 -0
  64. package/lib/typescript/src/enums/effectPresets.d.ts +284 -5
  65. package/lib/typescript/src/enums/effectPresets.d.ts.map +1 -1
  66. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts +77 -41
  67. package/lib/typescript/src/shaders/bindGroupLayouts.d.ts.map +1 -1
  68. package/lib/typescript/src/shaders/bindGroupUtils.d.ts +86 -70
  69. package/lib/typescript/src/shaders/bindGroupUtils.d.ts.map +1 -1
  70. package/lib/typescript/src/shaders/colorConversions.d.ts +4 -0
  71. package/lib/typescript/src/shaders/colorConversions.d.ts.map +1 -0
  72. package/lib/typescript/src/shaders/fragmentShaders/baseTextureFragment.d.ts.map +1 -1
  73. package/lib/typescript/src/shaders/fragmentShaders/colorMaskFragment.d.ts.map +1 -1
  74. package/lib/typescript/src/shaders/fragmentShaders/glareFlareFragment.d.ts +5 -0
  75. package/lib/typescript/src/shaders/fragmentShaders/glareFlareFragment.d.ts.map +1 -0
  76. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts +0 -3
  77. package/lib/typescript/src/shaders/fragmentShaders/glareFragment.d.ts.map +1 -1
  78. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts +7 -0
  79. package/lib/typescript/src/shaders/fragmentShaders/holoFragment.d.ts.map +1 -1
  80. package/lib/typescript/src/shaders/fragmentShaders/maskFragment.d.ts.map +1 -1
  81. package/lib/typescript/src/shaders/fragmentShaders/reverseHoloFragment.d.ts.map +1 -1
  82. package/lib/typescript/src/shaders/pipelineSetups.d.ts +0 -6
  83. package/lib/typescript/src/shaders/pipelineSetups.d.ts.map +1 -1
  84. package/lib/typescript/src/shaders/resourceManagement/buffersMap.d.ts +10 -0
  85. package/lib/typescript/src/shaders/resourceManagement/buffersMap.d.ts.map +1 -0
  86. package/lib/typescript/src/shaders/resourceManagement/pipelineMap.d.ts +24 -0
  87. package/lib/typescript/src/shaders/resourceManagement/pipelineMap.d.ts.map +1 -0
  88. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts +0 -1
  89. package/lib/typescript/src/shaders/resourceManagement/textures.d.ts.map +1 -1
  90. package/lib/typescript/src/shaders/tgpuUtils.d.ts +3 -0
  91. package/lib/typescript/src/shaders/tgpuUtils.d.ts.map +1 -1
  92. package/lib/typescript/src/shaders/utils.d.ts +1 -0
  93. package/lib/typescript/src/shaders/utils.d.ts.map +1 -1
  94. package/lib/typescript/src/types/typeUtils.d.ts +8 -47
  95. package/lib/typescript/src/types/typeUtils.d.ts.map +1 -1
  96. package/lib/typescript/src/types/types.d.ts +59 -54
  97. package/lib/typescript/src/types/types.d.ts.map +1 -1
  98. package/package.json +1 -1
  99. package/src/components/Content.tsx +126 -296
  100. package/src/components/Shine.tsx +22 -5
  101. package/src/components/ShineGroup.tsx +0 -4
  102. package/src/enums/colorPresets.ts +59 -1
  103. package/src/enums/effectDefaults.ts +57 -0
  104. package/src/enums/effectPresets.ts +142 -9
  105. package/src/shaders/bindGroupLayouts.ts +57 -28
  106. package/src/shaders/bindGroupUtils.ts +66 -69
  107. package/src/shaders/colorConversions.ts +88 -0
  108. package/src/shaders/computeShaders/precomputeColorMask.ts +4 -4
  109. package/src/shaders/fragmentShaders/baseTextureFragment.ts +2 -10
  110. package/src/shaders/fragmentShaders/colorMaskFragment.ts +34 -55
  111. package/src/shaders/fragmentShaders/glareFlareFragment.ts +79 -0
  112. package/src/shaders/fragmentShaders/glareFragment.ts +9 -84
  113. package/src/shaders/fragmentShaders/holoFragment.ts +139 -11
  114. package/src/shaders/fragmentShaders/maskFragment.ts +3 -9
  115. package/src/shaders/fragmentShaders/reverseHoloFragment.ts +4 -9
  116. package/src/shaders/pipelineSetups.ts +2 -120
  117. package/src/shaders/resourceManagement/buffersMap.ts +80 -0
  118. package/src/shaders/resourceManagement/pipelineMap.ts +169 -0
  119. package/src/shaders/resourceManagement/textures.ts +2 -2
  120. package/src/shaders/tgpuUtils.ts +29 -0
  121. package/src/shaders/utils.ts +29 -0
  122. package/src/shaders/vertexShaders/mainRotationEffectVertex.ts +2 -2
  123. package/src/types/typeUtils.ts +39 -159
  124. package/src/types/types.ts +111 -60
@@ -1,45 +1,44 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useMemo, useRef, useState } from 'react';
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { PixelRatio, View } from 'react-native';
5
5
  import Animated, { SensorType, useAnimatedSensor, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
6
6
  import { Canvas } from 'react-native-wgpu';
7
7
  import * as d from 'typegpu/data';
8
- import { bufferData,
9
- // precomputeColorMaskBindGroupLayout,
10
- textureBindGroupLayout } from "../shaders/bindGroupLayouts.js";
8
+ import { scheduleOnUI } from 'react-native-worklets';
9
+ import { colorMaskArraySchema, precomputeColorMaskBindGroupLayout, precomputeColorMaskOutputBindGroupLayout, rotationSchema } from "../shaders/bindGroupLayouts.js";
11
10
  import useAnimationFrame from "../hooks/useAnimationFrame.js";
12
- import { TypedBufferMap } from "../shaders/resourceManagement/bufferManager.js";
13
- import { createColorMaskBindGroup, createGlareBindGroup, createReverseHoloDetectionChannelFlagsBindGroup, createRotationValuesBindGroup } from "../shaders/bindGroupUtils.js";
14
- import colorMaskFragment from "../shaders/fragmentShaders/colorMaskFragment.js";
15
- import { newGlareFragment } from "../shaders/fragmentShaders/glareFragment.js";
16
- import { attachBindGroups, blend, createMaskPipeline, createRainbowHoloPipeline as createHoloPipeline, createReverseHoloPipeline, getDefaultTarget } from "../shaders/pipelineSetups.js";
17
- import mainVertex from "../shaders/vertexShaders/mainVertex.js";
18
11
  import { subscribeToOrientationChange } from "../shaders/utils.js";
19
- import { colorMasksToTyped, createColorMasks, createGlareOptions, createReverseHoloDetectionChannelFlags } from "../types/typeUtils.js";
20
12
  import { addV3d, clampV3d, componentsFromV3d, degToRad, divV3d, negateV2dY, rotateV2d, scaleV2d, scaleV3d, subtractV3d, transformV2d, zeroV3d } from "../utils/vector.js";
21
13
  import { baseTextureFragment } from "../shaders/fragmentShaders/baseTextureFragment.js";
22
- // import { precomputeColorMask } from '../shaders/computeShaders/precomputeColorMask';
14
+ import { PipelineManager } from "../shaders/resourceManagement/pipelineMap.js";
15
+ import { blend } from "../enums/effectPresets.js";
16
+ import { createColorMasks } from "../types/typeUtils.js";
17
+ import { createColorMaskBindGroup } from "../shaders/bindGroupUtils.js";
18
+ import colorMaskFragment from "../shaders/fragmentShaders/colorMaskFragment.js";
19
+ import { precomputeColorMask } from "../shaders/computeShaders/precomputeColorMask.js";
23
20
  import { jsx as _jsx } from "react/jsx-runtime";
24
21
  const _worklet_3316150849446_init_data = {
25
22
  code: "function ContentTsx1(){const{translateViewIn3d,rotation}=this.__closure;let perspective=300;let intensity=10;if(typeof translateViewIn3d==='object'){var _translateViewIn3d$pe,_translateViewIn3d$in;perspective=(_translateViewIn3d$pe=translateViewIn3d.perspective)!==null&&_translateViewIn3d$pe!==void 0?_translateViewIn3d$pe:perspective;intensity=(_translateViewIn3d$in=translateViewIn3d.intensity)!==null&&_translateViewIn3d$in!==void 0?_translateViewIn3d$in:intensity;}const rotX=rotation.value.x*intensity;const rotY=rotation.value.y*intensity;return{transform:[{perspective:perspective},{rotateX:-rotY+\"deg\"},{rotateY:rotX+\"deg\"}]};}",
26
- location: "/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx",
27
- sourceMap: "{\"version\":3,\"names\":[\"ContentTsx1\",\"translateViewIn3d\",\"rotation\",\"__closure\",\"perspective\",\"intensity\",\"_translateViewIn3d$pe\",\"_translateViewIn3d$in\",\"rotX\",\"value\",\"x\",\"rotY\",\"y\",\"transform\",\"rotateX\",\"rotateY\"],\"sources\":[\"/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AA6KyC,SAAAA,WAAMA,CAAA,QAAAC,iBAAA,CAAAC,QAAA,OAAAC,SAAA,CAC3C,GAAI,CAAAC,WAAmB,CAAG,GAAG,CAC7B,GAAI,CAAAC,SAAiB,CAAG,EAAE,CAC1B,GAAI,MAAO,CAAAJ,iBAAiB,GAAK,QAAQ,CAAE,KAAAK,qBAAA,CAAAC,qBAAA,CACzCH,WAAW,EAAAE,qBAAA,CAAGL,iBAAiB,CAACG,WAAW,UAAAE,qBAAA,UAAAA,qBAAA,CAAIF,WAAW,CAC1DC,SAAS,EAAAE,qBAAA,CAAGN,iBAAiB,CAACI,SAAS,UAAAE,qBAAA,UAAAA,qBAAA,CAAIF,SAAS,CACtD,CAEA,KAAM,CAAAG,IAAI,CAAGN,QAAQ,CAACO,KAAK,CAACC,CAAC,CAAGL,SAAS,CACzC,KAAM,CAAAM,IAAI,CAAGT,QAAQ,CAACO,KAAK,CAACG,CAAC,CAAGP,SAAS,CAEzC,MAAO,CACLQ,SAAS,CAAE,CACT,CAAET,WAAW,CAAEA,WAAY,CAAC,CAC5B,CAAEU,OAAO,CAAK,CAACH,IAAI,MAAM,CAAC,CAC1B,CAAEI,OAAO,CAAKP,IAAI,MAAM,CAAC,CAE7B,CAAC,CACH\",\"ignoreList\":[]}"
23
+ location: "/Users/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx",
24
+ sourceMap: "{\"version\":3,\"names\":[\"ContentTsx1\",\"translateViewIn3d\",\"rotation\",\"__closure\",\"perspective\",\"intensity\",\"_translateViewIn3d$pe\",\"_translateViewIn3d$in\",\"rotX\",\"value\",\"x\",\"rotY\",\"y\",\"transform\",\"rotateX\",\"rotateY\"],\"sources\":[\"/Users/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AA2HyC,SAAAA,WAAMA,CAAA,QAAAC,iBAAA,CAAAC,QAAA,OAAAC,SAAA,CAC3C,GAAI,CAAAC,WAAmB,CAAG,GAAG,CAC7B,GAAI,CAAAC,SAAiB,CAAG,EAAE,CAC1B,GAAI,MAAO,CAAAJ,iBAAiB,GAAK,QAAQ,CAAE,KAAAK,qBAAA,CAAAC,qBAAA,CACzCH,WAAW,EAAAE,qBAAA,CAAGL,iBAAiB,CAACG,WAAW,UAAAE,qBAAA,UAAAA,qBAAA,CAAIF,WAAW,CAC1DC,SAAS,EAAAE,qBAAA,CAAGN,iBAAiB,CAACI,SAAS,UAAAE,qBAAA,UAAAA,qBAAA,CAAIF,SAAS,CACtD,CAEA,KAAM,CAAAG,IAAI,CAAGN,QAAQ,CAACO,KAAK,CAACC,CAAC,CAAGL,SAAS,CACzC,KAAM,CAAAM,IAAI,CAAGT,QAAQ,CAACO,KAAK,CAACG,CAAC,CAAGP,SAAS,CAEzC,MAAO,CACLQ,SAAS,CAAE,CACT,CAAET,WAAW,CAAEA,WAAY,CAAC,CAC5B,CAAEU,OAAO,CAAK,CAACH,IAAI,MAAM,CAAC,CAC1B,CAAEI,OAAO,CAAKP,IAAI,MAAM,CAAC,CAE7B,CAAC,CACH\",\"ignoreList\":[]}"
28
25
  };
29
26
  const _worklet_566509437402_init_data = {
30
27
  code: "function ContentTsx2(){const{lightPosition,rotation,zeroV3d,gravitySensor,calibrated,calibSum,addV3d,calibCount,initialGravity,divV3d,subtractV3d,rotateV2d,degToRad,landscape,negateV2dY,scaleV2d,scaleV3d,clampV3d}=this.__closure;if(lightPosition){rotation.value=lightPosition?{x:lightPosition.value.x,y:lightPosition.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);}",
31
- location: "/Users/krzysztofpiatek/Projects/libraries/react-native-shine/src/components/Content.tsx",
32
- sourceMap: "{\"version\":3,\"names\":[\"ContentTsx2\",\"lightPosition\",\"rotation\",\"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\":\"AA2MkB,SAAAA,WAAMA,CAAA,QAAAC,aAAA,CAAAC,QAAA,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,GAAIlB,aAAa,CAAE,CACjBC,QAAQ,CAACkB,KAAK,CAAGnB,aAAa,CAC1B,CAAEoB,CAAC,CAAEpB,aAAa,CAACmB,KAAK,CAACC,CAAC,CAAEC,CAAC,CAAErB,aAAa,CAACmB,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,CAEAlB,QAAQ,CAACkB,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,CAACf,QAAQ,CAACkB,KAAK,CAAE,CAAC,CAAGO,KAAK,CAAC,CAAEO,YAAY,CAAC,CACzDN,KACF,CAAC,CAED1B,QAAQ,CAACkB,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
+ location: "/Users/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx",
29
+ sourceMap: "{\"version\":3,\"names\":[\"ContentTsx2\",\"lightPosition\",\"rotation\",\"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/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AAyJkB,SAAAA,WAAMA,CAAA,QAAAC,aAAA,CAAAC,QAAA,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,GAAIlB,aAAa,CAAE,CACjBC,QAAQ,CAACkB,KAAK,CAAGnB,aAAa,CAC1B,CAAEoB,CAAC,CAAEpB,aAAa,CAACmB,KAAK,CAACC,CAAC,CAAEC,CAAC,CAAErB,aAAa,CAACmB,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,CAEAlB,QAAQ,CAACkB,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,CAACf,QAAQ,CAACkB,KAAK,CAAE,CAAC,CAAGO,KAAK,CAAC,CAAEO,YAAY,CAAC,CACzDN,KACF,CAAC,CAED1B,QAAQ,CAACkB,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\":[]}"
30
+ };
31
+ const _worklet_15550929127668_init_data = {
32
+ code: "function ContentTsx3(){const{context,device,presentationFormat,isCanvasReady}=this.__closure;context.configure({device:device,format:presentationFormat,alphaMode:'premultiplied'});isCanvasReady.value=true;}",
33
+ location: "/Users/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx",
34
+ sourceMap: "{\"version\":3,\"names\":[\"ContentTsx3\",\"context\",\"device\",\"presentationFormat\",\"isCanvasReady\",\"__closure\",\"configure\",\"format\",\"alphaMode\",\"value\"],\"sources\":[\"/Users/wojciechstanisz/Desktop/shine3/react-native-shine/src/components/Content.tsx\"],\"mappings\":\"AA2SiB,SAAAA,WAAMA,CAAA,QAAAC,OAAA,CAAAC,MAAA,CAAAC,kBAAA,CAAAC,aAAA,OAAAC,SAAA,CAEjBJ,OAAO,CAACK,SAAS,CAAC,CAChBJ,MAAM,CAANA,MAAM,CACNK,MAAM,CAAEJ,kBAAkB,CAC1BK,SAAS,CAAE,eACb,CAAC,CAAC,CACFJ,aAAa,CAACK,KAAK,CAAG,IAAI,CAC5B\",\"ignoreList\":[]}"
33
35
  };
34
36
  export default function Content({
35
- // addHolo,
36
- // addReverseHolo,
37
- // reverseHoloDetectionChannelOptions,
38
- effects,
37
+ effects = [{
38
+ name: 'glare'
39
+ }],
39
40
  highlightColors,
40
41
  isHighlightInclusive = true,
41
- glareOptions,
42
- enableGlare = true,
43
42
  height,
44
43
  imageTexture,
45
44
  maskTexture,
@@ -48,7 +47,8 @@ export default function Content({
48
47
  width,
49
48
  translateViewIn3d = false,
50
49
  style,
51
- containerStyle
50
+ containerStyle,
51
+ colorMaskStorageTexture
52
52
  }) {
53
53
  const {
54
54
  device
@@ -56,21 +56,11 @@ export default function Content({
56
56
  // const { ref, context } = useGPUContext();
57
57
  const ref = useRef(null);
58
58
  const [context, setContext] = useState(null);
59
- // const context = ref.current!.getContext('webgpu')!;
60
-
61
59
  useEffect(() => {
62
60
  if (ref) setContext(ref.current?.getContext('webgpu'));
63
61
  }, [ref]);
64
62
  const presentationFormat = navigator.gpu.getPreferredCanvasFormat();
65
- const renderRef = useRef(null);
66
-
67
- //changing canvas size to prevent blur
68
- const pixelRatio = PixelRatio.get();
69
- const size = {
70
- x: width,
71
- y: height
72
- };
73
- const pixelSize = transformV2d(scaleV2d(size, pixelRatio), v => Math.max(1, Math.round(v)));
63
+ const isCanvasReady = useSharedValue(true);
74
64
  const landscape = useSharedValue(false);
75
65
  const rotation = useSharedValue(zeroV3d); // final GPU offsets
76
66
 
@@ -82,7 +72,7 @@ export default function Content({
82
72
  const gravitySensor = useAnimatedSensor(SensorType.GRAVITY, {
83
73
  interval: 20
84
74
  });
85
- const bufferMap = useMemo(() => new TypedBufferMap(bufferData), []);
75
+ const pipelineCache = useMemo(() => new PipelineManager(root, presentationFormat, imageTexture, maskTexture), [imageTexture, maskTexture, presentationFormat, root]);
86
76
  const animatedStyle = useAnimatedStyle(function ContentTsx1Factory({
87
77
  _worklet_3316150849446_init_data,
88
78
  translateViewIn3d,
@@ -238,126 +228,103 @@ export default function Content({
238
228
  clampV3d
239
229
  }));
240
230
 
241
- // Render loop
231
+ //TODO: is this needed here?
232
+ const effectsCache = JSON.stringify(effects) + JSON.stringify(highlightColors);
242
233
  useEffect(() => {
243
- if (!context) return;
234
+ const initPipelines = async () => {
235
+ pipelineCache.pipelinesMap.clear();
236
+ pipelineCache.addPipeline(baseTextureFragment);
237
+ effects.forEach(({
238
+ name,
239
+ options
240
+ }) => {
241
+ pipelineCache.addPipelineWithBuffer(name, options);
242
+ });
243
+
244
+ //TODO: move to effect definition
245
+ if (highlightColors) {
246
+ const colorMaskBuffer = pipelineCache.buffersMap.syncUniformBuffer(colorMaskArraySchema, createColorMasks(highlightColors, isHighlightInclusive));
247
+ const colorMaskBindGroup = createColorMaskBindGroup(root, colorMaskBuffer);
248
+ if (colorMaskStorageTexture) {
249
+ const precomputeColorMaskBindGroup = root.createBindGroup(precomputeColorMaskBindGroupLayout, {
250
+ colorMaskStorage: colorMaskStorageTexture
251
+ });
252
+ const precomputeColorMaskOutputBindGroup = root.createBindGroup(precomputeColorMaskOutputBindGroupLayout, {
253
+ colorMaskOutput: colorMaskStorageTexture
254
+ });
255
+ pipelineCache.addComputePipeline(precomputeColorMask, [colorMaskBindGroup, precomputeColorMaskBindGroup]);
256
+ await pipelineCache.runComputePipeline(precomputeColorMask);
257
+ // colorMaskOutputTexture.write(colorMaskStorageTexture);
244
258
 
245
- //this sets the underlying resolution of the canvas to prevent blurriness
259
+ pipelineCache.addPipeline(colorMaskFragment, [colorMaskBindGroup, precomputeColorMaskOutputBindGroup], blend);
260
+ }
261
+ }
262
+ };
263
+ initPipelines();
264
+ // eslint-disable-next-line react-hooks/exhaustive-deps
265
+ }, [effectsCache, isHighlightInclusive, pipelineCache, root, colorMaskStorageTexture]);
266
+ useEffect(() => {
267
+ if (!context) {
268
+ return;
269
+ }
270
+ // changing canvas size to prevent blur
271
+ const pixelRatio = PixelRatio.get();
272
+ const size = {
273
+ x: width,
274
+ y: height
275
+ };
276
+ const pixelSize = transformV2d(scaleV2d(size, pixelRatio), v => Math.max(1, Math.round(v)));
246
277
  const canvasElement = context.canvas;
247
278
  if (canvasElement.width !== pixelSize.x && canvasElement.height !== pixelSize.y) {
248
279
  canvasElement.width = pixelSize.x;
249
280
  canvasElement.height = pixelSize.y;
250
281
  }
251
- context.configure({
282
+ //this is a workaround to prevent error logs but it should be handled by webgpu
283
+ scheduleOnUI(function ContentTsx3Factory({
284
+ _worklet_15550929127668_init_data,
285
+ context,
252
286
  device,
253
- format: presentationFormat,
254
- alphaMode: 'premultiplied'
255
- });
256
-
257
- // const sampler = device.createSampler({
258
- // magFilter: 'linear',
259
- // minFilter: 'linear',
260
- // mipmapFilter: 'linear',
261
- // });
262
-
263
- const sampler = root['~unstable'].createSampler({
264
- magFilter: 'linear',
265
- minFilter: 'linear',
266
- mipmapFilter: 'linear'
267
- }); //TODO: delete this cast when TgpuFixedSampler gets exposed
268
-
269
- const imageTextureBindGroup = root.createBindGroup(textureBindGroupLayout, {
270
- texture: root.unwrap(imageTexture).createView(),
271
- sampler
272
- });
273
- const rotationBuffer = bufferMap.addBuffer(root, 'rotation', d.vec3f(0.0));
274
- const rotationBindGroup = createRotationValuesBindGroup(root, rotationBuffer);
275
- const glareBuffer = bufferMap.addBuffer(root, 'glare', createGlareOptions(glareOptions ?? {}));
276
- const glareBindGroup = createGlareBindGroup(root, glareBuffer);
277
- const colorMaskBuffer = bufferMap.addBuffer(root, 'colorMask', colorMasksToTyped(createColorMasks(highlightColors ?? [{
278
- baseColor: [-20, -20, -20],
279
- useHSV: false
280
- }]), highlightColors && highlightColors.length ? isHighlightInclusive : !isHighlightInclusive));
281
- const colorMaskBindGroup = createColorMaskBindGroup(root, colorMaskBuffer);
282
- const reverseHoloEffect = effects ? effects.find(e => e.name === 'reverseHolo') : undefined;
283
- const reverseHoloDetectionChannelFlagsBuffer = bufferMap.addBuffer(root, 'reverseHoloDetectionChannelFlags', createReverseHoloDetectionChannelFlags(reverseHoloEffect?.options));
284
- const reverseHoloDetectionChannelFlagsBindGroup = createReverseHoloDetectionChannelFlagsBindGroup(root, reverseHoloDetectionChannelFlagsBuffer, glareBuffer);
285
- const holoEffect = effects ? effects.find(e => e.name === 'holo') : undefined;
286
-
287
- // const precomputeColorMaskBindGroup = root.createBindGroup(
288
- // precomputeColorMaskBindGroupLayout,
289
- // {
290
- // colorMaskTextureDst: colorMaskStorageTexture,
291
- // }
292
- // );
293
-
294
- const pipelineMap = {
295
- baseTexture: attachBindGroups(root['~unstable'].withVertex(mainVertex, {}).withFragment(baseTextureFragment, getDefaultTarget(presentationFormat)).createPipeline(), [imageTextureBindGroup, rotationBindGroup]),
296
- glare: attachBindGroups(root['~unstable'].withVertex(mainVertex, {}).withFragment(newGlareFragment, getDefaultTarget(presentationFormat)).createPipeline(), [imageTextureBindGroup, rotationBindGroup, glareBindGroup, colorMaskBindGroup]),
297
- colorMask: attachBindGroups(root['~unstable'].withVertex(mainVertex, {}).withFragment(colorMaskFragment, getDefaultTarget(presentationFormat, blend)).createPipeline(), [imageTextureBindGroup, colorMaskBindGroup, rotationBindGroup]),
298
- mask: createMaskPipeline(root, maskTexture, [imageTextureBindGroup, rotationBindGroup], sampler, presentationFormat),
299
- reverseHolo: createReverseHoloPipeline(root, maskTexture, [imageTextureBindGroup, rotationBindGroup, reverseHoloDetectionChannelFlagsBindGroup], sampler, presentationFormat),
300
- holo: createHoloPipeline(root, imageTexture, [rotationBindGroup], sampler, presentationFormat)
301
- // precomputeColorMaskPipeline: attachBindGroups(
302
- // root['~unstable'].withCompute(precomputeColorMask).createPipeline(),
303
- // [
304
- // imageTextureBindGroup,
305
- // colorMaskBindGroup,
306
- // precomputeColorMaskBindGroup,
307
- // ]
308
- // ),
309
- };
310
- const modifyBuffers = () => {
311
- rotationBuffer.write(d.vec3f(...componentsFromV3d(rotation.value)));
312
- };
313
- const renderPipelines = () => {
314
- const view = context.getCurrentTexture().createView();
315
- const initialAttachment = {
316
- view,
317
- clearValue: [0, 0, 0, 0],
318
- loadOp: 'clear',
319
- storeOp: 'store'
287
+ presentationFormat,
288
+ isCanvasReady
289
+ }) {
290
+ const _e = [new global.Error(), -5, -27];
291
+ const ContentTsx3 = function () {
292
+ context.configure({
293
+ device,
294
+ format: presentationFormat,
295
+ alphaMode: 'premultiplied'
296
+ });
297
+ isCanvasReady.value = true;
320
298
  };
321
- const loadingAttachment = {
322
- view,
323
- clearValue: [0, 0, 0, 0],
324
- loadOp: 'load',
325
- storeOp: 'store'
299
+ ContentTsx3.__closure = {
300
+ context,
301
+ device,
302
+ presentationFormat,
303
+ isCanvasReady
326
304
  };
327
- const {
328
- baseTexture,
329
- glare,
330
- mask,
331
- colorMask,
332
- holo,
333
- reverseHolo
334
- // precomputeColorMaskPipeline,
335
- } = pipelineMap;
336
-
337
- //TODO: delete this from here after testing
338
- // precomputeColorMaskPipeline!.dispatchWorkgroups(8, 8);
339
-
340
- const pairs = [[baseTexture, initialAttachment]];
341
- if ((glareOptions || enableGlare) && glare) {
342
- pairs.push([glare, loadingAttachment]);
343
- }
344
- if (mask) pairs.push([mask, loadingAttachment]);
345
- if (reverseHoloEffect && reverseHolo) pairs.push([reverseHolo, loadingAttachment]);
346
- if (holoEffect && holo) pairs.push([holo, loadingAttachment]);
347
- if (colorMask) pairs.push([colorMask, loadingAttachment]);
348
- pairs.forEach(([pipeline, attachment]) => pipeline.withColorAttachment(attachment).draw(6));
349
- };
350
- const presentContext = () => context.present();
351
- renderRef.current = () => {
352
- modifyBuffers();
353
- renderPipelines();
354
- presentContext();
355
- };
356
-
357
- // const res = tgpu.resolve({ externals: { reverseHoloFragment } });
358
- // console.log('reverseHoloFragment resolve:', res);
359
- }, [device, context, root, presentationFormat, imageTexture, maskTexture, rotation, bufferMap, glareOptions, enableGlare, highlightColors, pixelSize, effects, isHighlightInclusive]);
360
- useAnimationFrame(() => renderRef.current?.());
305
+ ContentTsx3.__workletHash = 15550929127668;
306
+ ContentTsx3.__pluginVersion = "0.5.2";
307
+ ContentTsx3.__initData = _worklet_15550929127668_init_data;
308
+ ContentTsx3.__stackDetails = _e;
309
+ return ContentTsx3;
310
+ }({
311
+ _worklet_15550929127668_init_data,
312
+ context,
313
+ device,
314
+ presentationFormat,
315
+ isCanvasReady
316
+ }));
317
+ }, [context, device, height, presentationFormat, width, isCanvasReady]);
318
+ const frameCallback = useCallback(() => {
319
+ if (!context || !isCanvasReady.value) {
320
+ return;
321
+ }
322
+ pipelineCache.buffersMap.get(rotationSchema)?.write(d.vec3f(...componentsFromV3d(rotation.value)));
323
+ const view = context.getCurrentTexture().createView();
324
+ pipelineCache.renderPipelines(view);
325
+ context.present();
326
+ }, [context, pipelineCache, rotation, isCanvasReady]);
327
+ useAnimationFrame(frameCallback);
361
328
  return /*#__PURE__*/_jsx(View, {
362
329
  style: {
363
330
  transform: translateViewIn3d ? [{
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","useState","PixelRatio","View","Animated","SensorType","useAnimatedSensor","useAnimatedStyle","useDerivedValue","useSharedValue","Canvas","d","bufferData","textureBindGroupLayout","useAnimationFrame","TypedBufferMap","createColorMaskBindGroup","createGlareBindGroup","createReverseHoloDetectionChannelFlagsBindGroup","createRotationValuesBindGroup","colorMaskFragment","newGlareFragment","attachBindGroups","blend","createMaskPipeline","createRainbowHoloPipeline","createHoloPipeline","createReverseHoloPipeline","getDefaultTarget","mainVertex","subscribeToOrientationChange","colorMasksToTyped","createColorMasks","createGlareOptions","createReverseHoloDetectionChannelFlags","addV3d","clampV3d","componentsFromV3d","degToRad","divV3d","negateV2dY","rotateV2d","scaleV2d","scaleV3d","subtractV3d","transformV2d","zeroV3d","baseTextureFragment","jsx","_jsx","_worklet_3316150849446_init_data","code","location","sourceMap","_worklet_566509437402_init_data","Content","effects","highlightColors","isHighlightInclusive","glareOptions","enableGlare","height","imageTexture","maskTexture","root","lightPosition","width","translateViewIn3d","style","containerStyle","device","ref","context","setContext","current","getContext","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","perspective","intensity","rotX","value","rotY","transform","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","useHSV","length","colorMaskBindGroup","reverseHoloEffect","find","e","name","undefined","reverseHoloDetectionChannelFlagsBuffer","options","reverseHoloDetectionChannelFlagsBindGroup","holoEffect","pipelineMap","baseTexture","withVertex","withFragment","createPipeline","glare","colorMask","mask","reverseHolo","holo","modifyBuffers","write","renderPipelines","view","getCurrentTexture","initialAttachment","clearValue","loadOp","storeOp","loadingAttachment","pairs","push","forEach","pipeline","attachment","withColorAttachment","draw","presentContext","present","matrix","children","transparent"],"sourceRoot":"../../../src","sources":["components/Content.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","PixelRatio","View","Animated","SensorType","useAnimatedSensor","useAnimatedStyle","useDerivedValue","useSharedValue","Canvas","d","scheduleOnUI","colorMaskArraySchema","precomputeColorMaskBindGroupLayout","precomputeColorMaskOutputBindGroupLayout","rotationSchema","useAnimationFrame","subscribeToOrientationChange","addV3d","clampV3d","componentsFromV3d","degToRad","divV3d","negateV2dY","rotateV2d","scaleV2d","scaleV3d","subtractV3d","transformV2d","zeroV3d","baseTextureFragment","PipelineManager","blend","createColorMasks","createColorMaskBindGroup","colorMaskFragment","precomputeColorMask","jsx","_jsx","_worklet_3316150849446_init_data","code","location","sourceMap","_worklet_566509437402_init_data","_worklet_15550929127668_init_data","Content","effects","name","highlightColors","isHighlightInclusive","height","imageTexture","maskTexture","root","lightPosition","width","translateViewIn3d","style","containerStyle","colorMaskStorageTexture","device","ref","context","setContext","current","getContext","presentationFormat","navigator","gpu","getPreferredCanvasFormat","isCanvasReady","landscape","rotation","initialGravity","calibSum","calibCount","calibrated","gravitySensor","GRAVITY","interval","pipelineCache","animatedStyle","ContentTsx1Factory","_e","global","Error","ContentTsx1","perspective","intensity","rotX","value","x","rotY","y","transform","rotateX","rotateY","__closure","__workletHash","__pluginVersion","__initData","__stackDetails","isLandscape","ContentTsx2Factory","ContentTsx2","z","g","sensor","CALIBRATION_SAMPLES","alpha","scale","init","dg","m","Number","screen","smoothOffset","smooth","effectsCache","JSON","stringify","initPipelines","pipelinesMap","clear","addPipeline","forEach","options","addPipelineWithBuffer","colorMaskBuffer","buffersMap","syncUniformBuffer","colorMaskBindGroup","precomputeColorMaskBindGroup","createBindGroup","colorMaskStorage","precomputeColorMaskOutputBindGroup","colorMaskOutput","addComputePipeline","runComputePipeline","pixelRatio","get","size","pixelSize","v","Math","max","round","canvasElement","canvas","ContentTsx3Factory","ContentTsx3","configure","format","alphaMode","frameCallback","write","vec3f","view","getCurrentTexture","createView","renderPipelines","present","matrix","children","transparent"],"sourceRoot":"../../../src","sources":["components/Content.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,9 @@
3
3
  import { useEffect, useState } from 'react';
4
4
  import { useDevice } from 'react-native-wgpu';
5
5
  import { getOrInitRoot } from "../roots.js";
6
- import { loadBitmap } from "../shaders/resourceManagement/textures.js";
6
+ import { createTexture, loadBitmap } from "../shaders/resourceManagement/textures.js";
7
7
  import Content from "./Content.js";
8
+ import getBitmapFromURI from "../shaders/resourceManagement/bitmaps.js";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  export function Shine({
10
11
  imageURI,
@@ -17,12 +18,19 @@ export function Shine({
17
18
  const root = device && getOrInitRoot(device);
18
19
  const [imageTexture, setImageTexture] = useState();
19
20
  const [maskTexture, setMaskTexture] = useState();
20
- // const [colorMaskStorageTexture, colorMaskStorageTexture] =
21
- // useState<TgpuTexture>();
21
+ const [colorMaskStorageTexture, setColorMaskStorageTexture] = useState();
22
22
  //TODO: complete the work with the compute shader, try out the shader
23
23
 
24
24
  useEffect(() => {
25
- if (root) loadBitmap(root, imageURI, setImageTexture);
25
+ if (root) {
26
+ loadBitmap(root, imageURI, setImageTexture);
27
+ const makeStorage = async () => {
28
+ const bitmap = await getBitmapFromURI(imageURI);
29
+ const texture = (await createTexture(root, bitmap)).$usage('storage', 'sampled');
30
+ setColorMaskStorageTexture(texture);
31
+ };
32
+ makeStorage();
33
+ }
26
34
  }, [root, imageURI]);
27
35
  useEffect(() => {
28
36
  if (root && maskURI) loadBitmap(root, maskURI, setMaskTexture);
@@ -37,7 +45,8 @@ export function Shine({
37
45
  ...props,
38
46
  root: root,
39
47
  imageTexture: imageTexture,
40
- maskTexture: maskTexture
48
+ maskTexture: maskTexture,
49
+ colorMaskStorageTexture: colorMaskStorageTexture
41
50
  });
42
51
  }
43
52
  //# sourceMappingURL=Shine.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useDevice","getOrInitRoot","loadBitmap","Content","jsx","_jsx","Shine","imageURI","maskURI","props","device","root","imageTexture","setImageTexture","maskTexture","setMaskTexture"],"sourceRoot":"../../../src","sources":["components/Shine.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,mBAAmB;AAE7C,SAASC,aAAa,QAAQ,aAAU;AACxC,SAASC,UAAU,QAAQ,2CAAwC;AACnE,OAAOC,OAAO,MAA4B,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtD,OAAO,SAASC,KAAKA,CAAC;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAkB,CAAC,EAAE;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGV,SAAS,CAAC,CAAC;EAC9B,MAAMW,IAAI,GAAGD,MAAM,IAAIT,aAAa,CAACS,MAAM,CAAC;EAC5C,MAAM,CAACE,YAAY,EAAEC,eAAe,CAAC,GAAGd,QAAQ,CAAc,CAAC;EAC/D,MAAM,CAACe,WAAW,EAAEC,cAAc,CAAC,GAAGhB,QAAQ,CAAc,CAAC;EAC7D;EACA;EACA;;EAEAD,SAAS,CAAC,MAAM;IACd,IAAIa,IAAI,EAAET,UAAU,CAACS,IAAI,EAAEJ,QAAQ,EAAEM,eAAe,CAAC;EACvD,CAAC,EAAE,CAACF,IAAI,EAAEJ,QAAQ,CAAC,CAAC;EAEpBT,SAAS,CAAC,MAAM;IACd,IAAIa,IAAI,IAAIH,OAAO,EAAEN,UAAU,CAACS,IAAI,EAAEH,OAAO,EAAEO,cAAc,CAAC;EAChE,CAAC,EAAE,CAACJ,IAAI,EAAEJ,QAAQ,EAAEC,OAAO,CAAC,CAAC;;EAE7B;EACA;EACA;EACA;;EAEA,OACEG,IAAI,IACJC,YAAY,iBACVP,IAAA,CAACF,OAAO;IAAA,GACFM,KAAK;IACTE,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BE,WAAW,EAAEA;EAAY,CAC1B,CACF;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","useDevice","getOrInitRoot","createTexture","loadBitmap","Content","getBitmapFromURI","jsx","_jsx","Shine","imageURI","maskURI","props","device","root","imageTexture","setImageTexture","maskTexture","setMaskTexture","colorMaskStorageTexture","setColorMaskStorageTexture","makeStorage","bitmap","texture","$usage"],"sourceRoot":"../../../src","sources":["components/Shine.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,mBAAmB;AAE7C,SAASC,aAAa,QAAQ,aAAU;AACxC,SACEC,aAAa,EACbC,UAAU,QACL,2CAAwC;AAC/C,OAAOC,OAAO,MAA4B,cAAW;AACrD,OAAOC,gBAAgB,MAAM,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOrE,OAAO,SAASC,KAAKA,CAAC;EAAEC,QAAQ;EAAEC,OAAO;EAAE,GAAGC;AAAkB,CAAC,EAAE;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,SAAS,CAAC,CAAC;EAC9B,MAAMa,IAAI,GAAGD,MAAM,IAAIX,aAAa,CAACW,MAAM,CAAC;EAC5C,MAAM,CAACE,YAAY,EAAEC,eAAe,CAAC,GAAGhB,QAAQ,CAAc,CAAC;EAC/D,MAAM,CAACiB,WAAW,EAAEC,cAAc,CAAC,GAAGlB,QAAQ,CAAc,CAAC;EAC7D,MAAM,CAACmB,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGpB,QAAQ,CAEpE,CAAC;EACH;;EAEAD,SAAS,CAAC,MAAM;IACd,IAAIe,IAAI,EAAE;MACRV,UAAU,CAACU,IAAI,EAAEJ,QAAQ,EAAEM,eAAe,CAAC;MAC3C,MAAMK,WAAW,GAAG,MAAAA,CAAA,KAAY;QAC9B,MAAMC,MAAM,GAAG,MAAMhB,gBAAgB,CAACI,QAAQ,CAAC;QAC/C,MAAMa,OAAO,GAAG,CAAC,MAAMpB,aAAa,CAACW,IAAI,EAAEQ,MAAM,CAAC,EAAEE,MAAM,CACxD,SAAS,EACT,SACF,CAAC;QACDJ,0BAA0B,CAACG,OAAO,CAAC;MACrC,CAAC;MACDF,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACP,IAAI,EAAEJ,QAAQ,CAAC,CAAC;EAEpBX,SAAS,CAAC,MAAM;IACd,IAAIe,IAAI,IAAIH,OAAO,EAAEP,UAAU,CAACU,IAAI,EAAEH,OAAO,EAAEO,cAAc,CAAC;EAChE,CAAC,EAAE,CAACJ,IAAI,EAAEJ,QAAQ,EAAEC,OAAO,CAAC,CAAC;;EAE7B;EACA;EACA;EACA;;EAEA,OACEG,IAAI,IACJC,YAAY,iBACVP,IAAA,CAACH,OAAO;IAAA,GACFO,KAAK;IACTE,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAC3BE,WAAW,EAAEA,WAAY;IACzBE,uBAAuB,EAAEA;EAAwB,CAClD,CACF;AAEL","ignoreList":[]}
@@ -9,12 +9,10 @@ import { Shine } from "./Shine.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export function ShineGroup({
11
11
  children,
12
- glareOptions,
13
12
  highlightColors,
14
13
  maskURI,
15
14
  lightPosition: touchPosition,
16
15
  effects,
17
- enableGlare = true,
18
16
  isHighlightInclusive = true,
19
17
  translateViewIn3d = false,
20
18
  containerStyle,
@@ -69,13 +67,11 @@ export function ShineGroup({
69
67
  }), capturedURI && size && /*#__PURE__*/_jsx(Shine, {
70
68
  ...sizeFromV2d(size),
71
69
  imageURI: capturedURI,
72
- glareOptions: glareOptions,
73
70
  highlightColors: highlightColors,
74
71
  maskURI: maskURI,
75
72
  lightPosition: touchPosition,
76
73
  effects: effects,
77
74
  translateViewIn3d: translateViewIn3d,
78
- enableGlare: enableGlare,
79
75
  containerStyle: containerStyle,
80
76
  isHighlightInclusive: isHighlightInclusive,
81
77
  style: style
@@ -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","highlightColors","maskURI","lightPosition","touchPosition","effects","enableGlare","isHighlightInclusive","translateViewIn3d","containerStyle","style","viewShotRef","capturedURI","setCapturedURI","size","setSize","onInnerLayout","e","layoutV2d","nativeEvent","layout","current","mounted","t","setTimeout","pixel","get","uri","format","quality","err","console","warn","clearTimeout","styles","container","ref","options","onLayout","inner","imageURI","create","display","flexDirection","gap"],"sourceRoot":"../../../src","sources":["components/ShineGroup.tsx"],"mappings":"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","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","highlightColors","maskURI","lightPosition","touchPosition","effects","isHighlightInclusive","translateViewIn3d","containerStyle","style","viewShotRef","capturedURI","setCapturedURI","size","setSize","onInnerLayout","e","layoutV2d","nativeEvent","layout","current","mounted","t","setTimeout","pixel","get","uri","format","quality","err","console","warn","clearTimeout","styles","container","ref","options","onLayout","inner","imageURI","create","display","flexDirection","gap"],"sourceRoot":"../../../src","sources":["components/ShineGroup.tsx"],"mappings":"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","ignoreList":[]}