@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_maps","_interopRequireDefault","_javascriptSdk","_StyleApplicator","_AguaceroContext","_MapRegistry","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TERRAIN_LAYER_ID","isObject","item","Array","isArray","deepMerge","target","source","output","keys","forEach","key","assign","MapManager","mapboxToken","customStyles","theme","mapOptions","children","mapRef","useRef","mapStyle","setMapStyle","useState","useEffect","current","mapRegistry","setMap","console","log","contextValue","useMemo","getMap","getCenter","_currentCenter","lightTheme","JSON","parse","stringify","THEME_CONFIGS","light","darkTheme","dark","Mapbox","setAccessToken","error","createElement","View","style","styles","container","centerContent","Text","errorText","errorSubText","handleCameraChange","event","properties","center","notifyCameraChange","BASE_STYLE_URL","AguaceroContext","Provider","value","MapView","ref","map","styleURL","scaleBarEnabled","onCameraChanged","Camera","defaultSettings","centerCoordinate","zoomLevel","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_maps","_interopRequireDefault","_javascriptSdk","_StyleApplicator","_AguaceroContext","_MapRegistry","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TERRAIN_LAYER_ID","isObject","item","Array","isArray","deepMerge","target","source","output","keys","forEach","key","assign","MapManager","mapboxToken","customStyles","theme","mapOptions","children","mapRef","useRef","mapStyle","setMapStyle","useState","useEffect","current","mapRegistry","setMap","console","log","contextValue","useMemo","getMap","getCenter","_currentCenter","lightTheme","JSON","parse","stringify","THEME_CONFIGS","light","darkTheme","dark","Mapbox","setAccessToken","error","createElement","View","style","styles","container","centerContent","Text","errorText","errorSubText","handleCameraChange","event","properties","center","notifyCameraChange","BASE_STYLE_URL","AguaceroContext","Provider","value","MapView","ref","map","styleURL","scaleBarEnabled","onCameraChanged","Camera","defaultSettings","centerCoordinate","zoomLevel","pitch","bearing","minZoomLevel","minZoom","maxZoomLevel","maxZoom","StyleApplicator","VectorSource","id","url","exports","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","color","fontSize","fontWeight","marginTop"],"sourceRoot":"..\\..\\..","sources":["src/MapManager.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,6 +33,12 @@ function _interopRequireWildcard(e, t) {
|
|
|
33
33
|
}
|
|
34
34
|
// packages/react-native/src/WeatherLayerManager.js
|
|
35
35
|
|
|
36
|
+
console.log("--- Aguacero Native Module Initial State Check ---");
|
|
37
|
+
console.log("All NativeModules:", Object.keys(_reactNative.NativeModules));
|
|
38
|
+
console.log("WeatherFrameProcessorModule available?:", !!_reactNative.NativeModules.WeatherFrameProcessorModule);
|
|
39
|
+
console.log("InspectorModule available?:", !!_reactNative.NativeModules.InspectorModule);
|
|
40
|
+
console.log("GridRenderLayerManager available?:", !!_reactNative.NativeModules.GridRenderLayerManager);
|
|
41
|
+
console.log("-------------------------------------------------");
|
|
36
42
|
const {
|
|
37
43
|
WeatherFrameProcessorModule,
|
|
38
44
|
InspectorModule
|
|
@@ -114,6 +120,7 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
114
120
|
|
|
115
121
|
// Track if we've done the initial load
|
|
116
122
|
const hasInitialLoad = (0, _react.useRef)(false);
|
|
123
|
+
const hasPreloadedRef = (0, _react.useRef)(false);
|
|
117
124
|
|
|
118
125
|
// Track the last state we processed to avoid redundant updates
|
|
119
126
|
const lastProcessedState = (0, _react.useRef)(null);
|
|
@@ -155,6 +162,12 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
155
162
|
};
|
|
156
163
|
}, [core]);
|
|
157
164
|
const preloadAllFramesToDisk = state => {
|
|
165
|
+
if (hasPreloadedRef.current) {
|
|
166
|
+
console.log('✅ [Preload] Gating preload; already initiated for this dataset.');
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
hasPreloadedRef.current = true;
|
|
170
|
+
console.log('🚀 [Preload] Initiating parallel preload for new dataset...');
|
|
158
171
|
const {
|
|
159
172
|
isMRMS,
|
|
160
173
|
model,
|
|
@@ -163,13 +176,49 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
163
176
|
variable,
|
|
164
177
|
units,
|
|
165
178
|
availableHours,
|
|
166
|
-
availableTimestamps
|
|
179
|
+
availableTimestamps,
|
|
180
|
+
forecastHour,
|
|
181
|
+
mrmsTimestamp
|
|
167
182
|
} = state;
|
|
183
|
+
if (!cachedGeometry.current || !cachedColormap.current) {
|
|
184
|
+
const gridModel = isMRMS ? 'mrms' : model;
|
|
185
|
+
const {
|
|
186
|
+
corners,
|
|
187
|
+
gridDef
|
|
188
|
+
} = core._getGridCornersAndDef(gridModel);
|
|
189
|
+
gridLayerRef.current.updateGeometry(corners, gridDef);
|
|
190
|
+
cachedGeometry.current = {
|
|
191
|
+
model: gridModel,
|
|
192
|
+
variable
|
|
193
|
+
};
|
|
194
|
+
const {
|
|
195
|
+
colormap,
|
|
196
|
+
baseUnit
|
|
197
|
+
} = core._getColormapForVariable(variable);
|
|
198
|
+
const toUnit = core._getTargetUnit(baseUnit, units);
|
|
199
|
+
const finalColormap = core._convertColormapUnits(colormap, baseUnit, toUnit);
|
|
200
|
+
const dataRange = [finalColormap[0], finalColormap[finalColormap.length - 2]];
|
|
201
|
+
const colormapBytes = _generateColormapBytes(finalColormap);
|
|
202
|
+
const colormapAsBase64 = (0, _base64Js.fromByteArray)(colormapBytes);
|
|
203
|
+
gridLayerRef.current.updateColormapTexture(colormapAsBase64);
|
|
204
|
+
cachedColormap.current = {
|
|
205
|
+
key: `${variable}-${units}`
|
|
206
|
+
};
|
|
207
|
+
cachedDataRange.current = dataRange;
|
|
208
|
+
setRenderProps({
|
|
209
|
+
opacity: state.opacity,
|
|
210
|
+
dataRange: dataRange
|
|
211
|
+
});
|
|
212
|
+
hasInitialLoad.current = true;
|
|
213
|
+
}
|
|
168
214
|
const allFrames = isMRMS ? availableTimestamps : availableHours;
|
|
169
215
|
if (!allFrames || allFrames.length === 0) {
|
|
170
216
|
console.warn('🟡 [preloadAllFramesToDisk] No frames available to download.');
|
|
171
217
|
return;
|
|
172
218
|
}
|
|
219
|
+
const currentFrame = isMRMS ? mrmsTimestamp : forecastHour;
|
|
220
|
+
const prioritizedFrames = [currentFrame, ...allFrames.filter(frame => frame !== currentFrame)];
|
|
221
|
+
console.log(`[Preload] Prioritizing frame: ${currentFrame}. Total frames: ${prioritizedFrames.length}`);
|
|
173
222
|
const {
|
|
174
223
|
corners,
|
|
175
224
|
gridDef
|
|
@@ -178,14 +227,10 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
178
227
|
nx,
|
|
179
228
|
ny
|
|
180
229
|
} = gridDef.grid_params;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
let errorCount = 0;
|
|
184
|
-
for (const frame of allFrames) {
|
|
185
|
-
const cacheKey = isMRMS ? `mrms-${frame}-${variable}-${units}` : `${model}-${date}-${run}-${frame}-${variable}-${units}`;
|
|
230
|
+
prioritizedFrames.forEach((frame, index) => {
|
|
231
|
+
const cacheKey = isMRMS ? `mrms-${frame}-${variable}` : `${model}-${date}-${run}-${frame}-${variable}`;
|
|
186
232
|
if (preloadedDataCache.current.has(cacheKey)) {
|
|
187
|
-
|
|
188
|
-
continue;
|
|
233
|
+
return; // Use 'return' here as it's a forEach loop
|
|
189
234
|
}
|
|
190
235
|
let resourcePath;
|
|
191
236
|
if (isMRMS) {
|
|
@@ -203,39 +248,97 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
203
248
|
apiKey: core.apiKey,
|
|
204
249
|
bundleId: core.bundleId
|
|
205
250
|
};
|
|
206
|
-
WeatherFrameProcessorModule.processFrame(options
|
|
207
|
-
if (
|
|
208
|
-
|
|
209
|
-
console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${frame}:`, error || "No filePath");
|
|
251
|
+
WeatherFrameProcessorModule.processFrame(options).then(result => {
|
|
252
|
+
if (!result || !result.filePath) {
|
|
253
|
+
console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${frame}: No filePath`);
|
|
210
254
|
return;
|
|
211
255
|
}
|
|
212
|
-
|
|
213
|
-
|
|
256
|
+
const {
|
|
257
|
+
baseUnit
|
|
258
|
+
} = core._getColormapForVariable(variable);
|
|
259
|
+
const toUnit = core._getTargetUnit(baseUnit, units);
|
|
260
|
+
let dataScale = result.scale;
|
|
261
|
+
let dataOffset = result.offset;
|
|
262
|
+
|
|
263
|
+
// Calculate converted values for immediate use
|
|
264
|
+
let convertedScale = dataScale;
|
|
265
|
+
let convertedOffset = dataOffset;
|
|
266
|
+
if (baseUnit !== toUnit) {
|
|
267
|
+
const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
|
|
268
|
+
if (conversionFunc) {
|
|
269
|
+
if (result.scaleType === 'sqrt') {
|
|
270
|
+
const physicalAtOffset = dataOffset * dataOffset;
|
|
271
|
+
const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
|
|
272
|
+
const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
|
|
273
|
+
const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
|
|
274
|
+
convertedOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
|
|
275
|
+
const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
|
|
276
|
+
convertedScale = newOffsetPlusScale - convertedOffset;
|
|
277
|
+
} else {
|
|
278
|
+
convertedOffset = conversionFunc(dataOffset);
|
|
279
|
+
const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
|
|
280
|
+
convertedScale = convertedOffsetPlusScale - convertedOffset;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Store with ORIGINAL values for unit conversion later
|
|
286
|
+
const frameData = {
|
|
214
287
|
filePath: result.filePath,
|
|
215
288
|
nx,
|
|
216
289
|
ny,
|
|
217
|
-
scale:
|
|
218
|
-
|
|
290
|
+
scale: convertedScale,
|
|
291
|
+
// Current converted values
|
|
292
|
+
offset: convertedOffset,
|
|
219
293
|
missing: result.missing,
|
|
220
294
|
corners,
|
|
221
295
|
gridDef,
|
|
222
296
|
scaleType: result.scaleType,
|
|
223
297
|
originalScale: result.scale,
|
|
224
|
-
//
|
|
225
|
-
originalOffset: result.offset //
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (
|
|
230
|
-
console.log(`🎯 [
|
|
231
|
-
|
|
298
|
+
// CRITICAL: Always original
|
|
299
|
+
originalOffset: result.offset // CRITICAL: Always original
|
|
300
|
+
};
|
|
301
|
+
preloadedDataCache.current.set(cacheKey, frameData);
|
|
302
|
+
const isCurrentFrame = index === 0;
|
|
303
|
+
if (isCurrentFrame) {
|
|
304
|
+
console.log(`🎯 [Preload] Using FAST LANE to process and draw current frame (${frame}) immediately.`);
|
|
305
|
+
gridLayerRef.current.updateDataTextureFromFile(frameData.filePath, frameData.nx, frameData.ny, frameData.scale, frameData.offset, frameData.missing, frameData.scaleType);
|
|
306
|
+
currentGridDataRef.current = {
|
|
307
|
+
nx: frameData.nx,
|
|
308
|
+
ny: frameData.ny,
|
|
309
|
+
scale: frameData.scale,
|
|
310
|
+
offset: frameData.offset,
|
|
311
|
+
missing: frameData.missing,
|
|
312
|
+
gridDef: frameData.gridDef,
|
|
313
|
+
variable: variable,
|
|
314
|
+
units: units
|
|
315
|
+
};
|
|
316
|
+
} else {
|
|
317
|
+
if (_reactNative.Platform.OS === 'ios' && gridLayerRef.current.primeGpuCache) {
|
|
318
|
+
const frameInfoForGpu = {
|
|
319
|
+
[cacheKey]: {
|
|
320
|
+
filePath: frameData.filePath,
|
|
321
|
+
nx: frameData.nx,
|
|
322
|
+
ny: frameData.ny,
|
|
323
|
+
scale: frameData.scale,
|
|
324
|
+
// Current converted scale
|
|
325
|
+
offset: frameData.offset,
|
|
326
|
+
// Current converted offset
|
|
327
|
+
missing: frameData.missing,
|
|
328
|
+
scaleType: frameData.scaleType || 'linear',
|
|
329
|
+
originalScale: frameData.originalScale,
|
|
330
|
+
// ADD THIS
|
|
331
|
+
originalOffset: frameData.originalOffset // ADD THIS
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
gridLayerRef.current.primeGpuCache(frameInfoForGpu);
|
|
335
|
+
}
|
|
232
336
|
}
|
|
337
|
+
}).catch(error => {
|
|
338
|
+
console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${frame}:`, error);
|
|
233
339
|
});
|
|
234
|
-
}
|
|
340
|
+
});
|
|
235
341
|
};
|
|
236
|
-
|
|
237
|
-
// In WeatherLayerManager.js - Add extensive logging throughout
|
|
238
|
-
|
|
239
342
|
const updateGPUWithCachedData = state => {
|
|
240
343
|
const {
|
|
241
344
|
model,
|
|
@@ -247,16 +350,41 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
247
350
|
isMRMS,
|
|
248
351
|
mrmsTimestamp
|
|
249
352
|
} = state;
|
|
250
|
-
const cacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}
|
|
353
|
+
const cacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}` : `${model}-${date}-${run}-${forecastHour}-${variable}`;
|
|
354
|
+
if (_reactNative.Platform.OS === 'ios' && gridLayerRef.current.setActiveFrame) {
|
|
355
|
+
// Get the cached data BEFORE calling setActiveFrame
|
|
356
|
+
const cachedData = preloadedDataCache.current.get(cacheKey);
|
|
357
|
+
if (cachedData) {
|
|
358
|
+
currentGridDataRef.current = {
|
|
359
|
+
nx: cachedData.nx,
|
|
360
|
+
ny: cachedData.ny,
|
|
361
|
+
scale: cachedData.scale,
|
|
362
|
+
offset: cachedData.offset,
|
|
363
|
+
missing: cachedData.missing,
|
|
364
|
+
gridDef: cachedData.gridDef,
|
|
365
|
+
variable: variable,
|
|
366
|
+
units: units,
|
|
367
|
+
scaleType: cachedData.scaleType
|
|
368
|
+
};
|
|
369
|
+
console.log('📱 [iOS] Updated currentGridDataRef for inspector:', {
|
|
370
|
+
scale: cachedData.scale,
|
|
371
|
+
offset: cachedData.offset,
|
|
372
|
+
scaleType: cachedData.scaleType // ADD THIS
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Now call setActiveFrame (which will async update the native cache)
|
|
377
|
+
gridLayerRef.current.setActiveFrame(cacheKey);
|
|
378
|
+
return true;
|
|
379
|
+
}
|
|
251
380
|
const cachedData = preloadedDataCache.current.get(cacheKey);
|
|
252
381
|
if (!cachedData) {
|
|
253
382
|
const timeKey = isMRMS ? `timestamp ${mrmsTimestamp}` : `hour +${forecastHour}`;
|
|
254
|
-
console.
|
|
255
|
-
console.error('❌ [updateGPUWithCachedData] Available keys:', Array.from(preloadedDataCache.current.keys()));
|
|
383
|
+
console.log(`⏳ [updateGPUWithCachedData] Frame not ready yet for ${timeKey}. Still preloading...`); // CHANGED
|
|
256
384
|
return false;
|
|
257
385
|
}
|
|
258
386
|
if (!gridLayerRef.current) {
|
|
259
|
-
console.
|
|
387
|
+
console.warn(`⚠️ [updateGPUWithCachedData] GridLayer ref not available`); // CHANGED
|
|
260
388
|
return false;
|
|
261
389
|
}
|
|
262
390
|
if (!cachedGeometry.current || cachedGeometry.current.model !== (isMRMS ? 'mrms' : model) || cachedGeometry.current.variable !== variable) {
|
|
@@ -362,8 +490,6 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
362
490
|
i,
|
|
363
491
|
j
|
|
364
492
|
} = gridIndices;
|
|
365
|
-
|
|
366
|
-
// The native module uses the cached scale/offset which we update via updateDataParameters
|
|
367
493
|
const value = await InspectorModule.getValueAtGridIndex(i, j);
|
|
368
494
|
if (value === null) {
|
|
369
495
|
return null;
|
|
@@ -373,10 +499,12 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
373
499
|
baseUnit
|
|
374
500
|
} = core._getColormapForVariable(core.state.variable);
|
|
375
501
|
const displayUnit = core._getTargetUnit(baseUnit, core.state.units);
|
|
376
|
-
|
|
377
|
-
// Get the converted colormap to check min threshold
|
|
378
502
|
const finalColormap = core._convertColormapUnits(colormap, baseUnit, displayUnit);
|
|
379
|
-
const minThreshold = finalColormap[0];
|
|
503
|
+
const minThreshold = finalColormap[0];
|
|
504
|
+
if (value < minThreshold) {
|
|
505
|
+
console.log('🔍 [Inspector] Rejected: below threshold'); // ADD THIS LOG
|
|
506
|
+
return null;
|
|
507
|
+
}
|
|
380
508
|
|
|
381
509
|
// Filter out values below the minimum threshold (matching shader behavior)
|
|
382
510
|
if (value < minThreshold) {
|
|
@@ -444,7 +572,7 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
444
572
|
run,
|
|
445
573
|
forecastHour
|
|
446
574
|
} = newState;
|
|
447
|
-
const oldCacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}
|
|
575
|
+
const oldCacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}` : `${model}-${date}-${run}-${forecastHour}-${variable}`;
|
|
448
576
|
const cachedData = preloadedDataCache.current.get(oldCacheKey);
|
|
449
577
|
if (cachedData && cachedData.originalScale !== undefined && cachedData.originalOffset !== undefined) {
|
|
450
578
|
const {
|
|
@@ -454,42 +582,83 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
454
582
|
let dataScale = cachedData.originalScale;
|
|
455
583
|
let dataOffset = cachedData.originalOffset;
|
|
456
584
|
if (baseUnit !== toUnit) {
|
|
457
|
-
const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
|
|
585
|
+
const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
|
|
586
|
+
console.log('🔧 [Unit Conversion] Conversion function exists:', !!conversionFunc);
|
|
458
587
|
if (conversionFunc) {
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
588
|
+
if (cachedData.scaleType === 'sqrt') {
|
|
589
|
+
// Calculate what the physical values would be at offset and offset+scale
|
|
590
|
+
const physicalAtOffset = dataOffset * dataOffset;
|
|
591
|
+
const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
|
|
592
|
+
|
|
593
|
+
// Convert these physical values to the new unit
|
|
594
|
+
const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
|
|
595
|
+
const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
|
|
596
|
+
|
|
597
|
+
// Take sqrt to get back to intermediate values
|
|
598
|
+
const newOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
|
|
599
|
+
const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
|
|
600
|
+
dataScale = newOffsetPlusScale - newOffset;
|
|
601
|
+
dataOffset = newOffset;
|
|
602
|
+
} else {
|
|
603
|
+
const convertedOffset = conversionFunc(dataOffset);
|
|
604
|
+
const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
|
|
605
|
+
dataScale = convertedOffsetPlusScale - convertedOffset;
|
|
606
|
+
dataOffset = convertedOffset;
|
|
607
|
+
}
|
|
463
608
|
}
|
|
464
609
|
}
|
|
465
610
|
|
|
466
|
-
//
|
|
611
|
+
// Update the colormap AND data range
|
|
612
|
+
const {
|
|
613
|
+
colormap
|
|
614
|
+
} = core._getColormapForVariable(variable);
|
|
615
|
+
const finalColormap = core._convertColormapUnits(colormap, baseUnit, toUnit);
|
|
616
|
+
const dataRange = [finalColormap[0], finalColormap[finalColormap.length - 2]];
|
|
617
|
+
const colormapBytes = _generateColormapBytes(finalColormap);
|
|
618
|
+
const colormapAsBase64 = (0, _base64Js.fromByteArray)(colormapBytes);
|
|
619
|
+
gridLayerRef.current.updateColormapTexture(colormapAsBase64);
|
|
620
|
+
cachedColormap.current = {
|
|
621
|
+
key: `${variable}-${units}`
|
|
622
|
+
};
|
|
623
|
+
cachedDataRange.current = dataRange;
|
|
624
|
+
setRenderProps(prev => ({
|
|
625
|
+
...prev,
|
|
626
|
+
dataRange,
|
|
627
|
+
opacity: newState.opacity
|
|
628
|
+
}));
|
|
467
629
|
if (gridLayerRef.current && gridLayerRef.current.updateDataParameters) {
|
|
468
|
-
|
|
469
|
-
}
|
|
630
|
+
const scaleTypeValue = cachedData.scaleType === 'sqrt' ? 1 : 0; // Convert to number
|
|
470
631
|
|
|
471
|
-
|
|
472
|
-
|
|
632
|
+
console.log('🔄 [Unit Conversion] Calling updateDataParameters with:', {
|
|
633
|
+
scale: dataScale,
|
|
634
|
+
offset: dataOffset,
|
|
635
|
+
missing: cachedData.missing,
|
|
636
|
+
scaleType: scaleTypeValue
|
|
637
|
+
});
|
|
638
|
+
gridLayerRef.current.updateDataParameters(dataScale, dataOffset, cachedData.missing, scaleTypeValue); // Pass scaleType
|
|
639
|
+
}
|
|
640
|
+
const newCacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}` : `${model}-${date}-${run}-${forecastHour}-${variable}`;
|
|
473
641
|
preloadedDataCache.current.set(newCacheKey, {
|
|
474
642
|
...cachedData,
|
|
475
643
|
scale: dataScale,
|
|
476
644
|
offset: dataOffset
|
|
477
645
|
});
|
|
646
|
+
} else {
|
|
647
|
+
console.warn('⚠️ [Unit Conversion] No cached data found for key:', oldCacheKey);
|
|
478
648
|
}
|
|
479
649
|
previousStateRef.current = newState;
|
|
480
|
-
if (newState.opacity !== renderProps.opacity) {
|
|
481
|
-
setRenderProps(prev => ({
|
|
482
|
-
...prev,
|
|
483
|
-
opacity: newState.opacity
|
|
484
|
-
}));
|
|
485
|
-
}
|
|
486
650
|
return;
|
|
487
651
|
}
|
|
488
652
|
const needsFullLoad = !hasInitialLoad.current || newState.model !== previousStateRef.current.model || newState.isMRMS !== previousStateRef.current.isMRMS || newState.variable !== previousStateRef.current.variable || newState.date !== previousStateRef.current.date || newState.run !== previousStateRef.current.run;
|
|
489
653
|
if (needsFullLoad) {
|
|
490
654
|
if (gridLayerRef.current) {
|
|
491
655
|
gridLayerRef.current.clear();
|
|
656
|
+
// --- OPTIMIZATION: Clear the native GPU cache on iOS ---
|
|
657
|
+
if (_reactNative.Platform.OS === 'ios' && gridLayerRef.current.clearGpuCache) {
|
|
658
|
+
gridLayerRef.current.clearGpuCache();
|
|
659
|
+
}
|
|
492
660
|
}
|
|
661
|
+
hasPreloadedRef.current = false;
|
|
493
662
|
preloadedDataCache.current.clear();
|
|
494
663
|
cachedGeometry.current = null;
|
|
495
664
|
cachedColormap.current = null;
|
|
@@ -501,166 +670,23 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
|
|
|
501
670
|
previousStateRef.current = newState;
|
|
502
671
|
return;
|
|
503
672
|
}
|
|
504
|
-
|
|
505
|
-
const {
|
|
506
|
-
model,
|
|
507
|
-
date,
|
|
508
|
-
run,
|
|
509
|
-
forecastHour,
|
|
510
|
-
variable,
|
|
511
|
-
units,
|
|
512
|
-
isMRMS,
|
|
513
|
-
mrmsTimestamp
|
|
514
|
-
} = newState;
|
|
515
|
-
const gridModel = isMRMS ? 'mrms' : model;
|
|
516
|
-
const {
|
|
517
|
-
corners,
|
|
518
|
-
gridDef
|
|
519
|
-
} = core._getGridCornersAndDef(gridModel);
|
|
520
|
-
const {
|
|
521
|
-
nx,
|
|
522
|
-
ny
|
|
523
|
-
} = gridDef.grid_params;
|
|
524
|
-
let resourcePath;
|
|
525
|
-
if (isMRMS) {
|
|
526
|
-
if (!mrmsTimestamp) {
|
|
527
|
-
previousStateRef.current = newState;
|
|
528
|
-
return;
|
|
529
|
-
}
|
|
530
|
-
const mrmsDate = new Date(mrmsTimestamp * 1000);
|
|
531
|
-
const y = mrmsDate.getUTCFullYear();
|
|
532
|
-
const m = (mrmsDate.getUTCMonth() + 1).toString().padStart(2, '0');
|
|
533
|
-
const d = mrmsDate.getUTCDate().toString().padStart(2, '0');
|
|
534
|
-
resourcePath = `/grids/mrms/${y}${m}${d}/${mrmsTimestamp}/0/${variable}/0`;
|
|
535
|
-
} else {
|
|
536
|
-
resourcePath = `/grids/${model}/${date}/${run}/${forecastHour}/${variable}/0`;
|
|
537
|
-
}
|
|
538
|
-
const url = `${core.baseGridUrl}${resourcePath}?apiKey=${core.apiKey}`;
|
|
539
|
-
const options = {
|
|
540
|
-
url,
|
|
541
|
-
apiKey: core.apiKey,
|
|
542
|
-
bundleId: core.bundleId
|
|
543
|
-
};
|
|
544
|
-
const result = await new Promise((resolve, reject) => {
|
|
545
|
-
WeatherFrameProcessorModule.processFrame(options, (error, res) => {
|
|
546
|
-
if (error) {
|
|
547
|
-
resolve(null);
|
|
548
|
-
} else {
|
|
549
|
-
resolve(res);
|
|
550
|
-
}
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
if (!result) {
|
|
554
|
-
hasInitialLoad.current = true;
|
|
555
|
-
previousStateRef.current = newState;
|
|
556
|
-
preloadAllFramesToDisk(newState);
|
|
557
|
-
return;
|
|
558
|
-
}
|
|
559
|
-
if (result && gridLayerRef.current) {
|
|
560
|
-
gridLayerRef.current.updateGeometry(corners, gridDef);
|
|
561
|
-
cachedGeometry.current = {
|
|
562
|
-
model: gridModel,
|
|
563
|
-
variable
|
|
564
|
-
};
|
|
565
|
-
const {
|
|
566
|
-
colormap,
|
|
567
|
-
baseUnit
|
|
568
|
-
} = core._getColormapForVariable(variable);
|
|
569
|
-
const toUnit = core._getTargetUnit(baseUnit, units);
|
|
570
|
-
let dataScale = result.scale;
|
|
571
|
-
let dataOffset = result.offset;
|
|
572
|
-
|
|
573
|
-
// Store original scale/offset for unit conversion later
|
|
574
|
-
const originalScale = result.scale;
|
|
575
|
-
const originalOffset = result.offset;
|
|
576
|
-
if (baseUnit !== toUnit) {
|
|
577
|
-
const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
|
|
578
|
-
if (conversionFunc) {
|
|
579
|
-
const convertedOffset = conversionFunc(dataOffset);
|
|
580
|
-
const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
|
|
581
|
-
dataScale = convertedOffsetPlusScale - convertedOffset;
|
|
582
|
-
dataOffset = convertedOffset;
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
if (result.dataAsBase64) {
|
|
586
|
-
const binaryString = atob(result.dataAsBase64);
|
|
587
|
-
const uint8Array = new Uint8Array(binaryString.length);
|
|
588
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
589
|
-
uint8Array[i] = binaryString.charCodeAt(i);
|
|
590
|
-
}
|
|
591
|
-
currentGridDataRef.current = {
|
|
592
|
-
data: uint8Array,
|
|
593
|
-
nx,
|
|
594
|
-
ny,
|
|
595
|
-
scale: dataScale,
|
|
596
|
-
offset: dataOffset,
|
|
597
|
-
missing: result.missing,
|
|
598
|
-
gridDef: gridDef,
|
|
599
|
-
variable: variable,
|
|
600
|
-
units: units
|
|
601
|
-
};
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
// Now upload to GPU
|
|
605
|
-
if (result.filePath) {
|
|
606
|
-
gridLayerRef.current.updateDataTextureFromFile(result.filePath, nx, ny, dataScale, dataOffset, result.missing, result.scaleType);
|
|
607
|
-
} else if (result.dataAsBase64) {
|
|
608
|
-
gridLayerRef.current.updateDataTexture(result.dataAsBase64, nx, ny, dataScale, dataOffset, result.missing, result.scaleType);
|
|
609
|
-
}
|
|
610
|
-
const finalColormap = core._convertColormapUnits(colormap, baseUnit, toUnit);
|
|
611
|
-
const dataRange = [finalColormap[0], finalColormap[finalColormap.length - 2]];
|
|
612
|
-
const colormapBytes = _generateColormapBytes(finalColormap);
|
|
613
|
-
const colormapAsBase64 = (0, _base64Js.fromByteArray)(colormapBytes);
|
|
614
|
-
gridLayerRef.current.updateColormapTexture(colormapAsBase64);
|
|
615
|
-
cachedColormap.current = {
|
|
616
|
-
key: `${variable}-${units}`
|
|
617
|
-
};
|
|
618
|
-
cachedDataRange.current = dataRange;
|
|
619
|
-
setRenderProps({
|
|
620
|
-
opacity: newState.opacity,
|
|
621
|
-
dataRange: dataRange
|
|
622
|
-
});
|
|
623
|
-
hasInitialLoad.current = true;
|
|
624
|
-
const cacheKey = isMRMS ? `mrms-${mrmsTimestamp}-${variable}-${units}` : `${model}-${date}-${run}-${forecastHour}-${variable}-${units}`;
|
|
625
|
-
const dataToCache = {
|
|
626
|
-
nx,
|
|
627
|
-
ny,
|
|
628
|
-
scale: dataScale,
|
|
629
|
-
offset: dataOffset,
|
|
630
|
-
originalScale: originalScale,
|
|
631
|
-
// Store original for unit conversion
|
|
632
|
-
originalOffset: originalOffset,
|
|
633
|
-
// Store original for unit conversion
|
|
634
|
-
missing: result.missing,
|
|
635
|
-
corners,
|
|
636
|
-
gridDef
|
|
637
|
-
};
|
|
638
|
-
if (result.filePath) dataToCache.filePath = result.filePath;
|
|
639
|
-
if (result.dataAsBase64) dataToCache.dataAsBase64 = result.dataAsBase64;
|
|
640
|
-
if (result.scaleType) dataToCache.scaleType = result.scaleType;
|
|
641
|
-
preloadedDataCache.current.set(cacheKey, dataToCache);
|
|
642
|
-
preloadAllFramesToDisk(newState);
|
|
643
|
-
}
|
|
644
|
-
} catch (error) {
|
|
645
|
-
console.error("❌❌❌ [handleStateChange] CRITICAL ERROR:", error);
|
|
646
|
-
console.error("❌ [handleStateChange] Stack:", error.stack);
|
|
647
|
-
}
|
|
673
|
+
preloadAllFramesToDisk(newState);
|
|
648
674
|
} else if (newState.forecastHour !== previousStateRef.current.forecastHour || newState.isMRMS && newState.mrmsTimestamp !== previousStateRef.current.mrmsTimestamp) {
|
|
649
675
|
const success = updateGPUWithCachedData(newState);
|
|
650
676
|
if (!success) {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
677
|
+
// CHANGED: Don't error, just log and wait for preload
|
|
678
|
+
const timeKey = newState.isMRMS ? `timestamp ${newState.mrmsTimestamp}` : `hour +${newState.forecastHour}`;
|
|
679
|
+
console.log(`⏳ [handleStateChange] Frame ${timeKey} not ready yet, waiting for preload...`);
|
|
680
|
+
// Don't clear the layer - keep showing the previous frame until new one is ready
|
|
681
|
+
// The preload will eventually complete and trigger a re-render
|
|
682
|
+
} else {
|
|
683
|
+
// Only update inspector cache when we successfully loaded new data
|
|
684
|
+
if (newState.opacity !== renderProps.opacity) {
|
|
685
|
+
setRenderProps(prev => ({
|
|
686
|
+
...prev,
|
|
687
|
+
opacity: newState.opacity
|
|
688
|
+
}));
|
|
656
689
|
}
|
|
657
|
-
currentGridDataRef.current = null; // ADD THIS LINE - Clear inspector cache when no data
|
|
658
|
-
}
|
|
659
|
-
if (newState.opacity !== renderProps.opacity) {
|
|
660
|
-
setRenderProps(prev => ({
|
|
661
|
-
...prev,
|
|
662
|
-
opacity: newState.opacity
|
|
663
|
-
}));
|
|
664
690
|
}
|
|
665
691
|
}
|
|
666
692
|
previousStateRef.current = newState;
|