@aguacerowx/react-native 0.0.7 → 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.
- package/android/build/.transforms/78b892a9dae44f36e51ff0649e9c6e36/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
- package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
- package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
- package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
- package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
- package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
- package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
- package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
- package/ios/AguaceroPackage.m +19 -0
- package/ios/FragmentUniforms.swift +14 -0
- package/ios/GridRenderLayer.swift +959 -59
- package/ios/GridRenderLayerBridge.swift +30 -0
- package/ios/GridRenderLayerManager.mm +104 -98
- package/ios/GridRenderLayerView.h +23 -0
- package/ios/GridRenderLayerView.m +199 -0
- package/ios/InspectorDataCache.swift +66 -0
- package/ios/InspectorModule.m +10 -0
- package/ios/InspectorModule.swift +64 -0
- package/ios/Shaders.metal +131 -0
- package/ios/WeatherFrameProcessorModule.m +16 -0
- package/ios/WeatherFrameProcessorModule.swift +104 -0
- package/ios/aguacerowx-react-native.podspec +21 -14
- package/lib/commonjs/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
- package/lib/commonjs/ios/AguaceroPackage.m +19 -0
- package/lib/commonjs/ios/FragmentUniforms.swift +14 -0
- package/lib/commonjs/ios/GridRenderLayer.swift +962 -0
- package/lib/commonjs/ios/GridRenderLayerBridge.swift +30 -0
- package/lib/commonjs/ios/GridRenderLayerManager.mm +146 -0
- package/lib/commonjs/ios/GridRenderLayerView.h +23 -0
- package/lib/commonjs/ios/GridRenderLayerView.m +199 -0
- package/lib/commonjs/ios/InspectorDataCache.swift +66 -0
- package/lib/commonjs/ios/InspectorModule.m +10 -0
- package/lib/commonjs/ios/InspectorModule.swift +64 -0
- package/lib/commonjs/ios/Shaders.metal +131 -0
- package/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
- package/lib/commonjs/ios/WeatherFrameProcessorModule.swift +104 -0
- package/lib/commonjs/ios/aguacerowx-react-native.podspec +36 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1029 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +381 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1229 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4023 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +38 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +30 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +27 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +41 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +301 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +126 -0
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
- package/lib/commonjs/package.json +9 -17
- package/lib/commonjs/src/GridRenderLayer.js +32 -7
- package/lib/commonjs/src/GridRenderLayer.js.map +1 -1
- package/lib/commonjs/src/MapManager.js +1 -4
- package/lib/commonjs/src/MapManager.js.map +1 -1
- package/lib/commonjs/src/WeatherLayerManager.js +236 -210
- package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
- package/lib/module/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +126 -122
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +3 -1
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +13 -5
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +4 -18
- package/lib/module/ios/AguaceroPackage.m +19 -0
- package/lib/module/ios/FragmentUniforms.swift +14 -0
- package/lib/module/ios/GridRenderLayer.swift +962 -0
- package/lib/module/ios/GridRenderLayerBridge.swift +30 -0
- package/lib/module/ios/GridRenderLayerManager.mm +146 -0
- package/lib/module/ios/GridRenderLayerView.h +23 -0
- package/lib/module/ios/GridRenderLayerView.m +199 -0
- package/lib/module/ios/InspectorDataCache.swift +66 -0
- package/lib/module/ios/InspectorModule.m +10 -0
- package/lib/module/ios/InspectorModule.swift +64 -0
- package/lib/module/ios/Shaders.metal +131 -0
- package/lib/module/ios/WeatherFrameProcessorModule.m +16 -0
- package/lib/module/ios/WeatherFrameProcessorModule.swift +104 -0
- package/lib/module/ios/aguacerowx-react-native.podspec +36 -0
- package/lib/module/lib/commonjs/ios/AguaceroPackage.m +19 -0
- package/lib/module/lib/commonjs/ios/FragmentUniforms.swift +14 -0
- package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +962 -0
- package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +30 -0
- package/lib/module/lib/commonjs/ios/GridRenderLayerManager.mm +146 -0
- package/lib/module/lib/commonjs/ios/GridRenderLayerView.h +23 -0
- package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +199 -0
- package/lib/module/lib/commonjs/ios/InspectorDataCache.swift +66 -0
- package/lib/module/lib/commonjs/ios/InspectorModule.m +10 -0
- package/lib/module/lib/commonjs/ios/InspectorModule.swift +64 -0
- package/lib/module/lib/commonjs/ios/Shaders.metal +131 -0
- package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
- package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.swift +104 -0
- package/lib/module/lib/commonjs/ios/aguacerowx-react-native.podspec +36 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1033 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +381 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1229 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4023 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +38 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +30 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +27 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +41 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +301 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +126 -0
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
- package/lib/module/lib/commonjs/package.json +9 -17
- package/lib/module/lib/commonjs/src/GridRenderLayer.js +32 -7
- package/lib/module/lib/commonjs/src/GridRenderLayer.js.map +1 -1
- package/lib/module/lib/commonjs/src/MapManager.js +1 -4
- package/lib/module/lib/commonjs/src/MapManager.js.map +1 -1
- package/lib/module/lib/commonjs/src/WeatherLayerManager.js +236 -210
- package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +1003 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +381 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +1229 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +4023 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js +38 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +30 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +27 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js +47 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +301 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +126 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/package.json +48 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +1021 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +375 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +1223 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +4017 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js +31 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +29 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +21 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js +12 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +295 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +1 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +119 -0
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +1 -0
- package/lib/module/package.json +9 -17
- package/lib/module/src/GridRenderLayer.js +32 -7
- package/lib/module/src/GridRenderLayer.js.map +1 -1
- package/lib/module/src/MapManager.js +1 -4
- package/lib/module/src/MapManager.js.map +1 -1
- package/lib/module/src/WeatherLayerManager.js +237 -211
- package/lib/module/src/WeatherLayerManager.js.map +1 -1
- package/lib/typescript/src/GridRenderLayer.d.ts.map +1 -1
- package/lib/typescript/src/MapManager.d.ts.map +1 -1
- package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
- package/package.json +9 -17
- package/src/AguaceroContext.js +4 -0
- package/src/GridRenderLayer.js +205 -0
- package/src/GridRenderLayerNativeComponent.ts +16 -0
- package/src/MapManager.js +156 -0
- package/src/MapRegistry.js +35 -0
- package/src/StyleApplicator.js +241 -0
- 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
|
-
//
|
|
6
|
-
#
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
30
|
-
|
|
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
|
-
|
|
34
|
+
// --- Commands ---
|
|
35
|
+
RCT_EXPORT_METHOD(updateGeometry:(nonnull NSNumber *)reactTag
|
|
36
|
+
corners:(NSDictionary *)corners
|
|
37
|
+
gridDef:(NSDictionary *)gridDef)
|
|
33
38
|
{
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
39
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
71
|
-
|
|
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
|
-
|
|
85
|
-
|
|
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
|
-
|
|
90
|
-
if ([view isKindOfClass:[
|
|
91
|
-
|
|
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
|
-
|
|
106
|
-
|
|
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
|
-
|
|
109
|
-
if ([view isKindOfClass:[
|
|
110
|
-
|
|
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
|
-
|
|
117
|
-
|
|
136
|
+
RCT_EXPORT_METHOD(clearGpuCache:(nonnull NSNumber *)reactTag)
|
|
137
|
+
{
|
|
118
138
|
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
119
|
-
|
|
120
|
-
if ([view isKindOfClass:[
|
|
121
|
-
|
|
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
|
+
}
|