@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,107 +1,107 @@
1
- package com.aguacerowx.reactnative;
2
-
3
- import android.content.Context;
4
- import android.opengl.GLES20;
5
- import android.util.Log;
6
-
7
- import java.io.BufferedReader;
8
- import java.io.IOException;
9
- import java.io.InputStream;
10
- import java.io.InputStreamReader;
11
-
12
- /**
13
- * Utility class for loading, compiling, and linking OpenGL ES 2.0 shaders.
14
- */
15
- public class ShaderUtils {
16
-
17
- public static final String TAG = "ShaderUtils";
18
-
19
- /**
20
- * Reads a raw text file from the res/raw directory.
21
- *
22
- * @param context The application context.
23
- * @param resourceId The resource ID (e.g., R.raw.vertex_shader).
24
- * @return The content of the file as a String.
25
- */
26
- public static String readRawTextFile(Context context, int resourceId) {
27
- InputStream inputStream = context.getResources().openRawResource(resourceId);
28
- InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
29
- BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
30
- String nextLine;
31
- StringBuilder body = new StringBuilder();
32
- try {
33
- while ((nextLine = bufferedReader.readLine()) != null) {
34
- body.append(nextLine);
35
- body.append('\n');
36
- }
37
- } catch (IOException e) {
38
- return null;
39
- }
40
- return body.toString();
41
- }
42
-
43
- /**
44
- * Compiles a shader from source code.
45
- *
46
- * @param type The shader type (GLES20.GL_VERTEX_SHADER or GLES20.GL_FRAGMENT_SHADER).
47
- * @param shaderCode The GLSL source code.
48
- * @return The handle to the compiled shader.
49
- */
50
- private static int compileShader(int type, String shaderCode) {
51
- final int shader = GLES20.glCreateShader(type);
52
- if (shader == 0) {
53
- Log.e(TAG, "glCreateShader failed for type " + type);
54
- return 0;
55
- }
56
- GLES20.glShaderSource(shader, shaderCode);
57
- GLES20.glCompileShader(shader);
58
-
59
- final int[] compileStatus = new int[1];
60
- GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compileStatus, 0);
61
- if (compileStatus[0] == 0) {
62
- Log.e(TAG, "Shader compilation failed: " + GLES20.glGetShaderInfoLog(shader));
63
- GLES20.glDeleteShader(shader);
64
- return 0;
65
- }
66
- return shader;
67
- }
68
-
69
- /**
70
- * Links a vertex and fragment shader into a complete OpenGL program.
71
- *
72
- * @param vertexShaderCode The vertex shader source code.
73
- * @param fragmentShaderCode The fragment shader source code.
74
- * @return The handle to the linked program.
75
- */
76
- public static int createProgram(String vertexShaderCode, String fragmentShaderCode) {
77
- int vertexShader = compileShader(GLES20.GL_VERTEX_SHADER, vertexShaderCode);
78
- int fragmentShader = compileShader(GLES20.GL_FRAGMENT_SHADER, fragmentShaderCode);
79
-
80
- if (vertexShader == 0 || fragmentShader == 0) {
81
- return 0;
82
- }
83
-
84
- final int program = GLES20.glCreateProgram();
85
- if (program == 0) {
86
- Log.e(TAG, "glCreateProgram failed");
87
- return 0;
88
- }
89
- GLES20.glAttachShader(program, vertexShader);
90
- GLES20.glAttachShader(program, fragmentShader);
91
- GLES20.glLinkProgram(program);
92
-
93
- final int[] linkStatus = new int[1];
94
- GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
95
- if (linkStatus[0] == 0) {
96
- Log.e(TAG, "Program linking failed: " + GLES20.glGetProgramInfoLog(program));
97
- GLES20.glDeleteProgram(program);
98
- return 0;
99
- }
100
-
101
- // Shaders are no longer needed after linking
102
- GLES20.glDeleteShader(vertexShader);
103
- GLES20.glDeleteShader(fragmentShader);
104
-
105
- return program;
106
- }
1
+ package com.aguacerowx.reactnative;
2
+
3
+ import android.content.Context;
4
+ import android.opengl.GLES20;
5
+ import android.util.Log;
6
+
7
+ import java.io.BufferedReader;
8
+ import java.io.IOException;
9
+ import java.io.InputStream;
10
+ import java.io.InputStreamReader;
11
+
12
+ /**
13
+ * Utility class for loading, compiling, and linking OpenGL ES 2.0 shaders.
14
+ */
15
+ public class ShaderUtils {
16
+
17
+ public static final String TAG = "ShaderUtils";
18
+
19
+ /**
20
+ * Reads a raw text file from the res/raw directory.
21
+ *
22
+ * @param context The application context.
23
+ * @param resourceId The resource ID (e.g., R.raw.vertex_shader).
24
+ * @return The content of the file as a String.
25
+ */
26
+ public static String readRawTextFile(Context context, int resourceId) {
27
+ InputStream inputStream = context.getResources().openRawResource(resourceId);
28
+ InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
29
+ BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
30
+ String nextLine;
31
+ StringBuilder body = new StringBuilder();
32
+ try {
33
+ while ((nextLine = bufferedReader.readLine()) != null) {
34
+ body.append(nextLine);
35
+ body.append('\n');
36
+ }
37
+ } catch (IOException e) {
38
+ return null;
39
+ }
40
+ return body.toString();
41
+ }
42
+
43
+ /**
44
+ * Compiles a shader from source code.
45
+ *
46
+ * @param type The shader type (GLES20.GL_VERTEX_SHADER or GLES20.GL_FRAGMENT_SHADER).
47
+ * @param shaderCode The GLSL source code.
48
+ * @return The handle to the compiled shader.
49
+ */
50
+ private static int compileShader(int type, String shaderCode) {
51
+ final int shader = GLES20.glCreateShader(type);
52
+ if (shader == 0) {
53
+ Log.e(TAG, "glCreateShader failed for type " + type);
54
+ return 0;
55
+ }
56
+ GLES20.glShaderSource(shader, shaderCode);
57
+ GLES20.glCompileShader(shader);
58
+
59
+ final int[] compileStatus = new int[1];
60
+ GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compileStatus, 0);
61
+ if (compileStatus[0] == 0) {
62
+ Log.e(TAG, "Shader compilation failed: " + GLES20.glGetShaderInfoLog(shader));
63
+ GLES20.glDeleteShader(shader);
64
+ return 0;
65
+ }
66
+ return shader;
67
+ }
68
+
69
+ /**
70
+ * Links a vertex and fragment shader into a complete OpenGL program.
71
+ *
72
+ * @param vertexShaderCode The vertex shader source code.
73
+ * @param fragmentShaderCode The fragment shader source code.
74
+ * @return The handle to the linked program.
75
+ */
76
+ public static int createProgram(String vertexShaderCode, String fragmentShaderCode) {
77
+ int vertexShader = compileShader(GLES20.GL_VERTEX_SHADER, vertexShaderCode);
78
+ int fragmentShader = compileShader(GLES20.GL_FRAGMENT_SHADER, fragmentShaderCode);
79
+
80
+ if (vertexShader == 0 || fragmentShader == 0) {
81
+ return 0;
82
+ }
83
+
84
+ final int program = GLES20.glCreateProgram();
85
+ if (program == 0) {
86
+ Log.e(TAG, "glCreateProgram failed");
87
+ return 0;
88
+ }
89
+ GLES20.glAttachShader(program, vertexShader);
90
+ GLES20.glAttachShader(program, fragmentShader);
91
+ GLES20.glLinkProgram(program);
92
+
93
+ final int[] linkStatus = new int[1];
94
+ GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
95
+ if (linkStatus[0] == 0) {
96
+ Log.e(TAG, "Program linking failed: " + GLES20.glGetProgramInfoLog(program));
97
+ GLES20.glDeleteProgram(program);
98
+ return 0;
99
+ }
100
+
101
+ // Shaders are no longer needed after linking
102
+ GLES20.glDeleteShader(vertexShader);
103
+ GLES20.glDeleteShader(fragmentShader);
104
+
105
+ return program;
106
+ }
107
107
  }
@@ -1,152 +1,271 @@
1
- package com.aguacerowx.reactnative;
2
-
3
- import androidx.annotation.NonNull;
4
- import android.util.Base64;
5
-
6
- import com.facebook.react.bridge.Arguments;
7
- import com.facebook.react.bridge.Promise; // CHANGED: Import Promise instead of Callback
8
- import com.facebook.react.bridge.ReactApplicationContext;
9
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
10
- import com.facebook.react.bridge.ReactMethod;
11
- import com.facebook.react.bridge.ReadableMap;
12
- import com.facebook.react.bridge.WritableMap;
13
- import com.facebook.react.modules.network.OkHttpClientProvider;
14
- import android.util.Log;
15
-
16
- import org.json.JSONObject;
17
-
18
- import java.io.ByteArrayOutputStream;
19
- import java.io.File;
20
- import java.io.FileOutputStream;
21
- import java.io.IOException;
22
-
23
- import java.nio.charset.StandardCharsets;
24
- import java.util.concurrent.ExecutorService;
25
- import java.util.concurrent.Executors;
26
-
27
- import okhttp3.OkHttpClient;
28
- import okhttp3.Request;
29
- import okhttp3.Response;
30
- import okhttp3.ResponseBody;
31
-
32
-
33
- public class WeatherFrameProcessorModule extends ReactContextBaseJavaModule {
34
-
35
- private final ExecutorService executorService;
36
- private volatile int currentRunToken = 0;
37
- private final ReactApplicationContext reactContext;
38
-
39
- WeatherFrameProcessorModule(ReactApplicationContext context) {
40
- super(context);
41
- this.reactContext = context;
42
-
43
- int coreCount = Runtime.getRuntime().availableProcessors();
44
- int optimalWorkerCount = Math.max(4, Math.min(coreCount - 1, 8));
45
-
46
- this.executorService = Executors.newFixedThreadPool(optimalWorkerCount);
47
- android.util.Log.d("AguaceroWX", "Initialized with " + optimalWorkerCount + " workers (" + coreCount + " cores available)");
48
- }
49
-
50
- @ReactMethod
51
- public void cancelAllFrames() {
52
- currentRunToken++;
53
- }
54
-
55
- @NonNull
56
- @Override
57
- public String getName() {
58
- return "WeatherFrameProcessorModule";
59
- }
60
-
61
- @ReactMethod
62
- public void processFrame(ReadableMap options, Promise promise) { // CHANGED: Use Promise instead of Callback
63
- final int taskToken = this.currentRunToken;
64
- executorService.execute(() -> {
65
- FileOutputStream fos = null;
66
- try {
67
- if (taskToken != this.currentRunToken) {
68
- return; // Task was cancelled
69
- }
70
-
71
- OkHttpClient client = OkHttpClientProvider.getOkHttpClient();
72
-
73
- String urlString = options.getString("url");
74
- String apiKey = options.getString("apiKey");
75
- String bundleId = options.getString("bundleId");
76
-
77
- Request.Builder requestBuilder = new Request.Builder()
78
- .url(urlString)
79
- .header("x-api-key", apiKey);
80
-
81
- if (bundleId != null) {
82
- requestBuilder.header("x-app-identifier", bundleId);
83
- }
84
-
85
- Request request = requestBuilder.build();
86
-
87
- String responseString;
88
- try (Response response = client.newCall(request).execute()) {
89
- if (!response.isSuccessful()) {
90
- throw new IOException("HTTP Error: " + response.code());
91
- }
92
-
93
- ResponseBody body = response.body();
94
- if (body == null) {
95
- throw new IOException("Response body was null");
96
- }
97
- responseString = body.string();
98
- }
99
-
100
- JSONObject jsonResponse = new JSONObject(responseString);
101
- if (!jsonResponse.has("data") || !jsonResponse.has("encoding")) {
102
- throw new IOException("Invalid API response. 'data' or 'encoding' key is missing. Response: " + responseString);
103
- }
104
-
105
- String b64CompressedData = jsonResponse.getString("data");
106
- JSONObject encoding = jsonResponse.getJSONObject("encoding");
107
-
108
- if (!encoding.has("scale") || !encoding.has("offset") || !encoding.has("missing_quantized")) {
109
- throw new IOException("Invalid 'encoding' object in API response. Required keys are missing. Response: " + responseString);
110
- }
111
-
112
- byte[] compressedData = Base64.decode(b64CompressedData, Base64.DEFAULT);
113
-
114
- File cacheDir = reactContext.getCacheDir();
115
- String fileName = "frame_" + urlString.hashCode() + ".zst";
116
- File dataFile = new File(cacheDir, fileName);
117
-
118
- fos = new FileOutputStream(dataFile);
119
- fos.write(compressedData);
120
- fos.flush();
121
- fos.close();
122
- fos = null;
123
-
124
- WritableMap responseMap = Arguments.createMap();
125
- responseMap.putString("filePath", dataFile.getAbsolutePath());
126
- responseMap.putDouble("scale", encoding.getDouble("scale"));
127
- responseMap.putDouble("offset", encoding.getDouble("offset"));
128
- responseMap.putDouble("missing", encoding.getDouble("missing_quantized"));
129
- if (encoding.has("scale_type")) {
130
- responseMap.putString("scaleType", encoding.getString("scale_type"));
131
- }
132
- responseMap.putString("dataAsBase64", b64CompressedData);
133
-
134
- promise.resolve(responseMap); // CHANGED: Use promise.resolve() instead of callback
135
-
136
- } catch (Exception e) {
137
- if (taskToken == this.currentRunToken) {
138
- android.util.Log.e("AguaceroWX", "Error processing frame", e);
139
- promise.reject("PROCESSING_ERROR", e.getMessage(), e); // CHANGED: Use promise.reject() instead of callback
140
- }
141
- } finally {
142
- if (fos != null) {
143
- try {
144
- fos.close();
145
- } catch (IOException e) {
146
- android.util.Log.e("AguaceroWX", "Error closing file stream", e);
147
- }
148
- }
149
- }
150
- });
151
- }
1
+ package com.aguacerowx.reactnative;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import android.util.Base64;
5
+ import android.util.Log;
6
+
7
+ import com.facebook.react.bridge.Arguments;
8
+ import com.facebook.react.bridge.Promise;
9
+ import com.facebook.react.bridge.ReactApplicationContext;
10
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
11
+ import com.facebook.react.bridge.ReactMethod;
12
+ import com.facebook.react.bridge.ReadableMap;
13
+ import com.facebook.react.bridge.WritableMap;
14
+
15
+ import org.json.JSONObject;
16
+
17
+ import java.io.File;
18
+ import java.io.FileOutputStream;
19
+ import java.io.IOException;
20
+ import java.util.Collections;
21
+ import java.util.Set;
22
+ import java.util.concurrent.ConcurrentHashMap;
23
+ import java.util.concurrent.ExecutorService;
24
+ import java.util.concurrent.Executors;
25
+ import java.util.concurrent.Semaphore;
26
+ import java.util.concurrent.TimeUnit;
27
+ import java.util.concurrent.atomic.AtomicInteger;
28
+
29
+ import okhttp3.Call;
30
+ import okhttp3.Callback;
31
+ import okhttp3.ConnectionPool;
32
+ import okhttp3.Dispatcher;
33
+ import okhttp3.OkHttpClient;
34
+ import okhttp3.Request;
35
+ import okhttp3.Response;
36
+ import okhttp3.ResponseBody;
37
+
38
+ public class WeatherFrameProcessorModule extends ReactContextBaseJavaModule {
39
+
40
+ private static final String TAG = "AguaceroWX_Perf";
41
+ private final AtomicInteger currentRunToken = new AtomicInteger(0);
42
+ private final ReactApplicationContext reactContext;
43
+ private final OkHttpClient httpClient;
44
+
45
+ // FIX 1: Use an ExecutorService instead of "new Thread()".
46
+ // CachedThreadPool reuses threads and scales down when idle.
47
+ private final ExecutorService taskExecutor = Executors.newCachedThreadPool();
48
+
49
+ // FIX 2: Reduce concurrency to 4.
50
+ // 6 concurrent JSON parsings + Base64 decodings causes GC thrashing on mobile.
51
+ // 4 is the "sweet spot" for throughput vs memory.
52
+ private static final int MAX_CONCURRENT = 4;
53
+ private final Semaphore semaphore = new Semaphore(MAX_CONCURRENT, true);
54
+
55
+ private final Set<Call> activeCalls = Collections.newSetFromMap(new ConcurrentHashMap<>());
56
+
57
+ WeatherFrameProcessorModule(ReactApplicationContext context) {
58
+ super(context);
59
+ this.reactContext = context;
60
+
61
+ Dispatcher dispatcher = new Dispatcher();
62
+ dispatcher.setMaxRequests(64);
63
+ dispatcher.setMaxRequestsPerHost(32);
64
+
65
+ this.httpClient = new OkHttpClient.Builder()
66
+ .dispatcher(dispatcher)
67
+ .connectionPool(new ConnectionPool(MAX_CONCURRENT, 30, TimeUnit.SECONDS))
68
+ .connectTimeout(15, TimeUnit.SECONDS)
69
+ .readTimeout(30, TimeUnit.SECONDS)
70
+ .writeTimeout(15, TimeUnit.SECONDS)
71
+ .build();
72
+
73
+ Log.d(TAG, "[FrameProcessor] Initialized | MAX_CONCURRENT=" + MAX_CONCURRENT);
74
+ }
75
+
76
+ @ReactMethod
77
+ public void cancelAllFrames() {
78
+ int newToken = currentRunToken.incrementAndGet();
79
+
80
+ // Hard-cancel every tracked OkHttp call
81
+ int cancelledCount = 0;
82
+ for (Call call : activeCalls) {
83
+ if (!call.isCanceled()) {
84
+ call.cancel();
85
+ cancelledCount++;
86
+ }
87
+ }
88
+ activeCalls.clear();
89
+
90
+ // Release all semaphore permits to unblock the Executor queue
91
+ semaphore.drainPermits();
92
+ semaphore.release(MAX_CONCURRENT);
93
+
94
+ Log.d(TAG, "[FrameProcessor] cancelAllFrames — token: " + newToken
95
+ + " | hard-cancelled " + cancelledCount + " in-flight calls"
96
+ + " | semaphore reset to " + MAX_CONCURRENT);
97
+ }
98
+
99
+ @NonNull
100
+ @Override
101
+ public String getName() {
102
+ return "WeatherFrameProcessorModule";
103
+ }
104
+
105
+ @ReactMethod
106
+ public void processFrame(ReadableMap options, Promise promise) {
107
+ final int taskToken = currentRunToken.get();
108
+ final long tTotal0 = System.nanoTime();
109
+
110
+ final String urlString = options.getString("url");
111
+ final String apiKey = options.getString("apiKey");
112
+ final String bundleId = options.hasKey("bundleId") ? options.getString("bundleId") : null;
113
+
114
+ // FIX 3: Submit to Executor instead of spinning up a raw OS thread
115
+ taskExecutor.execute(() -> {
116
+ try {
117
+ if (currentRunToken.get() != taskToken) return;
118
+
119
+ // This blocks the Executor thread (which is fine, it's a pool)
120
+ // until a slot is available
121
+ semaphore.acquire();
122
+
123
+ if (currentRunToken.get() != taskToken) {
124
+ semaphore.release();
125
+ return;
126
+ }
127
+
128
+ Request.Builder requestBuilder = new Request.Builder()
129
+ .url(urlString)
130
+ .header("x-api-key", apiKey);
131
+ if (bundleId != null) requestBuilder.header("x-app-identifier", bundleId);
132
+ Request request = requestBuilder.build();
133
+
134
+ final long tNet0 = System.nanoTime();
135
+ Call call = httpClient.newCall(request);
136
+ activeCalls.add(call);
137
+
138
+ call.enqueue(new Callback() {
139
+ @Override
140
+ public void onFailure(@NonNull Call call, @NonNull IOException e) {
141
+ activeCalls.remove(call);
142
+ semaphore.release(); // IMPORTANT: Release immediately on fail
143
+
144
+ if (currentRunToken.get() != taskToken) return;
145
+ if (!call.isCanceled()) {
146
+ Log.e(TAG, "[FrameProcessor] Network failure: " + e.getMessage());
147
+ promise.reject("NETWORK_ERROR", e.getMessage(), e);
148
+ }
149
+ }
150
+
151
+ @Override
152
+ public void onResponse(@NonNull Call call, @NonNull Response response) {
153
+ activeCalls.remove(call);
154
+ // NOTE: We hold the semaphore until processing is done to prevent
155
+ // CPU saturation from JSON parsing.
156
+
157
+ // Check token immediately
158
+ if (currentRunToken.get() != taskToken) {
159
+ response.close();
160
+ semaphore.release();
161
+ return;
162
+ }
163
+
164
+ FileOutputStream fos = null;
165
+ try {
166
+ long tNet1 = System.nanoTime();
167
+ Log.d(TAG, "[FrameProcessor] Network: " + ((tNet1 - tNet0) / 1_000_000) + " ms");
168
+
169
+ if (!response.isSuccessful()) {
170
+ promise.reject("HTTP_ERROR", "HTTP " + response.code());
171
+ return;
172
+ }
173
+
174
+ ResponseBody body = response.body();
175
+ if (body == null) {
176
+ promise.reject("NO_DATA", "Response body was null");
177
+ return;
178
+ }
179
+
180
+ byte[] bodyBytes = body.bytes();
181
+
182
+ if (currentRunToken.get() != taskToken) return;
183
+
184
+ // JSON parse
185
+ long tJson0 = System.nanoTime();
186
+ // This line is the memory killer. We convert bytes -> String -> JSONObject.
187
+ String jsonString = new String(bodyBytes);
188
+ bodyBytes = null; // FIX 4: Nullify immediately to help GC
189
+
190
+ JSONObject jsonResponse = new JSONObject(jsonString);
191
+ jsonString = null; // FIX 4: Nullify immediately
192
+
193
+ if (!jsonResponse.has("data") || !jsonResponse.has("encoding")) {
194
+ promise.reject("INVALID_RESPONSE", "Invalid API response structure");
195
+ return;
196
+ }
197
+
198
+ String b64CompressedData = jsonResponse.getString("data");
199
+ JSONObject encoding = jsonResponse.getJSONObject("encoding");
200
+
201
+ // Don't need the huge JSON object anymore
202
+ jsonResponse = null;
203
+
204
+ long tJson1 = System.nanoTime();
205
+ Log.d(TAG, "[FrameProcessor] JSON parse: " + ((tJson1 - tJson0) / 1_000_000) + " ms");
206
+
207
+ if (currentRunToken.get() != taskToken) return;
208
+
209
+ // Base64 decode
210
+ long tB640 = System.nanoTime();
211
+ byte[] compressedData = Base64.decode(b64CompressedData, Base64.DEFAULT);
212
+ b64CompressedData = null; // FIX 4: Nullify immediately
213
+
214
+ long tB641 = System.nanoTime();
215
+ Log.d(TAG, "[FrameProcessor] Base64 decode: " + ((tB641 - tB640) / 1_000_000) + " ms, size: " + compressedData.length);
216
+
217
+ if (currentRunToken.get() != taskToken) return;
218
+
219
+ // Disk write
220
+ long tDisk0 = System.nanoTime();
221
+ File cacheDir = reactContext.getCacheDir();
222
+ // Use a unique name based on hash
223
+ String fileName = "frame_" + urlString.hashCode() + ".zst";
224
+ File dataFile = new File(cacheDir, fileName);
225
+
226
+ fos = new FileOutputStream(dataFile);
227
+ fos.write(compressedData);
228
+ fos.flush();
229
+
230
+ long tDisk1 = System.nanoTime();
231
+ Log.d(TAG, "[FrameProcessor] Disk write: " + ((tDisk1 - tDisk0) / 1_000_000) + " ms");
232
+
233
+ WritableMap responseMap = Arguments.createMap();
234
+ responseMap.putString("filePath", dataFile.getAbsolutePath());
235
+ responseMap.putDouble("scale", encoding.getDouble("scale"));
236
+ responseMap.putDouble("offset", encoding.getDouble("offset"));
237
+ responseMap.putDouble("missing", encoding.getDouble("missing_quantized"));
238
+ if (encoding.has("scale_type")) {
239
+ responseMap.putString("scaleType", encoding.getString("scale_type"));
240
+ }
241
+
242
+ long tTotal1 = System.nanoTime();
243
+ Log.d(TAG, "[FrameProcessor] TOTAL processFrame: " + ((tTotal1 - tTotal0) / 1_000_000) + " ms");
244
+
245
+ promise.resolve(responseMap);
246
+
247
+ } catch (Exception e) {
248
+ if (currentRunToken.get() == taskToken) {
249
+ Log.e(TAG, "[FrameProcessor] Error: " + e.getMessage(), e);
250
+ promise.reject("PROCESSING_ERROR", e.getMessage(), e);
251
+ }
252
+ } finally {
253
+ // FIX 5: Ensure resources are closed and semaphore is released
254
+ if (fos != null) {
255
+ try { fos.close(); } catch (IOException ex) { /* ignore */ }
256
+ }
257
+ response.close();
258
+ semaphore.release();
259
+ }
260
+ }
261
+ });
262
+
263
+ } catch (InterruptedException e) {
264
+ Thread.currentThread().interrupt();
265
+ // If interrupted while waiting for semaphore, just exit
266
+ } catch (Exception e) {
267
+ promise.reject("EXECUTION_ERROR", e.getMessage());
268
+ }
269
+ });
270
+ }
152
271
  }