@aguacerowx/react-native 0.0.41 → 0.0.42

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 (408) hide show
  1. package/README.md +126 -126
  2. package/aguacerowx-react-native.podspec +38 -38
  3. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  4. package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/results.bin +1 -0
  5. package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/transformed/classes/classes_dex/classes.dex +0 -0
  6. package/android/build/.transforms/8f329a9571a96a1c1c0869d49784e448/results.bin +1 -0
  7. package/android/build/.transforms/8f329a9571a96a1c1c0869d49784e448/transformed/classes/classes_dex/classes.dex +0 -0
  8. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/results.bin +1 -0
  9. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/AguaceroPackage.dex +0 -0
  10. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/BuildConfig.dex +0 -0
  11. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
  12. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
  13. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
  14. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderManager.dex +0 -0
  15. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
  16. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/ShaderUtils.dex +0 -0
  17. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.dex +0 -0
  18. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
  19. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.dex +0 -0
  20. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.dex +0 -0
  21. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  22. package/android/build/.transforms/f95abdfc98a7a06fc247f75cdd74def9/results.bin +1 -0
  23. package/android/build/.transforms/f95abdfc98a7a06fc247f75cdd74def9/transformed/classes/classes_dex/classes.dex +0 -0
  24. package/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  25. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  26. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  27. package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  28. package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  29. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  34. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  35. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  36. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  42. package/android/build/generated/source/codegen/schema.json +1 -0
  43. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  44. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  45. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  46. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  47. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  48. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  49. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  50. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  51. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  52. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  53. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  54. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  55. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  56. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  57. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  58. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  59. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  60. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  61. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  63. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  64. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  65. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  66. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  67. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  68. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  69. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  70. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  71. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  72. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  73. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  74. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  75. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  76. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  77. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  78. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +181 -0
  79. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  86. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  87. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  88. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  89. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  90. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  91. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  92. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  93. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  94. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  95. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId2 +0 -0
  96. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule$1.class.uniqueId0 +0 -0
  97. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule.class.uniqueId1 +0 -0
  98. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  99. package/android/build.gradle +107 -107
  100. package/android/src/main/AndroidManifest.xml +6 -6
  101. package/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  102. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +732 -688
  103. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +232 -304
  104. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  105. package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +145 -71
  106. package/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  107. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +270 -151
  108. package/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  109. package/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  110. package/android/src/main/res/raw/fragment_shader.glsl +180 -180
  111. package/android/src/main/res/raw/vertex_shader.glsl +19 -19
  112. package/index.js +2 -2
  113. package/ios/AguaceroPackage.m +18 -18
  114. package/ios/FragmentUniforms.swift +15 -15
  115. package/ios/GridRenderLayer.swift +1158 -1158
  116. package/ios/GridRenderLayerBridge.swift +44 -44
  117. package/ios/GridRenderLayerManager.mm +171 -171
  118. package/ios/GridRenderLayerView.h +30 -30
  119. package/ios/GridRenderLayerView.m +200 -200
  120. package/ios/InspectorDataCache.swift +63 -63
  121. package/ios/InspectorModule.m +9 -9
  122. package/ios/InspectorModule.swift +112 -112
  123. package/ios/Shaders.metal +319 -319
  124. package/ios/WeatherFrameProcessorModule.m +15 -15
  125. package/ios/WeatherFrameProcessorModule.swift +152 -152
  126. package/lib/commonjs/README.md +126 -126
  127. package/lib/commonjs/aguacerowx-react-native.podspec +38 -38
  128. package/lib/commonjs/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  129. package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  130. package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  131. package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  132. package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  133. package/lib/commonjs/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  134. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  135. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  136. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  137. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  138. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  139. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  140. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  141. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  142. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  143. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  144. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  145. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  146. package/lib/commonjs/android/build/generated/source/codegen/schema.json +1 -0
  147. package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  148. package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  149. package/lib/commonjs/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  150. package/lib/commonjs/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  151. package/lib/commonjs/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  152. package/lib/commonjs/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  153. package/lib/commonjs/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  154. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  155. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  156. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  157. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  158. package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  159. package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  160. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  161. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  162. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  163. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  164. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  165. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  166. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  167. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  168. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  169. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  170. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  171. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  172. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  173. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  174. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  175. package/lib/commonjs/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  176. package/lib/commonjs/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  177. package/lib/commonjs/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  178. package/lib/commonjs/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  179. package/lib/commonjs/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  180. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  181. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  182. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +181 -0
  183. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  184. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  185. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  186. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  187. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  188. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  189. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  190. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  191. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  192. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  193. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  194. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  195. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  196. package/lib/commonjs/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  197. package/lib/commonjs/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  198. package/lib/commonjs/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  199. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId2 +0 -0
  200. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule$1.class.uniqueId0 +0 -0
  201. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule.class.uniqueId1 +0 -0
  202. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  203. package/lib/commonjs/android/build.gradle +107 -107
  204. package/lib/commonjs/android/src/main/AndroidManifest.xml +6 -6
  205. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  206. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +732 -688
  207. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +232 -304
  208. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  209. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +145 -71
  210. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  211. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +270 -151
  212. package/lib/commonjs/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  213. package/lib/commonjs/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  214. package/lib/commonjs/android/src/main/res/raw/fragment_shader.glsl +180 -180
  215. package/lib/commonjs/android/src/main/res/raw/vertex_shader.glsl +19 -19
  216. package/lib/commonjs/babel.config.js.map +1 -1
  217. package/lib/commonjs/index.js.map +1 -1
  218. package/lib/commonjs/ios/AguaceroPackage.m +18 -18
  219. package/lib/commonjs/ios/FragmentUniforms.swift +15 -15
  220. package/lib/commonjs/ios/GridRenderLayer.swift +1158 -1158
  221. package/lib/commonjs/ios/GridRenderLayerBridge.swift +44 -44
  222. package/lib/commonjs/ios/GridRenderLayerManager.mm +171 -171
  223. package/lib/commonjs/ios/GridRenderLayerView.h +30 -30
  224. package/lib/commonjs/ios/GridRenderLayerView.m +200 -200
  225. package/lib/commonjs/ios/InspectorDataCache.swift +63 -63
  226. package/lib/commonjs/ios/InspectorModule.m +9 -9
  227. package/lib/commonjs/ios/InspectorModule.swift +112 -112
  228. package/lib/commonjs/ios/Shaders.metal +319 -319
  229. package/lib/commonjs/ios/WeatherFrameProcessorModule.m +15 -15
  230. package/lib/commonjs/ios/WeatherFrameProcessorModule.swift +152 -152
  231. package/lib/commonjs/package.json +72 -72
  232. package/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
  233. package/lib/commonjs/scripts/compile-shaders.js.map +1 -1
  234. package/lib/commonjs/scripts/compile-shaders.sh +38 -38
  235. package/lib/commonjs/src/AguaceroContext.js.map +1 -1
  236. package/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  237. package/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
  238. package/lib/commonjs/src/MapManager.js.map +1 -1
  239. package/lib/commonjs/src/MapRegistry.js.map +1 -1
  240. package/lib/commonjs/src/StyleApplicator.js +6 -6
  241. package/lib/commonjs/src/StyleApplicator.js.map +1 -1
  242. package/lib/commonjs/src/WeatherLayerManager.js +6 -27
  243. package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  244. package/lib/commonjs/tsconfig.json +23 -23
  245. package/lib/module/README.md +126 -126
  246. package/lib/module/aguacerowx-react-native.podspec +38 -38
  247. package/lib/module/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  248. package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  249. package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  250. package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  251. package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  252. package/lib/module/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  253. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  254. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  255. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  256. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  257. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  258. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  259. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  260. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  261. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  262. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  263. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  264. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  265. package/lib/module/android/build/generated/source/codegen/schema.json +1 -0
  266. package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  267. package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  268. package/lib/module/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  269. package/lib/module/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  270. package/lib/module/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  271. package/lib/module/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  272. package/lib/module/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  273. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  274. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  275. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  276. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  277. package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  278. package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  279. package/lib/module/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  280. package/lib/module/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  281. package/lib/module/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  282. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  283. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  284. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  285. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  286. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  287. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  288. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  289. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  290. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  291. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  292. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  293. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  294. package/lib/module/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  295. package/lib/module/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  296. package/lib/module/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  297. package/lib/module/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  298. package/lib/module/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  299. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  300. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  301. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +181 -0
  302. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  303. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  304. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  305. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  306. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  307. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  308. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  309. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  310. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  311. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule$1.class +0 -0
  312. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  313. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  314. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  315. package/lib/module/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  316. package/lib/module/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  317. package/lib/module/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  318. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId2 +0 -0
  319. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule$1.class.uniqueId0 +0 -0
  320. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/WeatherFrameProcessorModule.class.uniqueId1 +0 -0
  321. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  322. package/lib/module/android/build.gradle +107 -107
  323. package/lib/module/android/src/main/AndroidManifest.xml +6 -6
  324. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  325. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +732 -688
  326. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +232 -304
  327. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  328. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +145 -71
  329. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  330. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +270 -151
  331. package/lib/module/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  332. package/lib/module/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  333. package/lib/module/android/src/main/res/raw/fragment_shader.glsl +180 -180
  334. package/lib/module/android/src/main/res/raw/vertex_shader.glsl +19 -19
  335. package/lib/module/babel.config.js.map +1 -1
  336. package/lib/module/index.js.map +1 -1
  337. package/lib/module/ios/AguaceroPackage.m +18 -18
  338. package/lib/module/ios/FragmentUniforms.swift +15 -15
  339. package/lib/module/ios/GridRenderLayer.swift +1158 -1158
  340. package/lib/module/ios/GridRenderLayerBridge.swift +44 -44
  341. package/lib/module/ios/GridRenderLayerManager.mm +171 -171
  342. package/lib/module/ios/GridRenderLayerView.h +30 -30
  343. package/lib/module/ios/GridRenderLayerView.m +200 -200
  344. package/lib/module/ios/InspectorDataCache.swift +63 -63
  345. package/lib/module/ios/InspectorModule.m +9 -9
  346. package/lib/module/ios/InspectorModule.swift +112 -112
  347. package/lib/module/ios/Shaders.metal +319 -319
  348. package/lib/module/ios/WeatherFrameProcessorModule.m +15 -15
  349. package/lib/module/ios/WeatherFrameProcessorModule.swift +152 -152
  350. package/lib/module/lib/commonjs/README.md +126 -126
  351. package/lib/module/lib/commonjs/aguacerowx-react-native.podspec +38 -38
  352. package/lib/module/lib/commonjs/android/build.gradle +108 -0
  353. package/lib/module/lib/commonjs/android/src/main/AndroidManifest.xml +7 -0
  354. package/lib/module/lib/commonjs/babel.config.js.map +1 -1
  355. package/lib/module/lib/commonjs/index.js.map +1 -1
  356. package/lib/module/lib/commonjs/ios/AguaceroPackage.m +19 -0
  357. package/lib/module/lib/commonjs/ios/FragmentUniforms.swift +16 -0
  358. package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +1159 -0
  359. package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +45 -0
  360. package/lib/module/lib/commonjs/ios/GridRenderLayerManager.mm +172 -0
  361. package/lib/module/lib/commonjs/ios/GridRenderLayerView.h +31 -0
  362. package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +201 -0
  363. package/lib/module/lib/commonjs/ios/InspectorDataCache.swift +64 -0
  364. package/lib/module/lib/commonjs/ios/InspectorModule.m +10 -0
  365. package/lib/module/lib/commonjs/ios/InspectorModule.swift +113 -0
  366. package/lib/module/lib/commonjs/ios/Shaders.metal +320 -0
  367. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
  368. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.swift +153 -0
  369. package/lib/module/lib/commonjs/ios/compiled-shaders/Shaders-device.metallib +0 -0
  370. package/lib/module/lib/commonjs/ios/generated/AguaceroWxReactNativeSpec-generated.mm +0 -0
  371. package/lib/module/lib/commonjs/ios/generated/AguaceroWxReactNativeSpec.h +0 -0
  372. package/lib/module/lib/commonjs/package.json +72 -72
  373. package/lib/module/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
  374. package/lib/module/lib/commonjs/scripts/compile-shaders.js.map +1 -1
  375. package/lib/module/lib/commonjs/scripts/compile-shaders.sh +39 -0
  376. package/lib/module/lib/commonjs/src/AguaceroContext.js.map +1 -1
  377. package/lib/module/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  378. package/lib/module/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
  379. package/lib/module/lib/commonjs/src/MapManager.js.map +1 -1
  380. package/lib/module/lib/commonjs/src/MapRegistry.js.map +1 -1
  381. package/lib/module/lib/commonjs/src/StyleApplicator.js +6 -6
  382. package/lib/module/lib/commonjs/src/StyleApplicator.js.map +1 -1
  383. package/lib/module/lib/commonjs/src/WeatherLayerManager.js +6 -27
  384. package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  385. package/lib/module/lib/commonjs/tsconfig.json +23 -23
  386. package/lib/module/package.json +72 -72
  387. package/lib/module/react-native-builder-bob.config.js.map +1 -1
  388. package/lib/module/scripts/compile-shaders.js.map +1 -1
  389. package/lib/module/scripts/compile-shaders.sh +38 -38
  390. package/lib/module/src/AguaceroContext.js.map +1 -1
  391. package/lib/module/src/GridRenderLayer.js.map +1 -1
  392. package/lib/module/src/GridRenderLayerNativeComponent.js.map +1 -1
  393. package/lib/module/src/MapManager.js.map +1 -1
  394. package/lib/module/src/MapRegistry.js.map +1 -1
  395. package/lib/module/src/StyleApplicator.js +6 -6
  396. package/lib/module/src/StyleApplicator.js.map +1 -1
  397. package/lib/module/src/WeatherLayerManager.js +6 -27
  398. package/lib/module/src/WeatherLayerManager.js.map +1 -1
  399. package/lib/module/tsconfig.json +23 -23
  400. package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
  401. package/package.json +72 -72
  402. package/src/AguaceroContext.js +3 -3
  403. package/src/GridRenderLayer.js +215 -215
  404. package/src/GridRenderLayerNativeComponent.ts +15 -15
  405. package/src/MapManager.js +218 -218
  406. package/src/MapRegistry.js +34 -34
  407. package/src/StyleApplicator.js +240 -240
  408. package/src/WeatherLayerManager.js +1163 -1191
@@ -1,305 +1,233 @@
1
- package com.aguacerowx.reactnative;
2
-
3
- import android.app.Activity;
4
- import android.util.Base64;
5
- import android.util.Log;
6
- import android.view.View;
7
- import android.view.ViewGroup;
8
- import android.widget.FrameLayout;
9
-
10
- import androidx.annotation.NonNull;
11
-
12
- import com.facebook.react.bridge.ReadableArray;
13
- import com.facebook.react.bridge.ReadableMap;
14
- import com.facebook.react.uimanager.ThemedReactContext;
15
- import com.mapbox.maps.LayerPosition;
16
- import com.mapbox.maps.MapView;
17
- import com.mapbox.maps.MapboxMap;
18
- import com.mapbox.maps.Style;
19
-
20
- // ADD THIS IMPORT
21
- import com.github.luben.zstd.Zstd;
22
-
23
- import java.io.File;
24
- import java.io.FileInputStream;
25
- import java.nio.ByteBuffer;
26
-
27
- public class GridRenderLayerView extends FrameLayout {
28
-
29
- private final GridRenderLayer gridLayerImplementation;
30
- private final String LAYER_ID = "weather-layer-" + getId();
31
- private static final String TAG = "AguaceroWX";
32
- private MapView mapView;
33
- private boolean isLayerAdded = false;
34
- private String belowLayerID = null;
35
- private static byte[] lastDecompressedData = null;
36
- private static int lastDataNx = 0;
37
- private static int lastDataNy = 0;
38
- private static float lastDataScale = 1.0f;
39
- private static float lastDataOffset = 0.0f;
40
- private static float lastDataMissing = 127.0f;
41
- private static String lastDataScaleType = "linear";
42
-
43
- public GridRenderLayerView(@NonNull ThemedReactContext context) {
44
- super(context);
45
- this.gridLayerImplementation = new GridRenderLayer(context);
46
- }
47
-
48
- public static String getLastDataScaleType() {
49
- return lastDataScaleType;
50
- }
51
-
52
- public void updateDataTexture(String dataFilePathOrBase64, int nx, int ny, float scale, float offset, float missing, String scaleType) {
53
- if (dataFilePathOrBase64 == null) {
54
- Log.e(TAG, "❌ [View] Data from manager is null!");
55
- return;
56
- }
57
-
58
- if (!isLayerAdded) {
59
- findMapViewAndAddLayer();
60
- }
61
-
62
- try {
63
- byte[] compressedData;
64
- if (dataFilePathOrBase64.startsWith("/")) {
65
- File file = new File(dataFilePathOrBase64);
66
- try (FileInputStream fis = new FileInputStream(file)) {
67
- compressedData = new byte[(int) file.length()];
68
- fis.read(compressedData);
69
- }
70
- } else {
71
- compressedData = Base64.decode(dataFilePathOrBase64, Base64.DEFAULT);
72
- }
73
-
74
- int expectedLength = nx * ny;
75
- byte[] decompressedDeltas = Zstd.decompress(compressedData, expectedLength);
76
- byte[] reconstructedData = reconstructData(decompressedDeltas, expectedLength);
77
- byte[] finalTextureBytes = transformData(reconstructedData);
78
-
79
- // CACHE the decompressed, transformed data for the inspector
80
- lastDecompressedData = finalTextureBytes;
81
- lastDataNx = nx;
82
- lastDataNy = ny;
83
- lastDataScale = scale;
84
- lastDataOffset = offset;
85
- lastDataMissing = missing;
86
- lastDataScaleType = scaleType; // FIX: Update the cached scaleType
87
-
88
- gridLayerImplementation.updateDataTexture(finalTextureBytes, nx, ny, scale, offset, missing, scaleType);
89
- triggerRepaint();
90
-
91
- } catch (Exception e) {
92
- Log.e(TAG, "❌❌❌ [View] CRITICAL ERROR during data processing: " + e.getMessage());
93
- e.printStackTrace();
94
- }
95
- }
96
-
97
- // Add a method to get the cached data
98
- public static byte[] getLastDecompressedData() {
99
- return lastDecompressedData;
100
- }
101
-
102
- public static int getLastDataNx() {
103
- return lastDataNx;
104
- }
105
-
106
- public static int getLastDataNy() {
107
- return lastDataNy;
108
- }
109
-
110
- public static float getLastDataScale() {
111
- return lastDataScale;
112
- }
113
-
114
- public static float getLastDataOffset() {
115
- return lastDataOffset;
116
- }
117
-
118
- public static float getLastDataMissing() {
119
- return lastDataMissing;
120
- }
121
-
122
- public void setBelowID(String belowID) {
123
- this.belowLayerID = belowID;
124
- }
125
-
126
- @Override
127
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
128
- super.onLayout(changed, left, top, right, bottom);
129
- // It's often more reliable to trigger map search here
130
- findMapViewAndAddLayer();
131
- }
132
-
133
- @Override
134
- public void onViewAdded(View child) {
135
- super.onViewAdded(child);
136
- }
137
-
138
- private void findMapViewAndAddLayer() {
139
- if (isLayerAdded) {
140
- return;
141
- }
142
-
143
- Activity activity = ((ThemedReactContext) getContext()).getCurrentActivity();
144
- if (activity == null) {
145
- Log.e(TAG, "❌ [View] Could not find current Activity to search for MapView.");
146
- return;
147
- }
148
-
149
- View rootView = activity.findViewById(android.R.id.content);
150
- if (rootView == null) {
151
- Log.e(TAG, "❌ [View] Could not find root view of the Activity.");
152
- return;
153
- }
154
-
155
- MapView foundMap = findMapViewRecursive(rootView);
156
-
157
- if (foundMap != null) {
158
- this.mapView = foundMap;
159
- final MapboxMap mapboxMap = mapView.getMapboxMap();
160
-
161
- Style.OnStyleLoaded styleLoadedCallback = style -> {
162
- if (!isLayerAdded && !style.styleLayerExists(LAYER_ID)) {
163
- LayerPosition position = null;
164
- if (this.belowLayerID != null && !this.belowLayerID.isEmpty()) {
165
- if (style.styleLayerExists(this.belowLayerID)) {
166
- position = new LayerPosition(null, this.belowLayerID, null);
167
- } else {
168
- Log.w(TAG, "⚠️ [View] Target layer '" + this.belowLayerID + "' NOT FOUND. Adding layer on top as a fallback.");
169
- }
170
- }
171
- style.addStyleCustomLayer(LAYER_ID, gridLayerImplementation, position);
172
- isLayerAdded = true;
173
- triggerRepaint();
174
- }
175
- };
176
-
177
- Style currentStyle = mapboxMap.getStyle();
178
- if (currentStyle != null && currentStyle.isStyleLoaded()) {
179
- styleLoadedCallback.onStyleLoaded(currentStyle);
180
- } else {
181
- mapboxMap.getStyle(styleLoadedCallback);
182
- }
183
-
184
- } else {
185
- Log.e(TAG, "❌❌❌ [View] FAILED to find MapView after searching from the root view! ❌❌❌");
186
- }
187
- }
188
-
189
- private MapView findMapViewRecursive(View view) {
190
- if (view instanceof MapView) {
191
- return (MapView) view;
192
- }
193
- if (view instanceof ViewGroup) {
194
- ViewGroup viewGroup = (ViewGroup) view;
195
- for (int i = 0; i < viewGroup.getChildCount(); i++) {
196
- MapView found = findMapViewRecursive(viewGroup.getChildAt(i));
197
- if (found != null) {
198
- return found;
199
- }
200
- }
201
- }
202
- return null;
203
- }
204
-
205
- private void triggerRepaint() {
206
- if (mapView != null) {
207
- mapView.post(mapView.getMapboxMap()::triggerRepaint);
208
- }
209
- }
210
-
211
- public void setOpacity(float opacity) {
212
- gridLayerImplementation.setOpacity(opacity);
213
- triggerRepaint();
214
- }
215
-
216
- public void setSmoothing(boolean enabled) {
217
- gridLayerImplementation.setSmoothing(enabled);
218
- triggerRepaint();
219
- }
220
-
221
- public void setDataRange(float[] range) {
222
- gridLayerImplementation.setDataRange(range);
223
- triggerRepaint();
224
- }
225
-
226
- public void setConversionType(int conversionType) {
227
- gridLayerImplementation.setConversionType(conversionType);
228
- triggerRepaint();
229
- }
230
-
231
- public void updateColormapTexture(String colormapAsBase64) {
232
- if (colormapAsBase64 == null) {
233
- return;
234
- }
235
- if (!isLayerAdded) {
236
- findMapViewAndAddLayer();
237
- }
238
-
239
- byte[] bytes = Base64.decode(colormapAsBase64, Base64.DEFAULT);
240
- ByteBuffer colormapBuffer = ByteBuffer.allocateDirect(bytes.length);
241
- colormapBuffer.put(bytes);
242
- colormapBuffer.position(0);
243
- gridLayerImplementation.updateColormapTexture(colormapBuffer);
244
- }
245
-
246
- public void updateGeometry(ReadableMap corners, ReadableMap gridDef) {
247
- if (!isLayerAdded) {
248
- findMapViewAndAddLayer();
249
- }
250
- gridLayerImplementation.updateGeometry(corners, gridDef);
251
- triggerRepaint();
252
- }
253
-
254
- /**
255
- * Reconstructs the full data array from the delta-encoded values.
256
- * @param decompressedDeltas The array of deltas.
257
- * @param expectedLength The total size of the final grid.
258
- * @return The fully reconstructed data array.
259
- */
260
- private byte[] reconstructData(byte[] decompressedDeltas, int expectedLength) {
261
- byte[] reconstructedData = new byte[expectedLength];
262
- if (decompressedDeltas.length > 0 && expectedLength > 0) {
263
- reconstructedData[0] = decompressedDeltas[0];
264
- for (int i = 1; i < expectedLength; i++) {
265
- reconstructedData[i] = (byte) (reconstructedData[i - 1] + decompressedDeltas[i]);
266
- }
267
- }
268
- return reconstructedData;
269
- }
270
-
271
- /**
272
- * Transforms the signed byte data (-128 to 127) to unsigned byte data (0 to 255)
273
- * suitable for an ALPHA texture.
274
- * @param finalData The reconstructed data array.
275
- * @return The transformed data array ready for the GPU.
276
- */
277
- private byte[] transformData(byte[] finalData) {
278
- byte[] transformedData = new byte[finalData.length];
279
- for (int i = 0; i < finalData.length; i++) {
280
- transformedData[i] = (byte) (finalData[i] + 128);
281
- }
282
- return transformedData;
283
- }
284
-
285
- // Add this method to GridRenderLayerView.java
286
- public void updateDataParameters(float scale, float offset, float missing) {
287
- // Update the cached values for the inspector
288
- lastDataScale = scale;
289
- lastDataOffset = offset;
290
- lastDataMissing = missing;
291
-
292
- // CRITICAL FIX: Also update the GridRenderLayer implementation
293
- gridLayerImplementation.updateDataParameters(scale, offset, missing);
294
- }
295
-
296
- public void clearData() {
297
- gridLayerImplementation.clearData();
298
- triggerRepaint();
299
- }
300
-
301
- public void setVariable(String variable) {
302
- gridLayerImplementation.setVariable(variable);
303
- triggerRepaint();
304
- }
1
+ package com.aguacerowx.reactnative;
2
+
3
+ import android.app.Activity;
4
+ import android.util.Base64;
5
+ import android.util.Log;
6
+ import android.view.View;
7
+ import android.view.ViewGroup;
8
+ import android.widget.FrameLayout;
9
+
10
+ import androidx.annotation.NonNull;
11
+
12
+ import com.facebook.react.bridge.ReadableMap;
13
+ import com.facebook.react.uimanager.ThemedReactContext;
14
+ import com.mapbox.maps.LayerPosition;
15
+ import com.mapbox.maps.MapView;
16
+ import com.mapbox.maps.MapboxMap;
17
+ import com.mapbox.maps.Style;
18
+
19
+ import com.github.luben.zstd.Zstd;
20
+
21
+ import java.io.File;
22
+ import java.io.FileInputStream;
23
+ import java.io.IOException;
24
+ import java.nio.ByteBuffer;
25
+ import java.nio.ByteOrder;
26
+
27
+ public class GridRenderLayerView extends FrameLayout {
28
+
29
+ private final GridRenderLayer gridLayerImplementation;
30
+ private final String LAYER_ID = "weather-layer-" + getId();
31
+ private static final String TAG = "AguaceroWX";
32
+ private MapView mapView;
33
+ private boolean isLayerAdded = false;
34
+ private String belowLayerID = null;
35
+
36
+ // We keep track of these for the inspector, but NOT the full byte array
37
+ private static int lastDataNx = 0;
38
+ private static int lastDataNy = 0;
39
+ private static float lastDataScale = 1.0f;
40
+ private static float lastDataOffset = 0.0f;
41
+ private static float lastDataMissing = 127.0f;
42
+ private static String lastDataScaleType = "linear";
43
+
44
+ // Store the last file path if we need to re-read for inspector (IOS Parity approach)
45
+ private static String lastDataFilePath = null;
46
+
47
+ public GridRenderLayerView(@NonNull ThemedReactContext context) {
48
+ super(context);
49
+ this.gridLayerImplementation = new GridRenderLayer(context);
50
+ }
51
+
52
+ public void updateDataTexture(String dataFilePathOrBase64, int nx, int ny, float scale, float offset, float missing, String scaleType) {
53
+ if (dataFilePathOrBase64 == null) {
54
+ return;
55
+ }
56
+
57
+ if (!isLayerAdded) {
58
+ findMapViewAndAddLayer();
59
+ }
60
+
61
+ try {
62
+ byte[] compressedData;
63
+ boolean isFile = dataFilePathOrBase64.startsWith("/");
64
+
65
+ if (isFile) {
66
+ lastDataFilePath = dataFilePathOrBase64; // Store path for inspector if needed later
67
+ File file = new File(dataFilePathOrBase64);
68
+ try (FileInputStream fis = new FileInputStream(file)) {
69
+ compressedData = new byte[(int) file.length()];
70
+ fis.read(compressedData);
71
+ }
72
+ } else {
73
+ lastDataFilePath = null;
74
+ compressedData = Base64.decode(dataFilePathOrBase64, Base64.DEFAULT);
75
+ }
76
+
77
+ int expectedLength = nx * ny;
78
+
79
+ // 1. Decompress (This is the only necessary intermediate allocation)
80
+ byte[] decompressedDeltas = Zstd.decompress(compressedData, expectedLength);
81
+
82
+ // 2. Process directly into DirectByteBuffer
83
+ // This avoids creating 2 extra Java Byte Arrays (saving massive GC churn)
84
+ ByteBuffer gpuBuffer = processDataDirectly(decompressedDeltas, expectedLength);
85
+
86
+ // Update Metadata for Inspector
87
+ lastDataNx = nx;
88
+ lastDataNy = ny;
89
+ lastDataScale = scale;
90
+ lastDataOffset = offset;
91
+ lastDataMissing = missing;
92
+ lastDataScaleType = scaleType;
93
+
94
+ // 3. Send to Layer (Pass the buffer directly, do not copy it again in the Layer)
95
+ gridLayerImplementation.updateDataTexture(gpuBuffer, nx, ny, scale, offset, missing, scaleType);
96
+ triggerRepaint();
97
+
98
+ } catch (Exception e) {
99
+ Log.e(TAG, "❌ [View] Error processing data: " + e.getMessage());
100
+ e.printStackTrace();
101
+ }
102
+ }
103
+
104
+ /**
105
+ * OPTIMIZATION: Combines Reconstruction (Delta Decoding) and Transformation (+128)
106
+ * and writes directly to a Native ByteBuffer.
107
+ */
108
+ private ByteBuffer processDataDirectly(byte[] deltas, int length) {
109
+ // Allocate direct memory immediately for OpenGL (Native Heap, not Java Heap)
110
+ ByteBuffer buffer = ByteBuffer.allocateDirect(length);
111
+ buffer.order(ByteOrder.nativeOrder());
112
+
113
+ if (length > 0) {
114
+ byte previous = 0;
115
+ // First pixel
116
+ previous = deltas[0];
117
+ buffer.put((byte)(previous + 128));
118
+
119
+ // Rest of pixels
120
+ for (int i = 1; i < length; i++) {
121
+ previous = (byte) (previous + deltas[i]);
122
+ buffer.put((byte)(previous + 128));
123
+ }
124
+ }
125
+
126
+ buffer.position(0);
127
+ return buffer;
128
+ }
129
+
130
+ // --- Accessors for Inspector (Meta data only) ---
131
+ public static int getLastDataNx() { return lastDataNx; }
132
+ public static int getLastDataNy() { return lastDataNy; }
133
+ public static float getLastDataScale() { return lastDataScale; }
134
+ public static float getLastDataOffset() { return lastDataOffset; }
135
+ public static float getLastDataMissing() { return lastDataMissing; }
136
+ public static String getLastDataScaleType() { return lastDataScaleType; }
137
+ public static String getLastDataFilePath() { return lastDataFilePath; }
138
+
139
+ // --- Standard View Methods ---
140
+
141
+ public void setBelowID(String belowID) { this.belowLayerID = belowID; }
142
+
143
+ @Override
144
+ protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
145
+ super.onLayout(changed, left, top, right, bottom);
146
+ findMapViewAndAddLayer();
147
+ }
148
+
149
+ private void findMapViewAndAddLayer() {
150
+ if (isLayerAdded) return;
151
+ Activity activity = ((ThemedReactContext) getContext()).getCurrentActivity();
152
+ if (activity == null) return;
153
+ View rootView = activity.findViewById(android.R.id.content);
154
+ if (rootView == null) return;
155
+ MapView foundMap = findMapViewRecursive(rootView);
156
+
157
+ if (foundMap != null) {
158
+ this.mapView = foundMap;
159
+ final MapboxMap mapboxMap = mapView.getMapboxMap();
160
+ Style.OnStyleLoaded styleLoadedCallback = style -> {
161
+ if (!isLayerAdded && !style.styleLayerExists(LAYER_ID)) {
162
+ LayerPosition position = null;
163
+ if (this.belowLayerID != null && style.styleLayerExists(this.belowLayerID)) {
164
+ position = new LayerPosition(null, this.belowLayerID, null);
165
+ }
166
+ style.addStyleCustomLayer(LAYER_ID, gridLayerImplementation, position);
167
+ isLayerAdded = true;
168
+ triggerRepaint();
169
+ }
170
+ };
171
+ Style currentStyle = mapboxMap.getStyle();
172
+ if (currentStyle != null && currentStyle.isStyleLoaded()) {
173
+ styleLoadedCallback.onStyleLoaded(currentStyle);
174
+ } else {
175
+ mapboxMap.getStyle(styleLoadedCallback);
176
+ }
177
+ }
178
+ }
179
+
180
+ private MapView findMapViewRecursive(View view) {
181
+ if (view instanceof MapView) return (MapView) view;
182
+ if (view instanceof ViewGroup) {
183
+ ViewGroup viewGroup = (ViewGroup) view;
184
+ for (int i = 0; i < viewGroup.getChildCount(); i++) {
185
+ MapView found = findMapViewRecursive(viewGroup.getChildAt(i));
186
+ if (found != null) return found;
187
+ }
188
+ }
189
+ return null;
190
+ }
191
+
192
+ private void triggerRepaint() {
193
+ if (mapView != null) mapView.post(mapView.getMapboxMap()::triggerRepaint);
194
+ }
195
+
196
+ public void setOpacity(float opacity) { gridLayerImplementation.setOpacity(opacity); triggerRepaint(); }
197
+ public void setSmoothing(boolean enabled) { gridLayerImplementation.setSmoothing(enabled); triggerRepaint(); }
198
+ public void setDataRange(float[] range) { gridLayerImplementation.setDataRange(range); triggerRepaint(); }
199
+ public void setConversionType(int conversionType) { gridLayerImplementation.setConversionType(conversionType); triggerRepaint(); }
200
+
201
+ public void updateColormapTexture(String colormapAsBase64) {
202
+ if (colormapAsBase64 == null) return;
203
+ if (!isLayerAdded) findMapViewAndAddLayer();
204
+ byte[] bytes = Base64.decode(colormapAsBase64, Base64.DEFAULT);
205
+ ByteBuffer colormapBuffer = ByteBuffer.allocateDirect(bytes.length);
206
+ colormapBuffer.put(bytes);
207
+ colormapBuffer.position(0);
208
+ gridLayerImplementation.updateColormapTexture(colormapBuffer);
209
+ }
210
+
211
+ public void updateGeometry(ReadableMap corners, ReadableMap gridDef) {
212
+ if (!isLayerAdded) findMapViewAndAddLayer();
213
+ gridLayerImplementation.updateGeometry(corners, gridDef);
214
+ triggerRepaint();
215
+ }
216
+
217
+ public void updateDataParameters(float scale, float offset, float missing) {
218
+ lastDataScale = scale;
219
+ lastDataOffset = offset;
220
+ lastDataMissing = missing;
221
+ gridLayerImplementation.updateDataParameters(scale, offset, missing);
222
+ }
223
+
224
+ public void clearData() {
225
+ gridLayerImplementation.clearData();
226
+ triggerRepaint();
227
+ }
228
+
229
+ public void setVariable(String variable) {
230
+ gridLayerImplementation.setVariable(variable);
231
+ triggerRepaint();
232
+ }
305
233
  }