@aguacerowx/react-native 0.0.20 → 0.0.21
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/README.md +126 -126
- package/aguacerowx-react-native.podspec +53 -53
- package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/results.bin +1 -0
- package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/results.bin +1 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/AguaceroPackage.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/BuildConfig.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderManager.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/ShaderUtils.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.dex +0 -0
- package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
- package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
- package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
- package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
- package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
- package/android/build/generated/source/codegen/schema.json +1 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
- package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
- package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
- package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
- package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +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/GridRenderManager.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/ShaderUtils.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
- package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
- package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +152 -0
- package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.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/GridRenderManager.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/ShaderUtils.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_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +107 -107
- package/android/src/main/AndroidManifest.xml +6 -6
- package/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
- package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +657 -627
- package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
- package/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
- package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
- package/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
- package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
- package/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
- package/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
- package/android/src/main/res/raw/fragment_shader.glsl +151 -151
- package/android/src/main/res/raw/vertex_shader.glsl +19 -19
- package/index.js +2 -2
- package/ios/AguaceroPackage.m +18 -18
- package/ios/FragmentUniforms.swift +14 -13
- package/ios/GridRenderLayer.swift +995 -983
- package/ios/GridRenderLayerBridge.swift +29 -29
- package/ios/GridRenderLayerManager.mm +157 -145
- package/ios/GridRenderLayerView.h +16 -22
- package/ios/GridRenderLayerView.m +205 -199
- package/ios/InspectorDataCache.swift +65 -65
- package/ios/InspectorModule.m +9 -9
- package/ios/InspectorModule.swift +63 -63
- package/ios/Shaders.metal +178 -130
- package/ios/WeatherFrameProcessorModule.m +15 -15
- package/ios/WeatherFrameProcessorModule.swift +103 -103
- package/ios/compiled-shaders/Shaders-device.metallib +0 -0
- package/ios/compiled-shaders/Shaders-simulator.metallib +0 -0
- package/lib/commonjs/README.md +126 -126
- package/lib/commonjs/aguacerowx-react-native.podspec +53 -53
- package/lib/commonjs/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
- package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
- package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
- package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
- package/lib/commonjs/android/build/generated/source/codegen/schema.json +1 -0
- package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
- package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/lib/commonjs/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/lib/commonjs/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/lib/commonjs/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/lib/commonjs/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/lib/commonjs/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
- package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
- package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
- package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
- package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
- package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
- package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/lib/commonjs/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/lib/commonjs/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/lib/commonjs/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +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/GridRenderManager.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/ShaderUtils.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/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/lib/commonjs/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
- package/lib/commonjs/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
- package/lib/commonjs/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
- package/lib/commonjs/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/lib/commonjs/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
- package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
- package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +152 -0
- package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.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/GridRenderManager.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/ShaderUtils.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_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/lib/commonjs/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/lib/commonjs/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
- package/lib/commonjs/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/lib/commonjs/android/build.gradle +107 -107
- package/lib/commonjs/android/src/main/AndroidManifest.xml +6 -6
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +657 -627
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
- package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
- package/lib/commonjs/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
- package/lib/commonjs/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
- package/lib/commonjs/android/src/main/res/raw/fragment_shader.glsl +151 -151
- package/lib/commonjs/android/src/main/res/raw/vertex_shader.glsl +19 -19
- package/lib/commonjs/babel.config.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ios/AguaceroPackage.m +18 -18
- package/lib/commonjs/ios/FragmentUniforms.swift +14 -13
- package/lib/commonjs/ios/GridRenderLayer.swift +995 -983
- package/lib/commonjs/ios/GridRenderLayerBridge.swift +29 -29
- package/lib/commonjs/ios/GridRenderLayerManager.mm +157 -145
- package/lib/commonjs/ios/GridRenderLayerView.h +16 -22
- package/lib/commonjs/ios/GridRenderLayerView.m +205 -199
- package/lib/commonjs/ios/InspectorDataCache.swift +65 -65
- package/lib/commonjs/ios/InspectorModule.m +9 -9
- package/lib/commonjs/ios/InspectorModule.swift +63 -63
- package/lib/commonjs/ios/Shaders.metal +178 -130
- package/lib/commonjs/ios/WeatherFrameProcessorModule.m +15 -15
- package/lib/commonjs/ios/WeatherFrameProcessorModule.swift +103 -103
- package/lib/commonjs/ios/compiled-shaders/Shaders-device.metallib +0 -0
- package/lib/commonjs/ios/compiled-shaders/Shaders-simulator.metallib +0 -0
- package/lib/commonjs/package.json +72 -72
- package/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
- package/lib/commonjs/scripts/compile-shaders.js +62 -0
- package/lib/commonjs/scripts/compile-shaders.js.map +1 -0
- package/lib/commonjs/scripts/compile-shaders.sh +38 -26
- package/lib/commonjs/src/AguaceroContext.js.map +1 -1
- package/lib/commonjs/src/GridRenderLayer.js.map +1 -1
- package/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
- package/lib/commonjs/src/MapManager.js.map +1 -1
- package/lib/commonjs/src/MapRegistry.js.map +1 -1
- package/lib/commonjs/src/StyleApplicator.js +6 -6
- package/lib/commonjs/src/StyleApplicator.js.map +1 -1
- package/lib/commonjs/src/WeatherLayerManager.js +21 -16
- package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
- package/lib/commonjs/tsconfig.json +23 -23
- package/lib/module/README.md +126 -126
- package/lib/module/aguacerowx-react-native.podspec +53 -53
- package/lib/module/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
- package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
- package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
- package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
- package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
- package/lib/module/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
- package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
- package/lib/module/android/build/generated/source/codegen/schema.json +1 -0
- package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
- package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/lib/module/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/lib/module/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/lib/module/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/lib/module/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/lib/module/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
- package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
- package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
- package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
- package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
- package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
- package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/lib/module/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/lib/module/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/lib/module/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +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/GridRenderManager.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/ShaderUtils.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/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/lib/module/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
- package/lib/module/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
- package/lib/module/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
- package/lib/module/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/lib/module/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
- package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
- package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +152 -0
- package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.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/GridRenderManager.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/ShaderUtils.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_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
- package/lib/module/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/lib/module/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
- package/lib/module/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
- package/lib/module/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/lib/module/android/build.gradle +107 -107
- package/lib/module/android/src/main/AndroidManifest.xml +6 -6
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +657 -627
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
- package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
- package/lib/module/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
- package/lib/module/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
- package/lib/module/android/src/main/res/raw/fragment_shader.glsl +151 -151
- package/lib/module/android/src/main/res/raw/vertex_shader.glsl +19 -19
- package/lib/module/babel.config.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ios/AguaceroPackage.m +18 -18
- package/lib/module/ios/FragmentUniforms.swift +14 -13
- package/lib/module/ios/GridRenderLayer.swift +995 -983
- package/lib/module/ios/GridRenderLayerBridge.swift +29 -29
- package/lib/module/ios/GridRenderLayerManager.mm +157 -145
- package/lib/module/ios/GridRenderLayerView.h +16 -22
- package/lib/module/ios/GridRenderLayerView.m +205 -199
- package/lib/module/ios/InspectorDataCache.swift +65 -65
- package/lib/module/ios/InspectorModule.m +9 -9
- package/lib/module/ios/InspectorModule.swift +63 -63
- package/lib/module/ios/Shaders.metal +178 -130
- package/lib/module/ios/WeatherFrameProcessorModule.m +15 -15
- package/lib/module/ios/WeatherFrameProcessorModule.swift +103 -103
- package/lib/module/ios/compiled-shaders/Shaders-device.metallib +0 -0
- package/lib/module/ios/compiled-shaders/Shaders-simulator.metallib +0 -0
- package/lib/module/lib/commonjs/README.md +126 -126
- package/lib/module/lib/commonjs/aguacerowx-react-native.podspec +53 -53
- package/lib/module/lib/commonjs/android/build.gradle +107 -107
- package/lib/module/lib/commonjs/android/src/main/AndroidManifest.xml +6 -6
- package/lib/module/lib/commonjs/babel.config.js.map +1 -1
- package/lib/module/lib/commonjs/index.js.map +1 -1
- package/lib/module/lib/commonjs/ios/AguaceroPackage.m +18 -18
- package/lib/module/lib/commonjs/ios/FragmentUniforms.swift +14 -13
- package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +995 -983
- package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +29 -29
- package/lib/module/lib/commonjs/ios/GridRenderLayerManager.mm +157 -145
- package/lib/module/lib/commonjs/ios/GridRenderLayerView.h +16 -22
- package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +205 -199
- package/lib/module/lib/commonjs/ios/InspectorDataCache.swift +65 -65
- package/lib/module/lib/commonjs/ios/InspectorModule.m +9 -9
- package/lib/module/lib/commonjs/ios/InspectorModule.swift +63 -63
- package/lib/module/lib/commonjs/ios/Shaders.metal +178 -130
- package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.m +15 -15
- package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.swift +103 -103
- package/lib/module/lib/commonjs/ios/compiled-shaders/Shaders-device.metallib +0 -0
- package/lib/module/lib/commonjs/ios/compiled-shaders/Shaders-simulator.metallib +0 -0
- package/lib/module/lib/commonjs/package.json +72 -72
- package/lib/module/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
- package/lib/module/lib/commonjs/scripts/compile-shaders.js +62 -0
- package/lib/module/lib/commonjs/scripts/compile-shaders.js.map +1 -0
- package/lib/module/lib/commonjs/scripts/compile-shaders.sh +38 -26
- package/lib/module/lib/commonjs/src/AguaceroContext.js.map +1 -1
- package/lib/module/lib/commonjs/src/GridRenderLayer.js.map +1 -1
- package/lib/module/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
- package/lib/module/lib/commonjs/src/MapManager.js.map +1 -1
- package/lib/module/lib/commonjs/src/MapRegistry.js.map +1 -1
- package/lib/module/lib/commonjs/src/StyleApplicator.js +6 -6
- package/lib/module/lib/commonjs/src/StyleApplicator.js.map +1 -1
- package/lib/module/lib/commonjs/src/WeatherLayerManager.js +21 -16
- package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
- package/lib/module/lib/commonjs/tsconfig.json +23 -23
- package/lib/module/package.json +72 -72
- package/lib/module/react-native-builder-bob.config.js.map +1 -1
- package/lib/module/scripts/compile-shaders.js +60 -0
- package/lib/module/scripts/compile-shaders.js.map +1 -0
- package/lib/module/scripts/compile-shaders.sh +38 -26
- package/lib/module/src/AguaceroContext.js.map +1 -1
- package/lib/module/src/GridRenderLayer.js.map +1 -1
- package/lib/module/src/GridRenderLayerNativeComponent.js.map +1 -1
- package/lib/module/src/MapManager.js.map +1 -1
- package/lib/module/src/MapRegistry.js.map +1 -1
- package/lib/module/src/StyleApplicator.js +6 -6
- package/lib/module/src/StyleApplicator.js.map +1 -1
- package/lib/module/src/WeatherLayerManager.js +21 -16
- package/lib/module/src/WeatherLayerManager.js.map +1 -1
- package/lib/module/tsconfig.json +23 -23
- package/lib/typescript/scripts/compile-shaders.d.ts +3 -0
- package/lib/typescript/scripts/compile-shaders.d.ts.map +1 -0
- package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
- package/package.json +72 -72
- package/src/AguaceroContext.js +3 -3
- package/src/GridRenderLayer.js +217 -217
- package/src/GridRenderLayerNativeComponent.ts +15 -15
- package/src/MapManager.js +155 -155
- package/src/MapRegistry.js +34 -34
- package/src/StyleApplicator.js +240 -240
- package/src/WeatherLayerManager.js +891 -879
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +0 -1063
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +0 -381
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +0 -1256
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +0 -4041
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +0 -38
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +0 -30
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +0 -27
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +0 -41
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +0 -301
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +0 -126
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +0 -48
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +0 -1055
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +0 -381
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +0 -1256
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +0 -4041
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +0 -38
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +0 -30
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +0 -27
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +0 -41
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +0 -301
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +0 -1
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +0 -126
- package/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +0 -1063
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +0 -381
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +0 -1256
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +0 -4041
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js +0 -38
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +0 -30
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +0 -27
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js +0 -41
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +0 -301
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +0 -126
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/package.json +0 -48
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +0 -1059
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +0 -381
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +0 -1256
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +0 -4041
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js +0 -38
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +0 -30
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +0 -27
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js +0 -41
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +0 -301
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +0 -1
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +0 -126
- package/lib/module/lib/commonjs/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js +0 -1063
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/AguaceroCore.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js +0 -381
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/coordinate_configs.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js +0 -1256
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/default-colormaps.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js +0 -4041
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/dictionaries.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js +0 -38
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/events.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js +0 -30
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/fill-layer-worker.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js +0 -27
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/getBundleId.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js +0 -41
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/index.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js +0 -301
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/map-styles.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js +0 -126
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/dist/unitConversions.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/package.json +0 -48
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js +0 -1047
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/AguaceroCore.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js +0 -375
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/coordinate_configs.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js +0 -1250
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/default-colormaps.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js +0 -4035
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/dictionaries.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js +0 -31
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/events.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js +0 -29
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/fill-layer-worker.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js +0 -21
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/getBundleId.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js +0 -12
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/index.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js +0 -295
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/map-styles.js.map +0 -1
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js +0 -119
- package/lib/module/node_modules/@aguacerowx/javascript-sdk/src/unitConversions.js.map +0 -1
package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java
CHANGED
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
package com.aguacerowx.reactnative;
|
|
2
|
-
|
|
3
|
-
import androidx.annotation.NonNull;
|
|
4
|
-
import android.util.Base64;
|
|
5
|
-
|
|
6
|
-
import com.facebook.react.bridge.Arguments;
|
|
7
|
-
import com.facebook.react.bridge.Promise; // CHANGED: Import Promise instead of Callback
|
|
8
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
9
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
10
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
11
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
12
|
-
import com.facebook.react.bridge.WritableMap;
|
|
13
|
-
import com.facebook.react.modules.network.OkHttpClientProvider;
|
|
14
|
-
import android.util.Log;
|
|
15
|
-
|
|
16
|
-
import org.json.JSONObject;
|
|
17
|
-
|
|
18
|
-
import java.io.ByteArrayOutputStream;
|
|
19
|
-
import java.io.File;
|
|
20
|
-
import java.io.FileOutputStream;
|
|
21
|
-
import java.io.IOException;
|
|
22
|
-
|
|
23
|
-
import java.nio.charset.StandardCharsets;
|
|
24
|
-
import java.util.concurrent.ExecutorService;
|
|
25
|
-
import java.util.concurrent.Executors;
|
|
26
|
-
|
|
27
|
-
import okhttp3.OkHttpClient;
|
|
28
|
-
import okhttp3.Request;
|
|
29
|
-
import okhttp3.Response;
|
|
30
|
-
import okhttp3.ResponseBody;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
public class WeatherFrameProcessorModule extends ReactContextBaseJavaModule {
|
|
34
|
-
|
|
35
|
-
private final ExecutorService executorService;
|
|
36
|
-
private volatile int currentRunToken = 0;
|
|
37
|
-
private final ReactApplicationContext reactContext;
|
|
38
|
-
|
|
39
|
-
WeatherFrameProcessorModule(ReactApplicationContext context) {
|
|
40
|
-
super(context);
|
|
41
|
-
this.reactContext = context;
|
|
42
|
-
|
|
43
|
-
int coreCount = Runtime.getRuntime().availableProcessors();
|
|
44
|
-
int optimalWorkerCount = Math.max(4, Math.min(coreCount - 1, 8));
|
|
45
|
-
|
|
46
|
-
this.executorService = Executors.newFixedThreadPool(optimalWorkerCount);
|
|
47
|
-
android.util.Log.d("AguaceroWX", "Initialized with " + optimalWorkerCount + " workers (" + coreCount + " cores available)");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@ReactMethod
|
|
51
|
-
public void cancelAllFrames() {
|
|
52
|
-
currentRunToken++;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@NonNull
|
|
56
|
-
@Override
|
|
57
|
-
public String getName() {
|
|
58
|
-
return "WeatherFrameProcessorModule";
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@ReactMethod
|
|
62
|
-
public void processFrame(ReadableMap options, Promise promise) { // CHANGED: Use Promise instead of Callback
|
|
63
|
-
final int taskToken = this.currentRunToken;
|
|
64
|
-
executorService.execute(() -> {
|
|
65
|
-
FileOutputStream fos = null;
|
|
66
|
-
try {
|
|
67
|
-
if (taskToken != this.currentRunToken) {
|
|
68
|
-
return; // Task was cancelled
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
OkHttpClient client = OkHttpClientProvider.getOkHttpClient();
|
|
72
|
-
|
|
73
|
-
String urlString = options.getString("url");
|
|
74
|
-
String apiKey = options.getString("apiKey");
|
|
75
|
-
String bundleId = options.getString("bundleId");
|
|
76
|
-
|
|
77
|
-
Request.Builder requestBuilder = new Request.Builder()
|
|
78
|
-
.url(urlString)
|
|
79
|
-
.header("x-api-key", apiKey);
|
|
80
|
-
|
|
81
|
-
if (bundleId != null) {
|
|
82
|
-
requestBuilder.header("x-app-identifier", bundleId);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
Request request = requestBuilder.build();
|
|
86
|
-
|
|
87
|
-
String responseString;
|
|
88
|
-
try (Response response = client.newCall(request).execute()) {
|
|
89
|
-
if (!response.isSuccessful()) {
|
|
90
|
-
throw new IOException("HTTP Error: " + response.code());
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
ResponseBody body = response.body();
|
|
94
|
-
if (body == null) {
|
|
95
|
-
throw new IOException("Response body was null");
|
|
96
|
-
}
|
|
97
|
-
responseString = body.string();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
JSONObject jsonResponse = new JSONObject(responseString);
|
|
101
|
-
if (!jsonResponse.has("data") || !jsonResponse.has("encoding")) {
|
|
102
|
-
throw new IOException("Invalid API response. 'data' or 'encoding' key is missing. Response: " + responseString);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
String b64CompressedData = jsonResponse.getString("data");
|
|
106
|
-
JSONObject encoding = jsonResponse.getJSONObject("encoding");
|
|
107
|
-
|
|
108
|
-
if (!encoding.has("scale") || !encoding.has("offset") || !encoding.has("missing_quantized")) {
|
|
109
|
-
throw new IOException("Invalid 'encoding' object in API response. Required keys are missing. Response: " + responseString);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
byte[] compressedData = Base64.decode(b64CompressedData, Base64.DEFAULT);
|
|
113
|
-
|
|
114
|
-
File cacheDir = reactContext.getCacheDir();
|
|
115
|
-
String fileName = "frame_" + urlString.hashCode() + ".zst";
|
|
116
|
-
File dataFile = new File(cacheDir, fileName);
|
|
117
|
-
|
|
118
|
-
fos = new FileOutputStream(dataFile);
|
|
119
|
-
fos.write(compressedData);
|
|
120
|
-
fos.flush();
|
|
121
|
-
fos.close();
|
|
122
|
-
fos = null;
|
|
123
|
-
|
|
124
|
-
WritableMap responseMap = Arguments.createMap();
|
|
125
|
-
responseMap.putString("filePath", dataFile.getAbsolutePath());
|
|
126
|
-
responseMap.putDouble("scale", encoding.getDouble("scale"));
|
|
127
|
-
responseMap.putDouble("offset", encoding.getDouble("offset"));
|
|
128
|
-
responseMap.putDouble("missing", encoding.getDouble("missing_quantized"));
|
|
129
|
-
if (encoding.has("scale_type")) {
|
|
130
|
-
responseMap.putString("scaleType", encoding.getString("scale_type"));
|
|
131
|
-
}
|
|
132
|
-
responseMap.putString("dataAsBase64", b64CompressedData);
|
|
133
|
-
|
|
134
|
-
promise.resolve(responseMap); // CHANGED: Use promise.resolve() instead of callback
|
|
135
|
-
|
|
136
|
-
} catch (Exception e) {
|
|
137
|
-
if (taskToken == this.currentRunToken) {
|
|
138
|
-
android.util.Log.e("AguaceroWX", "Error processing frame", e);
|
|
139
|
-
promise.reject("PROCESSING_ERROR", e.getMessage(), e); // CHANGED: Use promise.reject() instead of callback
|
|
140
|
-
}
|
|
141
|
-
} finally {
|
|
142
|
-
if (fos != null) {
|
|
143
|
-
try {
|
|
144
|
-
fos.close();
|
|
145
|
-
} catch (IOException e) {
|
|
146
|
-
android.util.Log.e("AguaceroWX", "Error closing file stream", e);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
1
|
+
package com.aguacerowx.reactnative;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import android.util.Base64;
|
|
5
|
+
|
|
6
|
+
import com.facebook.react.bridge.Arguments;
|
|
7
|
+
import com.facebook.react.bridge.Promise; // CHANGED: Import Promise instead of Callback
|
|
8
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
9
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
10
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
11
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
12
|
+
import com.facebook.react.bridge.WritableMap;
|
|
13
|
+
import com.facebook.react.modules.network.OkHttpClientProvider;
|
|
14
|
+
import android.util.Log;
|
|
15
|
+
|
|
16
|
+
import org.json.JSONObject;
|
|
17
|
+
|
|
18
|
+
import java.io.ByteArrayOutputStream;
|
|
19
|
+
import java.io.File;
|
|
20
|
+
import java.io.FileOutputStream;
|
|
21
|
+
import java.io.IOException;
|
|
22
|
+
|
|
23
|
+
import java.nio.charset.StandardCharsets;
|
|
24
|
+
import java.util.concurrent.ExecutorService;
|
|
25
|
+
import java.util.concurrent.Executors;
|
|
26
|
+
|
|
27
|
+
import okhttp3.OkHttpClient;
|
|
28
|
+
import okhttp3.Request;
|
|
29
|
+
import okhttp3.Response;
|
|
30
|
+
import okhttp3.ResponseBody;
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
public class WeatherFrameProcessorModule extends ReactContextBaseJavaModule {
|
|
34
|
+
|
|
35
|
+
private final ExecutorService executorService;
|
|
36
|
+
private volatile int currentRunToken = 0;
|
|
37
|
+
private final ReactApplicationContext reactContext;
|
|
38
|
+
|
|
39
|
+
WeatherFrameProcessorModule(ReactApplicationContext context) {
|
|
40
|
+
super(context);
|
|
41
|
+
this.reactContext = context;
|
|
42
|
+
|
|
43
|
+
int coreCount = Runtime.getRuntime().availableProcessors();
|
|
44
|
+
int optimalWorkerCount = Math.max(4, Math.min(coreCount - 1, 8));
|
|
45
|
+
|
|
46
|
+
this.executorService = Executors.newFixedThreadPool(optimalWorkerCount);
|
|
47
|
+
android.util.Log.d("AguaceroWX", "Initialized with " + optimalWorkerCount + " workers (" + coreCount + " cores available)");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@ReactMethod
|
|
51
|
+
public void cancelAllFrames() {
|
|
52
|
+
currentRunToken++;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@NonNull
|
|
56
|
+
@Override
|
|
57
|
+
public String getName() {
|
|
58
|
+
return "WeatherFrameProcessorModule";
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@ReactMethod
|
|
62
|
+
public void processFrame(ReadableMap options, Promise promise) { // CHANGED: Use Promise instead of Callback
|
|
63
|
+
final int taskToken = this.currentRunToken;
|
|
64
|
+
executorService.execute(() -> {
|
|
65
|
+
FileOutputStream fos = null;
|
|
66
|
+
try {
|
|
67
|
+
if (taskToken != this.currentRunToken) {
|
|
68
|
+
return; // Task was cancelled
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
OkHttpClient client = OkHttpClientProvider.getOkHttpClient();
|
|
72
|
+
|
|
73
|
+
String urlString = options.getString("url");
|
|
74
|
+
String apiKey = options.getString("apiKey");
|
|
75
|
+
String bundleId = options.getString("bundleId");
|
|
76
|
+
|
|
77
|
+
Request.Builder requestBuilder = new Request.Builder()
|
|
78
|
+
.url(urlString)
|
|
79
|
+
.header("x-api-key", apiKey);
|
|
80
|
+
|
|
81
|
+
if (bundleId != null) {
|
|
82
|
+
requestBuilder.header("x-app-identifier", bundleId);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
Request request = requestBuilder.build();
|
|
86
|
+
|
|
87
|
+
String responseString;
|
|
88
|
+
try (Response response = client.newCall(request).execute()) {
|
|
89
|
+
if (!response.isSuccessful()) {
|
|
90
|
+
throw new IOException("HTTP Error: " + response.code());
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
ResponseBody body = response.body();
|
|
94
|
+
if (body == null) {
|
|
95
|
+
throw new IOException("Response body was null");
|
|
96
|
+
}
|
|
97
|
+
responseString = body.string();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
JSONObject jsonResponse = new JSONObject(responseString);
|
|
101
|
+
if (!jsonResponse.has("data") || !jsonResponse.has("encoding")) {
|
|
102
|
+
throw new IOException("Invalid API response. 'data' or 'encoding' key is missing. Response: " + responseString);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
String b64CompressedData = jsonResponse.getString("data");
|
|
106
|
+
JSONObject encoding = jsonResponse.getJSONObject("encoding");
|
|
107
|
+
|
|
108
|
+
if (!encoding.has("scale") || !encoding.has("offset") || !encoding.has("missing_quantized")) {
|
|
109
|
+
throw new IOException("Invalid 'encoding' object in API response. Required keys are missing. Response: " + responseString);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
byte[] compressedData = Base64.decode(b64CompressedData, Base64.DEFAULT);
|
|
113
|
+
|
|
114
|
+
File cacheDir = reactContext.getCacheDir();
|
|
115
|
+
String fileName = "frame_" + urlString.hashCode() + ".zst";
|
|
116
|
+
File dataFile = new File(cacheDir, fileName);
|
|
117
|
+
|
|
118
|
+
fos = new FileOutputStream(dataFile);
|
|
119
|
+
fos.write(compressedData);
|
|
120
|
+
fos.flush();
|
|
121
|
+
fos.close();
|
|
122
|
+
fos = null;
|
|
123
|
+
|
|
124
|
+
WritableMap responseMap = Arguments.createMap();
|
|
125
|
+
responseMap.putString("filePath", dataFile.getAbsolutePath());
|
|
126
|
+
responseMap.putDouble("scale", encoding.getDouble("scale"));
|
|
127
|
+
responseMap.putDouble("offset", encoding.getDouble("offset"));
|
|
128
|
+
responseMap.putDouble("missing", encoding.getDouble("missing_quantized"));
|
|
129
|
+
if (encoding.has("scale_type")) {
|
|
130
|
+
responseMap.putString("scaleType", encoding.getString("scale_type"));
|
|
131
|
+
}
|
|
132
|
+
responseMap.putString("dataAsBase64", b64CompressedData);
|
|
133
|
+
|
|
134
|
+
promise.resolve(responseMap); // CHANGED: Use promise.resolve() instead of callback
|
|
135
|
+
|
|
136
|
+
} catch (Exception e) {
|
|
137
|
+
if (taskToken == this.currentRunToken) {
|
|
138
|
+
android.util.Log.e("AguaceroWX", "Error processing frame", e);
|
|
139
|
+
promise.reject("PROCESSING_ERROR", e.getMessage(), e); // CHANGED: Use promise.reject() instead of callback
|
|
140
|
+
}
|
|
141
|
+
} finally {
|
|
142
|
+
if (fos != null) {
|
|
143
|
+
try {
|
|
144
|
+
fos.close();
|
|
145
|
+
} catch (IOException e) {
|
|
146
|
+
android.util.Log.e("AguaceroWX", "Error closing file stream", e);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
152
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
precision highp float;
|
|
2
|
-
|
|
3
|
-
varying vec2 v_texCoord;
|
|
4
|
-
uniform sampler2D u_data_texture;
|
|
5
|
-
|
|
6
|
-
void main() {
|
|
7
|
-
// Read the raw normalized value [0.0, 1.0] from the texture's alpha channel.
|
|
8
|
-
float raw_normalized_value = texture2D(u_data_texture, v_texCoord).a;
|
|
9
|
-
|
|
10
|
-
// Output this value directly as a grayscale color.
|
|
11
|
-
// If the data is valid, this will produce a black and white weather map.
|
|
12
|
-
gl_FragColor = vec4(raw_normalized_value, raw_normalized_value, raw_normalized_value, 1.0);
|
|
1
|
+
precision highp float;
|
|
2
|
+
|
|
3
|
+
varying vec2 v_texCoord;
|
|
4
|
+
uniform sampler2D u_data_texture;
|
|
5
|
+
|
|
6
|
+
void main() {
|
|
7
|
+
// Read the raw normalized value [0.0, 1.0] from the texture's alpha channel.
|
|
8
|
+
float raw_normalized_value = texture2D(u_data_texture, v_texCoord).a;
|
|
9
|
+
|
|
10
|
+
// Output this value directly as a grayscale color.
|
|
11
|
+
// If the data is valid, this will produce a black and white weather map.
|
|
12
|
+
gl_FragColor = vec4(raw_normalized_value, raw_normalized_value, raw_normalized_value, 1.0);
|
|
13
13
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
attribute vec2 a_position; // Vertex position in Mercator coordinates (0.0 to 1.0)
|
|
2
|
-
attribute vec2 a_texCoord;
|
|
3
|
-
|
|
4
|
-
varying vec2 v_texCoord;
|
|
5
|
-
|
|
6
|
-
void main() {
|
|
7
|
-
// This is a "passthrough" shader. It IGNORES the u_matrix from the map camera.
|
|
8
|
-
// It converts the input position (0..1) directly to OpenGL clip space (-1..1).
|
|
9
|
-
// This should paint a giant square over the entire screen, regardless of map pan/zoom.
|
|
10
|
-
gl_Position = vec4(a_position.x * 2.0 - 1.0, (1.0 - a_position.y) * 2.0 - 1.0, 0.0, 1.0);
|
|
11
|
-
|
|
12
|
-
v_texCoord = a_texCoord;
|
|
1
|
+
attribute vec2 a_position; // Vertex position in Mercator coordinates (0.0 to 1.0)
|
|
2
|
+
attribute vec2 a_texCoord;
|
|
3
|
+
|
|
4
|
+
varying vec2 v_texCoord;
|
|
5
|
+
|
|
6
|
+
void main() {
|
|
7
|
+
// This is a "passthrough" shader. It IGNORES the u_matrix from the map camera.
|
|
8
|
+
// It converts the input position (0..1) directly to OpenGL clip space (-1..1).
|
|
9
|
+
// This should paint a giant square over the entire screen, regardless of map pan/zoom.
|
|
10
|
+
gl_Position = vec4(a_position.x * 2.0 - 1.0, (1.0 - a_position.y) * 2.0 - 1.0, 0.0, 1.0);
|
|
11
|
+
|
|
12
|
+
v_texCoord = a_texCoord;
|
|
13
13
|
}
|
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
// packages/react-native/android/src/main/res/raw/fragment_shader.glsl
|
|
2
|
-
|
|
3
|
-
precision highp float;
|
|
4
|
-
varying vec2 v_texCoord;
|
|
5
|
-
|
|
6
|
-
uniform sampler2D u_data_texture;
|
|
7
|
-
uniform sampler2D u_colormap_texture;
|
|
8
|
-
|
|
9
|
-
// Data parameters
|
|
10
|
-
uniform float u_scale;
|
|
11
|
-
uniform float u_offset;
|
|
12
|
-
uniform float u_missing_quantized;
|
|
13
|
-
uniform int u_scale_type; // 0 for linear, 1 for sqrt
|
|
14
|
-
|
|
15
|
-
// Style parameters
|
|
16
|
-
uniform float u_opacity;
|
|
17
|
-
uniform vec2 u_data_range;
|
|
18
|
-
|
|
19
|
-
// Rendering parameters
|
|
20
|
-
uniform vec2 u_texture_size;
|
|
21
|
-
uniform int u_smoothing;
|
|
22
|
-
uniform int u_is_ptype; // ADDED: Flag for ptype variables
|
|
23
|
-
|
|
24
|
-
// --- HELPER FUNCTIONS ---
|
|
25
|
-
|
|
26
|
-
// Dequantizes a signed value (-127 to 127) into a physical value
|
|
27
|
-
float dequantize_val(float q_val) {
|
|
28
|
-
if (abs(q_val - u_missing_quantized) < 0.5) {
|
|
29
|
-
return -9999.0;
|
|
30
|
-
}
|
|
31
|
-
float intermediate = q_val * u_scale + u_offset;
|
|
32
|
-
if (u_scale_type == 1) { // 1 = sqrt
|
|
33
|
-
return intermediate * abs(intermediate);
|
|
34
|
-
}
|
|
35
|
-
return intermediate;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Samples texture, converts 0-255 to signed -128-127 range.
|
|
39
|
-
// Returns a quantized value, or a large positive sentinel for missing data.
|
|
40
|
-
float get_value(vec2 coord) {
|
|
41
|
-
float value_0_to_255 = texture2D(u_data_texture, coord).a * 255.0;
|
|
42
|
-
float val = value_0_to_255 - 128.0;
|
|
43
|
-
float missing_in_texture_range_0_255 = u_missing_quantized + 128.0;
|
|
44
|
-
if (abs(value_0_to_255 - missing_in_texture_range_0_255) < 0.5) {
|
|
45
|
-
return 99999.0; // Sentinel for "missing"
|
|
46
|
-
}
|
|
47
|
-
return val;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Maps a physical value to a precipitation type category
|
|
51
|
-
float get_ptype_from_physical(float val) {
|
|
52
|
-
if (val < 0.0) return -1.0; // Missing/Invalid
|
|
53
|
-
if (val < 100.0) return 0.0; // Rain
|
|
54
|
-
if (val < 200.0) return 1.0; // Mix
|
|
55
|
-
if (val < 300.0) return 2.0; // Snow
|
|
56
|
-
return 3.0; // Pellets
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
void main() {
|
|
61
|
-
float raw_value;
|
|
62
|
-
float total_weight = 1.0; // Used for alpha feathering at data edges
|
|
63
|
-
|
|
64
|
-
if (u_smoothing == 0) { // Nearest neighbor
|
|
65
|
-
float quantized_value = get_value(v_texCoord);
|
|
66
|
-
if (quantized_value >= 99999.0) {
|
|
67
|
-
discard;
|
|
68
|
-
}
|
|
69
|
-
raw_value = dequantize_val(quantized_value);
|
|
70
|
-
|
|
71
|
-
} else { // Bilinear interpolation
|
|
72
|
-
vec2 texel_size = 1.0 / u_texture_size;
|
|
73
|
-
vec2 tex_coord_in_texels = v_texCoord * u_texture_size;
|
|
74
|
-
vec2 bl_texel_index = floor(tex_coord_in_texels - 0.5);
|
|
75
|
-
vec2 f = fract(tex_coord_in_texels - 0.5); // Interpolation factors
|
|
76
|
-
|
|
77
|
-
// Coordinates of the 4 neighboring texels
|
|
78
|
-
vec2 v00_coord = (bl_texel_index + vec2(0.5, 0.5)) * texel_size;
|
|
79
|
-
vec2 v10_coord = (bl_texel_index + vec2(1.5, 0.5)) * texel_size;
|
|
80
|
-
vec2 v01_coord = (bl_texel_index + vec2(0.5, 1.5)) * texel_size;
|
|
81
|
-
vec2 v11_coord = (bl_texel_index + vec2(1.5, 1.5)) * texel_size;
|
|
82
|
-
|
|
83
|
-
if (u_is_ptype == 1) {
|
|
84
|
-
// --- PTYPE-SPECIFIC INTERPOLATION ---
|
|
85
|
-
float v00 = dequantize_val(get_value(v00_coord));
|
|
86
|
-
float v10 = dequantize_val(get_value(v10_coord));
|
|
87
|
-
float v01 = dequantize_val(get_value(v01_coord));
|
|
88
|
-
float v11 = dequantize_val(get_value(v11_coord));
|
|
89
|
-
|
|
90
|
-
float p00 = get_ptype_from_physical(v00);
|
|
91
|
-
float p10 = get_ptype_from_physical(v10);
|
|
92
|
-
float p01 = get_ptype_from_physical(v01);
|
|
93
|
-
float p11 = get_ptype_from_physical(v11);
|
|
94
|
-
|
|
95
|
-
// Determine the dominant precipitation type for this pixel
|
|
96
|
-
float dominant_ptype = -1.0;
|
|
97
|
-
if (p00 != -1.0) dominant_ptype = p00;
|
|
98
|
-
else if (p10 != -1.0) dominant_ptype = p10;
|
|
99
|
-
else if (p01 != -1.0) dominant_ptype = p01;
|
|
100
|
-
else if (p11 != -1.0) dominant_ptype = p11;
|
|
101
|
-
|
|
102
|
-
if (dominant_ptype == -1.0) discard;
|
|
103
|
-
|
|
104
|
-
// Interpolate ONLY the values that match the dominant ptype
|
|
105
|
-
float total_value = 0.0;
|
|
106
|
-
total_weight = 0.0;
|
|
107
|
-
if (p00 == dominant_ptype) { float w = (1.0-f.x)*(1.0-f.y); total_value+=v00*w; total_weight+=w; }
|
|
108
|
-
if (p10 == dominant_ptype) { float w = f.x*(1.0-f.y); total_value+=v10*w; total_weight+=w; }
|
|
109
|
-
if (p01 == dominant_ptype) { float w = (1.0-f.x)*f.y; total_value+=v01*w; total_weight+=w; }
|
|
110
|
-
if (p11 == dominant_ptype) { float w = f.x*f.y; total_value+=v11*w; total_weight+=w; }
|
|
111
|
-
|
|
112
|
-
if (total_weight <= 0.0) discard;
|
|
113
|
-
raw_value = total_value / total_weight;
|
|
114
|
-
|
|
115
|
-
// Force full alpha to prevent dark borders between ptype regions
|
|
116
|
-
total_weight = 1.0;
|
|
117
|
-
|
|
118
|
-
} else {
|
|
119
|
-
// --- STANDARD INTERPOLATION ---
|
|
120
|
-
float v00_q = get_value(v00_coord);
|
|
121
|
-
float v10_q = get_value(v10_coord);
|
|
122
|
-
float v01_q = get_value(v01_coord);
|
|
123
|
-
float v11_q = get_value(v11_coord);
|
|
124
|
-
|
|
125
|
-
float total_value_q = 0.0;
|
|
126
|
-
total_weight = 0.0;
|
|
127
|
-
if (v00_q < 99999.0) { float w = (1.0-f.x)*(1.0-f.y); total_value_q+=v00_q*w; total_weight+=w; }
|
|
128
|
-
if (v10_q < 99999.0) { float w = f.x*(1.0-f.y); total_value_q+=v10_q*w; total_weight+=w; }
|
|
129
|
-
if (v01_q < 99999.0) { float w = (1.0-f.x)*f.y; total_value_q+=v01_q*w; total_weight+=w; }
|
|
130
|
-
if (v11_q < 99999.0) { float w = f.x*f.y; total_value_q+=v11_q*w; total_weight+=w; }
|
|
131
|
-
|
|
132
|
-
if (total_weight <= 0.0) discard;
|
|
133
|
-
raw_value = dequantize_val(total_value_q / total_weight);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// --- COMMON FINAL STEPS ---
|
|
138
|
-
|
|
139
|
-
if (raw_value < u_data_range.x) {
|
|
140
|
-
discard;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
float colormap_coord = clamp((raw_value - u_data_range.x) / (u_data_range.y - u_data_range.x), 0.0, 1.0);
|
|
144
|
-
vec4 color = texture2D(u_colormap_texture, vec2(colormap_coord, 0.5));
|
|
145
|
-
|
|
146
|
-
if (color.a < 0.1) {
|
|
147
|
-
discard;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
float final_alpha = color.a * u_opacity * total_weight;
|
|
151
|
-
gl_FragColor = vec4(color.rgb * final_alpha, final_alpha);
|
|
1
|
+
// packages/react-native/android/src/main/res/raw/fragment_shader.glsl
|
|
2
|
+
|
|
3
|
+
precision highp float;
|
|
4
|
+
varying vec2 v_texCoord;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D u_data_texture;
|
|
7
|
+
uniform sampler2D u_colormap_texture;
|
|
8
|
+
|
|
9
|
+
// Data parameters
|
|
10
|
+
uniform float u_scale;
|
|
11
|
+
uniform float u_offset;
|
|
12
|
+
uniform float u_missing_quantized;
|
|
13
|
+
uniform int u_scale_type; // 0 for linear, 1 for sqrt
|
|
14
|
+
|
|
15
|
+
// Style parameters
|
|
16
|
+
uniform float u_opacity;
|
|
17
|
+
uniform vec2 u_data_range;
|
|
18
|
+
|
|
19
|
+
// Rendering parameters
|
|
20
|
+
uniform vec2 u_texture_size;
|
|
21
|
+
uniform int u_smoothing;
|
|
22
|
+
uniform int u_is_ptype; // ADDED: Flag for ptype variables
|
|
23
|
+
|
|
24
|
+
// --- HELPER FUNCTIONS ---
|
|
25
|
+
|
|
26
|
+
// Dequantizes a signed value (-127 to 127) into a physical value
|
|
27
|
+
float dequantize_val(float q_val) {
|
|
28
|
+
if (abs(q_val - u_missing_quantized) < 0.5) {
|
|
29
|
+
return -9999.0;
|
|
30
|
+
}
|
|
31
|
+
float intermediate = q_val * u_scale + u_offset;
|
|
32
|
+
if (u_scale_type == 1) { // 1 = sqrt
|
|
33
|
+
return intermediate * abs(intermediate);
|
|
34
|
+
}
|
|
35
|
+
return intermediate;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Samples texture, converts 0-255 to signed -128-127 range.
|
|
39
|
+
// Returns a quantized value, or a large positive sentinel for missing data.
|
|
40
|
+
float get_value(vec2 coord) {
|
|
41
|
+
float value_0_to_255 = texture2D(u_data_texture, coord).a * 255.0;
|
|
42
|
+
float val = value_0_to_255 - 128.0;
|
|
43
|
+
float missing_in_texture_range_0_255 = u_missing_quantized + 128.0;
|
|
44
|
+
if (abs(value_0_to_255 - missing_in_texture_range_0_255) < 0.5) {
|
|
45
|
+
return 99999.0; // Sentinel for "missing"
|
|
46
|
+
}
|
|
47
|
+
return val;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Maps a physical value to a precipitation type category
|
|
51
|
+
float get_ptype_from_physical(float val) {
|
|
52
|
+
if (val < 0.0) return -1.0; // Missing/Invalid
|
|
53
|
+
if (val < 100.0) return 0.0; // Rain
|
|
54
|
+
if (val < 200.0) return 1.0; // Mix
|
|
55
|
+
if (val < 300.0) return 2.0; // Snow
|
|
56
|
+
return 3.0; // Pellets
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
void main() {
|
|
61
|
+
float raw_value;
|
|
62
|
+
float total_weight = 1.0; // Used for alpha feathering at data edges
|
|
63
|
+
|
|
64
|
+
if (u_smoothing == 0) { // Nearest neighbor
|
|
65
|
+
float quantized_value = get_value(v_texCoord);
|
|
66
|
+
if (quantized_value >= 99999.0) {
|
|
67
|
+
discard;
|
|
68
|
+
}
|
|
69
|
+
raw_value = dequantize_val(quantized_value);
|
|
70
|
+
|
|
71
|
+
} else { // Bilinear interpolation
|
|
72
|
+
vec2 texel_size = 1.0 / u_texture_size;
|
|
73
|
+
vec2 tex_coord_in_texels = v_texCoord * u_texture_size;
|
|
74
|
+
vec2 bl_texel_index = floor(tex_coord_in_texels - 0.5);
|
|
75
|
+
vec2 f = fract(tex_coord_in_texels - 0.5); // Interpolation factors
|
|
76
|
+
|
|
77
|
+
// Coordinates of the 4 neighboring texels
|
|
78
|
+
vec2 v00_coord = (bl_texel_index + vec2(0.5, 0.5)) * texel_size;
|
|
79
|
+
vec2 v10_coord = (bl_texel_index + vec2(1.5, 0.5)) * texel_size;
|
|
80
|
+
vec2 v01_coord = (bl_texel_index + vec2(0.5, 1.5)) * texel_size;
|
|
81
|
+
vec2 v11_coord = (bl_texel_index + vec2(1.5, 1.5)) * texel_size;
|
|
82
|
+
|
|
83
|
+
if (u_is_ptype == 1) {
|
|
84
|
+
// --- PTYPE-SPECIFIC INTERPOLATION ---
|
|
85
|
+
float v00 = dequantize_val(get_value(v00_coord));
|
|
86
|
+
float v10 = dequantize_val(get_value(v10_coord));
|
|
87
|
+
float v01 = dequantize_val(get_value(v01_coord));
|
|
88
|
+
float v11 = dequantize_val(get_value(v11_coord));
|
|
89
|
+
|
|
90
|
+
float p00 = get_ptype_from_physical(v00);
|
|
91
|
+
float p10 = get_ptype_from_physical(v10);
|
|
92
|
+
float p01 = get_ptype_from_physical(v01);
|
|
93
|
+
float p11 = get_ptype_from_physical(v11);
|
|
94
|
+
|
|
95
|
+
// Determine the dominant precipitation type for this pixel
|
|
96
|
+
float dominant_ptype = -1.0;
|
|
97
|
+
if (p00 != -1.0) dominant_ptype = p00;
|
|
98
|
+
else if (p10 != -1.0) dominant_ptype = p10;
|
|
99
|
+
else if (p01 != -1.0) dominant_ptype = p01;
|
|
100
|
+
else if (p11 != -1.0) dominant_ptype = p11;
|
|
101
|
+
|
|
102
|
+
if (dominant_ptype == -1.0) discard;
|
|
103
|
+
|
|
104
|
+
// Interpolate ONLY the values that match the dominant ptype
|
|
105
|
+
float total_value = 0.0;
|
|
106
|
+
total_weight = 0.0;
|
|
107
|
+
if (p00 == dominant_ptype) { float w = (1.0-f.x)*(1.0-f.y); total_value+=v00*w; total_weight+=w; }
|
|
108
|
+
if (p10 == dominant_ptype) { float w = f.x*(1.0-f.y); total_value+=v10*w; total_weight+=w; }
|
|
109
|
+
if (p01 == dominant_ptype) { float w = (1.0-f.x)*f.y; total_value+=v01*w; total_weight+=w; }
|
|
110
|
+
if (p11 == dominant_ptype) { float w = f.x*f.y; total_value+=v11*w; total_weight+=w; }
|
|
111
|
+
|
|
112
|
+
if (total_weight <= 0.0) discard;
|
|
113
|
+
raw_value = total_value / total_weight;
|
|
114
|
+
|
|
115
|
+
// Force full alpha to prevent dark borders between ptype regions
|
|
116
|
+
total_weight = 1.0;
|
|
117
|
+
|
|
118
|
+
} else {
|
|
119
|
+
// --- STANDARD INTERPOLATION ---
|
|
120
|
+
float v00_q = get_value(v00_coord);
|
|
121
|
+
float v10_q = get_value(v10_coord);
|
|
122
|
+
float v01_q = get_value(v01_coord);
|
|
123
|
+
float v11_q = get_value(v11_coord);
|
|
124
|
+
|
|
125
|
+
float total_value_q = 0.0;
|
|
126
|
+
total_weight = 0.0;
|
|
127
|
+
if (v00_q < 99999.0) { float w = (1.0-f.x)*(1.0-f.y); total_value_q+=v00_q*w; total_weight+=w; }
|
|
128
|
+
if (v10_q < 99999.0) { float w = f.x*(1.0-f.y); total_value_q+=v10_q*w; total_weight+=w; }
|
|
129
|
+
if (v01_q < 99999.0) { float w = (1.0-f.x)*f.y; total_value_q+=v01_q*w; total_weight+=w; }
|
|
130
|
+
if (v11_q < 99999.0) { float w = f.x*f.y; total_value_q+=v11_q*w; total_weight+=w; }
|
|
131
|
+
|
|
132
|
+
if (total_weight <= 0.0) discard;
|
|
133
|
+
raw_value = dequantize_val(total_value_q / total_weight);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// --- COMMON FINAL STEPS ---
|
|
138
|
+
|
|
139
|
+
if (raw_value < u_data_range.x) {
|
|
140
|
+
discard;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
float colormap_coord = clamp((raw_value - u_data_range.x) / (u_data_range.y - u_data_range.x), 0.0, 1.0);
|
|
144
|
+
vec4 color = texture2D(u_colormap_texture, vec2(colormap_coord, 0.5));
|
|
145
|
+
|
|
146
|
+
if (color.a < 0.1) {
|
|
147
|
+
discard;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
float final_alpha = color.a * u_opacity * total_weight;
|
|
151
|
+
gl_FragColor = vec4(color.rgb * final_alpha, final_alpha);
|
|
152
152
|
}
|