@aguacerowx/react-native 0.0.8 → 0.0.9

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 (274) hide show
  1. package/android/build/.transforms/78b892a9dae44f36e51ff0649e9c6e36/transformed/classes/classes_dex/classes.dex +0 -0
  2. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
  3. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
  4. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
  5. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
  6. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
  7. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  8. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  9. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  10. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  11. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  12. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  13. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  14. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  15. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  16. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  17. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  18. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  19. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  20. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
  21. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  22. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
  23. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
  24. package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
  25. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
  26. package/ios/AguaceroPackage.m +19 -0
  27. package/ios/FragmentUniforms.swift +14 -0
  28. package/ios/GridRenderLayer.swift +959 -59
  29. package/ios/GridRenderLayerBridge.swift +30 -0
  30. package/ios/GridRenderLayerManager.mm +104 -98
  31. package/ios/GridRenderLayerView.h +23 -0
  32. package/ios/GridRenderLayerView.m +199 -0
  33. package/ios/InspectorDataCache.swift +66 -0
  34. package/ios/InspectorModule.m +10 -0
  35. package/ios/InspectorModule.swift +64 -0
  36. package/ios/Shaders.metal +131 -0
  37. package/ios/WeatherFrameProcessorModule.m +16 -0
  38. package/ios/WeatherFrameProcessorModule.swift +104 -0
  39. package/ios/aguacerowx-react-native.podspec +21 -14
  40. package/lib/commonjs/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  41. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  42. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  43. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  44. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  45. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  46. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  47. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  48. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  49. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  50. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  51. package/lib/commonjs/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  52. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  53. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
  54. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  55. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
  56. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
  57. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
  58. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
  59. package/lib/commonjs/ios/AguaceroPackage.m +19 -0
  60. package/lib/commonjs/ios/FragmentUniforms.swift +14 -0
  61. package/lib/commonjs/ios/GridRenderLayer.swift +962 -0
  62. package/lib/commonjs/ios/GridRenderLayerBridge.swift +30 -0
  63. package/lib/commonjs/ios/GridRenderLayerManager.mm +146 -0
  64. package/lib/commonjs/ios/GridRenderLayerView.h +23 -0
  65. package/lib/commonjs/ios/GridRenderLayerView.m +199 -0
  66. package/lib/commonjs/ios/InspectorDataCache.swift +66 -0
  67. package/lib/commonjs/ios/InspectorModule.m +10 -0
  68. package/lib/commonjs/ios/InspectorModule.swift +64 -0
  69. package/lib/commonjs/ios/Shaders.metal +131 -0
  70. package/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
  71. package/lib/commonjs/ios/WeatherFrameProcessorModule.swift +104 -0
  72. package/lib/commonjs/ios/aguacerowx-react-native.podspec +36 -0
  73. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
  74. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
  75. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
  76. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
  77. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
  78. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
  79. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
  80. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
  81. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
  82. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
  83. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
  84. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
  85. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
  86. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
  87. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
  88. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
  89. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
  90. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
  91. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
  92. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
  93. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
  94. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1029 -0
  95. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
  96. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +381 -0
  97. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
  98. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1229 -0
  99. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
  100. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4023 -0
  101. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
  102. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +38 -0
  103. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
  104. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +30 -0
  105. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
  106. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +27 -0
  107. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
  108. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +41 -0
  109. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
  110. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +301 -0
  111. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
  112. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +126 -0
  113. package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
  114. package/lib/commonjs/package.json +9 -17
  115. package/lib/commonjs/src/GridRenderLayer.js +32 -7
  116. package/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  117. package/lib/commonjs/src/MapManager.js +1 -4
  118. package/lib/commonjs/src/MapManager.js.map +1 -1
  119. package/lib/commonjs/src/WeatherLayerManager.js +236 -210
  120. package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  121. package/lib/module/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  122. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  123. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  124. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  125. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  126. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  127. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  128. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  129. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  130. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  131. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  132. package/lib/module/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  133. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  134. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
  135. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  136. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
  137. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
  138. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
  139. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
  140. package/lib/module/ios/AguaceroPackage.m +19 -0
  141. package/lib/module/ios/FragmentUniforms.swift +14 -0
  142. package/lib/module/ios/GridRenderLayer.swift +962 -0
  143. package/lib/module/ios/GridRenderLayerBridge.swift +30 -0
  144. package/lib/module/ios/GridRenderLayerManager.mm +146 -0
  145. package/lib/module/ios/GridRenderLayerView.h +23 -0
  146. package/lib/module/ios/GridRenderLayerView.m +199 -0
  147. package/lib/module/ios/InspectorDataCache.swift +66 -0
  148. package/lib/module/ios/InspectorModule.m +10 -0
  149. package/lib/module/ios/InspectorModule.swift +64 -0
  150. package/lib/module/ios/Shaders.metal +131 -0
  151. package/lib/module/ios/WeatherFrameProcessorModule.m +16 -0
  152. package/lib/module/ios/WeatherFrameProcessorModule.swift +104 -0
  153. package/lib/module/ios/aguacerowx-react-native.podspec +36 -0
  154. package/lib/module/lib/commonjs/ios/AguaceroPackage.m +19 -0
  155. package/lib/module/lib/commonjs/ios/FragmentUniforms.swift +14 -0
  156. package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +962 -0
  157. package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +30 -0
  158. package/lib/module/lib/commonjs/ios/GridRenderLayerManager.mm +146 -0
  159. package/lib/module/lib/commonjs/ios/GridRenderLayerView.h +23 -0
  160. package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +199 -0
  161. package/lib/module/lib/commonjs/ios/InspectorDataCache.swift +66 -0
  162. package/lib/module/lib/commonjs/ios/InspectorModule.m +10 -0
  163. package/lib/module/lib/commonjs/ios/InspectorModule.swift +64 -0
  164. package/lib/module/lib/commonjs/ios/Shaders.metal +131 -0
  165. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
  166. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.swift +104 -0
  167. package/lib/module/lib/commonjs/ios/aguacerowx-react-native.podspec +36 -0
  168. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
  169. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
  170. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
  171. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
  172. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
  173. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
  174. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
  175. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
  176. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
  177. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
  178. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
  179. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
  180. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
  181. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
  182. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
  183. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
  184. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
  185. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
  186. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
  187. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
  188. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
  189. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1033 -0
  190. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
  191. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +381 -0
  192. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
  193. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1229 -0
  194. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
  195. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4023 -0
  196. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
  197. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +38 -0
  198. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
  199. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +30 -0
  200. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
  201. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +27 -0
  202. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
  203. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +41 -0
  204. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
  205. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +301 -0
  206. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
  207. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +126 -0
  208. package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
  209. package/lib/module/lib/commonjs/package.json +9 -17
  210. package/lib/module/lib/commonjs/src/GridRenderLayer.js +32 -7
  211. package/lib/module/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  212. package/lib/module/lib/commonjs/src/MapManager.js +1 -4
  213. package/lib/module/lib/commonjs/src/MapManager.js.map +1 -1
  214. package/lib/module/lib/commonjs/src/WeatherLayerManager.js +236 -210
  215. package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  216. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
  217. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
  218. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
  219. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
  220. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
  221. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
  222. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
  223. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
  224. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
  225. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
  226. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
  227. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
  228. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
  229. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
  230. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
  231. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
  232. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
  233. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
  234. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
  235. package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
  236. package/lib/module/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
  237. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1021 -0
  238. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
  239. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +375 -0
  240. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
  241. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1223 -0
  242. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
  243. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4017 -0
  244. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
  245. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js +31 -0
  246. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
  247. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +29 -0
  248. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
  249. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +21 -0
  250. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
  251. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js +12 -0
  252. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
  253. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +295 -0
  254. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
  255. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +119 -0
  256. package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
  257. package/lib/module/package.json +9 -17
  258. package/lib/module/src/GridRenderLayer.js +32 -7
  259. package/lib/module/src/GridRenderLayer.js.map +1 -1
  260. package/lib/module/src/MapManager.js +1 -4
  261. package/lib/module/src/MapManager.js.map +1 -1
  262. package/lib/module/src/WeatherLayerManager.js +237 -211
  263. package/lib/module/src/WeatherLayerManager.js.map +1 -1
  264. package/lib/typescript/src/GridRenderLayer.d.ts.map +1 -1
  265. package/lib/typescript/src/MapManager.d.ts.map +1 -1
  266. package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
  267. package/package.json +9 -17
  268. package/src/AguaceroContext.js +4 -0
  269. package/src/GridRenderLayer.js +205 -0
  270. package/src/GridRenderLayerNativeComponent.ts +16 -0
  271. package/src/MapManager.js +156 -0
  272. package/src/MapRegistry.js +35 -0
  273. package/src/StyleApplicator.js +241 -0
  274. package/src/WeatherLayerManager.js +873 -0
@@ -0,0 +1,30 @@
1
+ import Foundation
2
+ @_spi(Experimental) import MapboxMaps
3
+
4
+ @objc public class GridRenderLayerBridge: NSObject {
5
+
6
+ @objc public static func addCustomLayer(
7
+ to mapView: MapView,
8
+ layerHost: CustomLayerHost,
9
+ layerId: String,
10
+ belowLayerId: String?
11
+ ) -> Bool {
12
+ let position: LayerPosition? = belowLayerId.map { .below($0) }
13
+
14
+ // Create a CustomLayer object
15
+ var customLayer = CustomLayer(id: layerId, renderer: layerHost)
16
+
17
+ do {
18
+ try mapView.mapboxMap.addLayer(customLayer, layerPosition: position)
19
+ print("✅ [GridRenderLayerBridge] Successfully added custom layer!")
20
+ return true
21
+ } catch {
22
+ print("❌ [GridRenderLayerBridge] Failed to add layer: \(error)")
23
+ return false
24
+ }
25
+ }
26
+
27
+ @objc public static func triggerRepaint(on mapView: MapView) {
28
+ mapView.mapboxMap.triggerRepaint()
29
+ }
30
+ }
@@ -1,140 +1,146 @@
1
1
  #import <React/RCTViewManager.h>
2
2
  #import <React/RCTUIManager.h>
3
3
  #import <React/RCTLog.h>
4
+ #import "GridRenderLayerView.h"
4
5
 
5
- // This import uses the module name from your podspec `aguacerowx-react-native` -> `aguacerowx_react_native`).
6
- #import <aguacerowx_react_native/aguacerowx_react_native-Swift.h>
6
+ // Import Swift bridging header here
7
+ #if __has_include("aguacerowx_react_native-Swift.h")
8
+ #import "aguacerowx_react_native-Swift.h"
9
+ #else
10
+ #import <aguacerowx_react_native/aguacerowx_react_native-Swift.h>
11
+ #endif
7
12
 
8
13
  @interface GridRenderLayerManager : RCTViewManager
9
14
  @end
10
15
 
11
16
  @implementation GridRenderLayerManager
12
17
 
13
- - (instancetype)init
14
- {
15
- self = [super init];
16
- if (self) {
17
- RCTLogInfo(@"🔵 [GridRenderLayerManager] INIT CALLED");
18
- NSLog(@"🔵 [GridRenderLayerManager] ✅✅✅ GridRenderLayerManager INITIALIZED ✅✅✅");
19
- }
20
- return self;
18
+ RCT_EXPORT_MODULE(GridRenderLayer)
19
+
20
+ + (BOOL)requiresMainQueueSetup {
21
+ return YES;
21
22
  }
22
23
 
23
- + (void)load
24
- {
25
- RCTLogInfo(@"🔵 [GridRenderLayerManager] CLASS LOAD CALLED");
26
- NSLog(@"🔵 [GridRenderLayerManager] Class is being loaded into runtime");
24
+ - (UIView *)view {
25
+ return [[GridRenderLayerView alloc] init];
27
26
  }
28
27
 
29
- // Export the module - this is what registers "GridRenderLayer" with React Native
30
- RCT_EXPORT_MODULE(GridRenderLayerManager)
28
+ // --- Props ---
29
+ RCT_EXPORT_VIEW_PROPERTY(opacity, float)
30
+ RCT_EXPORT_VIEW_PROPERTY(dataRange, NSArray)
31
+ RCT_EXPORT_VIEW_PROPERTY(smoothing, BOOL)
32
+ RCT_EXPORT_VIEW_PROPERTY(belowID, NSString)
31
33
 
32
- + (BOOL)requiresMainQueueSetup
34
+ // --- Commands ---
35
+ RCT_EXPORT_METHOD(updateGeometry:(nonnull NSNumber *)reactTag
36
+ corners:(NSDictionary *)corners
37
+ gridDef:(NSDictionary *)gridDef)
33
38
  {
34
- RCTLogInfo(@"🔵 [GridRenderLayerManager] requiresMainQueueSetup called - returning YES");
35
- return YES;
39
+ // OPTIMIZATION: Dispatch heavy geometry calculations to a high-priority background queue.
40
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
41
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
42
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
43
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
44
+ [view.layerInstance updateGeometryWithCorners:corners gridDef:gridDef];
45
+ }
46
+ }];
47
+ });
36
48
  }
37
49
 
38
- // This creates the actual view
39
- - (UIView *)view
50
+
51
+ RCT_EXPORT_METHOD(updateDataTexture:(nonnull NSNumber *)reactTag
52
+ data:(NSString *)data
53
+ nx:(nonnull NSNumber *)nx
54
+ ny:(nonnull NSNumber *)ny
55
+ scale:(nonnull NSNumber *)scale
56
+ offset:(nonnull NSNumber *)offset
57
+ missing:(nonnull NSNumber *)missing
58
+ scaleType:(NSString *)scaleType)
40
59
  {
41
- RCTLogInfo(@"🔵 [GridRenderLayerManager] view() method called - creating GridRenderLayer instance");
42
- NSLog(@"🔵 [GridRenderLayerManager] Creating new GridRenderLayer view");
43
-
44
- GridRenderLayer *gridView = [[GridRenderLayer alloc] init];
45
- NSLog(@"🔵 [GridRenderLayerManager] GridRenderLayer created: %@", gridView);
46
-
47
- return gridView;
60
+ // OPTIMIZATION: Dispatch to a high-priority background queue immediately.
61
+ // This unblocks the main thread and starts the heaviest work (data processing) sooner.
62
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
63
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
64
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
65
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
66
+ [view.layerInstance updateDataTextureWithData:data nx:nx ny:ny scale:scale offset:offset missing:missing scaleType:scaleType];
67
+ }
68
+ }];
69
+ });
48
70
  }
49
71
 
50
- // Export properties
51
- RCT_EXPORT_VIEW_PROPERTY(opacity, float)
52
- RCT_EXPORT_VIEW_PROPERTY(dataRange, NSArray)
53
- RCT_EXPORT_VIEW_PROPERTY(belowID, NSString)
54
- RCT_EXPORT_VIEW_PROPERTY(smoothing, BOOL)
55
-
56
- // Log when properties are set
57
- - (void)setBridge:(RCTBridge *)bridge
72
+ RCT_EXPORT_METHOD(updateColormapTexture:(nonnull NSNumber *)reactTag
73
+ colormapAsBase64:(NSString *)colormapAsBase64)
58
74
  {
59
- [super setBridge:bridge];
60
- RCTLogInfo(@"🔵 [GridRenderLayerManager] Bridge set: %@", bridge);
61
- NSLog(@"🔵 [GridRenderLayerManager] Bridge connected successfully");
75
+ // Don't block the main thread - dispatch to background first
76
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
77
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
78
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
79
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
80
+ [view.layerInstance updateColormapTextureWithColormapAsBase64:colormapAsBase64];
81
+ }
82
+ }];
83
+ });
62
84
  }
63
85
 
64
- // Export commands for Fabric
65
- RCT_EXPORT_VIEW_MANAGER_COMMAND(updateGeometry, {
66
- RCTLogInfo(@"🟢 [GridRenderLayerManager] updateGeometry command received");
67
- NSLog(@"🟢 [GridRenderLayerManager] updateGeometry - node: %@, args: %@", node, args);
68
-
86
+ RCT_EXPORT_METHOD(updateDataParameters:(nonnull NSNumber *)reactTag
87
+ scale:(nonnull NSNumber *)scale
88
+ offset:(nonnull NSNumber *)offset
89
+ missing:(nonnull NSNumber *)missing
90
+ scaleType:(nonnull NSNumber *)scaleType) // ADD THIS
91
+ {
69
92
  [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
70
- UIView *view = viewRegistry[node];
71
- NSLog(@"🟢 [GridRenderLayerManager] updateGeometry - found view: %@", view);
72
-
73
- if (![view isKindOfClass:[GridRenderLayer class]]) {
74
- RCTLogError(@"🔴 [GridRenderLayerManager] ERROR: Expected GridRenderLayer but got: %@", [view class]);
75
- } else {
76
- NSDictionary *corners = args[0];
77
- NSDictionary *gridDef = args[1];
78
- NSLog(@"🟢 [GridRenderLayerManager] updateGeometry - calling Swift method with corners: %@, gridDef: %@", corners, gridDef);
79
- [(GridRenderLayer *)view updateGeometryWithCorners:corners gridDef:gridDef];
93
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
94
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
95
+ [view.layerInstance updateDataParametersWithScale:scale offset:offset missing:missing scaleType:scaleType]; // ADD scaleType here
80
96
  }
81
97
  }];
82
- })
98
+ }
83
99
 
84
- RCT_EXPORT_VIEW_MANAGER_COMMAND(updateDataTexture, {
85
- RCTLogInfo(@"🟢 [GridRenderLayerManager] updateDataTexture command received");
86
- NSLog(@"🟢 [GridRenderLayerManager] updateDataTexture - node: %@, args count: %lu", node, (unsigned long)[args count]);
87
-
100
+ RCT_EXPORT_METHOD(clear:(nonnull NSNumber *)reactTag)
101
+ {
88
102
  [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
89
- UIView *view = viewRegistry[node];
90
- if ([view isKindOfClass:[GridRenderLayer class]]) {
91
- NSString *data = args[0];
92
- NSNumber *nx = args[1];
93
- NSNumber *ny = args[2];
94
- NSNumber *scale = args[3];
95
- NSNumber *offset = args[4];
96
- NSNumber *missing = args[5];
97
- NSLog(@"🟢 [GridRenderLayerManager] updateDataTexture - calling Swift method");
98
- [(GridRenderLayer *)view updateDataTextureWithData:data nx:nx ny:ny scale:scale offset:offset missing:missing];
99
- } else {
100
- RCTLogError(@"🔴 [GridRenderLayerManager] updateDataTexture - wrong view type: %@", [view class]);
103
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
104
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
105
+ [view.layerInstance clear];
101
106
  }
102
107
  }];
103
- })
108
+ }
104
109
 
105
- RCT_EXPORT_VIEW_MANAGER_COMMAND(updateColormapTexture, {
106
- RCTLogInfo(@"🟢 [GridRenderLayerManager] updateColormapTexture command received");
110
+ RCT_EXPORT_METHOD(primeGpuCache:(nonnull NSNumber *)reactTag
111
+ frameInfo:(NSDictionary *)frameInfo)
112
+ {
113
+ // OPTIMIZATION: Dispatch this immediately to a background thread to unblock JS.
114
+ // The Swift implementation will then handle its own concurrency.
115
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
116
+ [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
117
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
118
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
119
+ [view.layerInstance primeGpuCacheWithFrameInfo:frameInfo];
120
+ }
121
+ }];
122
+ });
123
+ }
124
+
125
+ RCT_EXPORT_METHOD(setActiveFrame:(nonnull NSNumber *)reactTag
126
+ cacheKey:(NSString *)cacheKey)
127
+ {
107
128
  [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
108
- UIView *view = viewRegistry[node];
109
- if ([view isKindOfClass:[GridRenderLayer class]]) {
110
- NSString *colormapAsBase64 = args[0];
111
- [(GridRenderLayer *)view updateColormapTextureWithColormapAsBase64:colormapAsBase64];
129
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
130
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
131
+ [view.layerInstance setActiveFrameWithCacheKey:cacheKey];
112
132
  }
113
133
  }];
114
- })
134
+ }
115
135
 
116
- RCT_EXPORT_VIEW_MANAGER_COMMAND(updateDataParameters, {
117
- RCTLogInfo(@"🟢 [GridRenderLayerManager] updateDataParameters command received");
136
+ RCT_EXPORT_METHOD(clearGpuCache:(nonnull NSNumber *)reactTag)
137
+ {
118
138
  [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
119
- UIView *view = viewRegistry[node];
120
- if ([view isKindOfClass:[GridRenderLayer class]]) {
121
- NSNumber *scale = args[0];
122
- NSNumber *offset = args[1];
123
- NSNumber *missing = args[2];
124
- [(GridRenderLayer *)view updateDataParametersWithScale:scale offset:offset missing:missing];
139
+ GridRenderLayerView *view = (GridRenderLayerView *)viewRegistry[reactTag];
140
+ if ([view isKindOfClass:[GridRenderLayerView class]]) {
141
+ [view.layerInstance clearGpuCache];
125
142
  }
126
143
  }];
127
- })
128
-
129
- // Override to log module constants
130
- - (NSDictionary *)constantsToExport
131
- {
132
- NSDictionary *constants = @{
133
- @"ComponentName": @"GridRenderLayer",
134
- @"ModuleName": @"GridRenderLayerManager"
135
- };
136
- RCTLogInfo(@"🔵 [GridRenderLayerManager] constantsToExport: %@", constants);
137
- return constants;
138
144
  }
139
145
 
140
146
  @end
@@ -0,0 +1,23 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ @class GridRenderLayer;
4
+ @class MapView;
5
+
6
+ NS_ASSUME_NONNULL_BEGIN
7
+
8
+ @interface GridRenderLayerView : UIView
9
+
10
+ @property (nonatomic, strong) GridRenderLayer *layerInstance;
11
+ @property (nonatomic, weak) MapView *mapView;
12
+ @property (nonatomic, strong) NSString *layerId;
13
+ @property (nonatomic, strong, nullable) NSString *belowID;
14
+
15
+ // Property setters for React Native
16
+ - (void)setOpacity:(float)opacity;
17
+ - (void)setDataRange:(NSArray *)dataRange;
18
+ - (void)setSmoothing:(BOOL)smoothing;
19
+ - (void)setBelowID:(NSString *)belowID;
20
+
21
+ @end
22
+
23
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,199 @@
1
+ #import "GridRenderLayerView.h"
2
+ #import <React/RCTLog.h>
3
+ #import <objc/runtime.h>
4
+
5
+ // Import Swift bridging header
6
+ #if __has_include("aguacerowx_react_native-Swift.h")
7
+ #import "aguacerowx_react_native-Swift.h"
8
+ #else
9
+ #import <aguacerowx_react_native/aguacerowx_react_native-Swift.h>
10
+ #endif
11
+
12
+ // Import MapboxMaps to get MapView definition
13
+ @import MapboxMaps;
14
+
15
+ @interface GridRenderLayerView ()
16
+ @property (nonatomic, assign) BOOL isLayerAdded;
17
+ @end
18
+
19
+ @implementation GridRenderLayerView
20
+ - (instancetype)init {
21
+ self = [super init];
22
+ if (self) {
23
+ _layerId = [NSString stringWithFormat:@"weather-layer-%@", [[NSUUID UUID] UUIDString]];
24
+ _layerInstance = [[GridRenderLayer alloc] initWithId:_layerId];
25
+ _isLayerAdded = NO;
26
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Initialized with layer ID: %@", _layerId);
27
+ }
28
+ return self;
29
+ }
30
+
31
+ + (void)load {
32
+ RCTLogInfo(@"🔵 GridRenderLayerView IS LOADED INTO RUNTIME 🔵");
33
+ NSLog(@"🔵 GridRenderLayerView IS LOADED INTO RUNTIME 🔵");
34
+ }
35
+
36
+ #pragma mark - Property Setters
37
+
38
+ - (void)setOpacity:(float)opacity {
39
+ [self.layerInstance setOpacityWithValue:opacity];
40
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Set opacity: %f", opacity);
41
+ }
42
+
43
+ - (void)setDataRange:(NSArray *)dataRange {
44
+ if (dataRange && dataRange.count == 2) {
45
+ [self.layerInstance setDataRangeWithValue:dataRange];
46
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Set data range: %@", dataRange);
47
+ } else {
48
+ RCTLogError(@"❌ [GridRenderLayerView] Invalid dataRange: %@", dataRange);
49
+ }
50
+ }
51
+
52
+ - (void)setSmoothing:(BOOL)smoothing {
53
+ [self.layerInstance setSmoothingWithValue:smoothing];
54
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Set smoothing: %d", smoothing);
55
+ }
56
+
57
+ - (void)setBelowID:(NSString *)belowID {
58
+ _belowID = belowID;
59
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Set belowID: %@", belowID);
60
+ }
61
+
62
+ #pragma mark - View Lifecycle
63
+
64
+ - (void)didMoveToWindow {
65
+ [super didMoveToWindow];
66
+ if (self.window && !self.isLayerAdded) {
67
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
68
+ [self findMapViewAndAddLayerInView:self.window]; // Start from window, not superview
69
+ });
70
+ }
71
+ }
72
+
73
+ - (void)findMapViewAndAddLayerInView:(UIView *)view {
74
+ if (!view || self.isLayerAdded) {
75
+ return;
76
+ }
77
+
78
+ NSString *className = NSStringFromClass([view class]);
79
+
80
+ // Check if this is RNMBXMapView - the wrapper
81
+ if ([className isEqualToString:@"RNMBXMapView"]) {
82
+ RCTLogInfo(@"✅ [GridRenderLayerView] Found RNMBXMapView!");
83
+
84
+ // The first subview should be MapboxMaps.MapView
85
+ if (view.subviews.count > 0) {
86
+ UIView *firstSubview = view.subviews[0];
87
+ NSString *subviewClass = NSStringFromClass([firstSubview class]);
88
+ RCTLogInfo(@" 🔎 First subview is: %@", subviewClass);
89
+
90
+ if ([subviewClass containsString:@"MapboxMaps.MapView"] || [subviewClass isEqualToString:@"MapView"]) {
91
+ RCTLogInfo(@"✅ [GridRenderLayerView] Found actual MapboxMaps.MapView!");
92
+ self.mapView = (MapView *)firstSubview;
93
+ [self addLayerToMap];
94
+ return;
95
+ }
96
+ }
97
+
98
+ RCTLogError(@"❌ [GridRenderLayerView] RNMBXMapView found but MapboxMaps.MapView not in expected location");
99
+ return;
100
+ }
101
+
102
+ // Recursively search all subviews
103
+ for (UIView *subview in view.subviews) {
104
+ [self findMapViewAndAddLayerInView:subview];
105
+ if (self.isLayerAdded) {
106
+ return;
107
+ }
108
+ }
109
+ }
110
+
111
+ - (void)logViewHierarchy:(UIView *)view depth:(int)depth {
112
+ NSString *indent = [@"" stringByPaddingToLength:depth * 2 withString:@" " startingAtIndex:0];
113
+ NSString *className = NSStringFromClass([view class]);
114
+ RCTLogInfo(@"%@└─ %@", indent, className);
115
+
116
+ for (UIView *subview in view.subviews) {
117
+ [self logViewHierarchy:subview depth:depth + 1];
118
+ }
119
+ }
120
+
121
+ - (void)addLayerToMap {
122
+ if (!self.mapView || self.isLayerAdded) {
123
+ return;
124
+ }
125
+
126
+ RCTLogInfo(@"🟡 [GridRenderLayerView] Attempting to add layer via Swift bridge");
127
+
128
+ id customLayer = [self.layerInstance getHostWrapper];
129
+
130
+ if (!customLayer) {
131
+ RCTLogError(@"❌ [GridRenderLayerView] Failed to get hostWrapper");
132
+ return;
133
+ }
134
+
135
+ // Get the mapboxMap property using runtime
136
+ Ivar mapboxMapIvar = class_getInstanceVariable([self.mapView class], "mapboxMap");
137
+ if (!mapboxMapIvar) {
138
+ RCTLogError(@"❌ [GridRenderLayerView] Could not find mapboxMap ivar");
139
+ return;
140
+ }
141
+
142
+ id mapboxMap = object_getIvar(self.mapView, mapboxMapIvar);
143
+ if (!mapboxMap) {
144
+ RCTLogError(@"❌ [GridRenderLayerView] mapboxMap is nil");
145
+ return;
146
+ }
147
+
148
+ // Use the Swift bridge to add the layer
149
+ BOOL success = [GridRenderLayerBridge addCustomLayerTo:self.mapView
150
+ layerHost:customLayer
151
+ layerId:self.layerId
152
+ belowLayerId:self.belowID];
153
+
154
+ if (success) {
155
+ self.isLayerAdded = YES;
156
+ RCTLogInfo(@"🎉 [GridRenderLayerView] Successfully added layer via Swift bridge!");
157
+
158
+ [[NSNotificationCenter defaultCenter] addObserverForName:@"TriggerMapRepaint"
159
+ object:nil
160
+ queue:[NSOperationQueue mainQueue]
161
+ usingBlock:^(NSNotification *note) {
162
+ RCTLogInfo(@"🔄 [GridRenderLayerView] Received repaint notification");
163
+ if (self.mapView) {
164
+ RCTLogInfo(@" ✅ Calling Swift bridge triggerRepaint");
165
+ [GridRenderLayerBridge triggerRepaintOn:self.mapView];
166
+ RCTLogInfo(@" ✅ Called triggerRepaint via Swift bridge");
167
+ }
168
+ }];
169
+ } else {
170
+ RCTLogError(@"❌ [GridRenderLayerView] Failed to add layer via Swift bridge");
171
+ }
172
+ }
173
+
174
+ - (void)removeFromSuperview {
175
+ if (self.mapView && self.isLayerAdded) {
176
+ id mapboxMap = [self.mapView valueForKey:@"mapboxMap"];
177
+ id style = [mapboxMap valueForKey:@"style"];
178
+
179
+ SEL removeLayerSelector = NSSelectorFromString(@"removeStyleLayerWithIdentifier:completion:");
180
+ if ([style respondsToSelector:removeLayerSelector]) {
181
+ NSMethodSignature *signature = [style methodSignatureForSelector:removeLayerSelector];
182
+ NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
183
+ [invocation setTarget:style];
184
+ [invocation setSelector:removeLayerSelector];
185
+
186
+ NSString *layerId = self.layerId;
187
+ [invocation setArgument:&layerId atIndex:2];
188
+
189
+ id nilCompletion = nil;
190
+ [invocation setArgument:&nilCompletion atIndex:3];
191
+ [invocation invoke];
192
+
193
+ RCTLogInfo(@"🟢 [GridRenderLayerView] Removed custom layer: %@", self.layerId);
194
+ }
195
+ }
196
+ [super removeFromSuperview];
197
+ }
198
+
199
+ @end
@@ -0,0 +1,66 @@
1
+ import Foundation
2
+
3
+ final class InspectorDataCache {
4
+ static let shared = InspectorDataCache()
5
+
6
+ private let queue = DispatchQueue(label: "com.aguacerowx.InspectorDataCacheQueue", attributes: .concurrent)
7
+
8
+ private var _lastDecompressedData: Data?
9
+ private var _nx: Int = 0
10
+ private var _ny: Int = 0
11
+ private var _scale: Float = 1.0
12
+ private var _offset: Float = 0.0
13
+ private var _missing: Float = 127.0
14
+ private var _scaleType: Int = 0 // ADD THIS
15
+
16
+ private init() {}
17
+
18
+ var lastDecompressedData: Data? {
19
+ get { queue.sync { _lastDecompressedData } }
20
+ }
21
+
22
+ var nx: Int {
23
+ get { queue.sync { _nx } }
24
+ }
25
+
26
+ var ny: Int {
27
+ get { queue.sync { _ny } }
28
+ }
29
+
30
+ var scale: Float {
31
+ get { queue.sync { _scale } }
32
+ }
33
+
34
+ var offset: Float {
35
+ get { queue.sync { _offset } }
36
+ }
37
+
38
+ var missing: Float {
39
+ get { queue.sync { _missing } }
40
+ }
41
+
42
+ var scaleType: Int { // ADD THIS
43
+ get { queue.sync { _scaleType } }
44
+ }
45
+
46
+ func update(data: Data?, nx: Int, ny: Int, scale: Float, offset: Float, missing: Float, scaleType: Int = 0) { // ADD scaleType parameter
47
+ queue.async(flags: .barrier) {
48
+ self._lastDecompressedData = data
49
+ self._nx = nx
50
+ self._ny = ny
51
+ self._scale = scale
52
+ self._offset = offset
53
+ self._missing = missing
54
+ self._scaleType = scaleType // ADD THIS
55
+ }
56
+ }
57
+
58
+ func clear() {
59
+ queue.async(flags: .barrier) {
60
+ self._lastDecompressedData = nil
61
+ self._nx = 0
62
+ self._ny = 0
63
+ self._scaleType = 0 // ADD THIS
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,10 @@
1
+ #import <React/RCTBridgeModule.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(InspectorModule, NSObject)
4
+
5
+ RCT_EXTERN_METHOD(getValueAtGridIndex:(nonnull NSNumber *)i
6
+ j:(nonnull NSNumber *)j
7
+ resolver:(RCTPromiseResolveBlock)resolve
8
+ rejecter:(RCTPromiseRejectBlock)reject)
9
+
10
+ @end
@@ -0,0 +1,64 @@
1
+ import Foundation
2
+ import React
3
+
4
+ @objc(InspectorModule)
5
+ class InspectorModule: NSObject {
6
+
7
+ @objc(getValueAtGridIndex:j:resolver:rejecter:)
8
+ func getValueAtGridIndex(
9
+ i: NSNumber,
10
+ j: NSNumber,
11
+ resolve: @escaping RCTPromiseResolveBlock,
12
+ reject: @escaping RCTPromiseRejectBlock
13
+ ) {
14
+ DispatchQueue.global(qos: .userInitiated).async {
15
+ let cache = InspectorDataCache.shared
16
+
17
+ guard let data = cache.lastDecompressedData else {
18
+ print("🔍 [Inspector] ERROR: No data in cache")
19
+ resolve(nil)
20
+ return
21
+ }
22
+
23
+ let nx = cache.nx
24
+ let scale = cache.scale
25
+ let offset = cache.offset
26
+ let missing = cache.missing
27
+ let scaleType = cache.scaleType
28
+
29
+ let index = j.intValue * nx + i.intValue
30
+
31
+ guard index >= 0 && index < data.count else {
32
+ print("🔍 [Inspector] ERROR: Index out of bounds")
33
+ resolve(nil)
34
+ return
35
+ }
36
+
37
+ // Read as signed value
38
+ let signedQuantizedValue = Int(Int8(bitPattern: data[index]))
39
+ let missingQuantized = Int(round(missing))
40
+
41
+ // Check for missing value with tolerance
42
+ if abs(signedQuantizedValue - missingQuantized) < 1 {
43
+ resolve(nil)
44
+ return
45
+ }
46
+
47
+ // Step 1: Linear dequantization
48
+ let intermediateValue = Double(signedQuantizedValue) * Double(scale) + Double(offset)
49
+ var finalValue = intermediateValue
50
+
51
+ // Step 2: Apply sqrt inverse transformation if needed
52
+ if scaleType == 1 {
53
+ finalValue = intermediateValue * abs(intermediateValue)
54
+ }
55
+
56
+ resolve(finalValue)
57
+ }
58
+ }
59
+
60
+ @objc
61
+ static func requiresMainQueueSetup() -> Bool {
62
+ return false
63
+ }
64
+ }