@aguacerowx/react-native 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +16 -0
  2. package/android/build/.transforms/78b892a9dae44f36e51ff0649e9c6e36/results.bin +1 -0
  3. package/android/build/.transforms/78b892a9dae44f36e51ff0649e9c6e36/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/results.bin +1 -0
  5. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/AguaceroPackage.dex +0 -0
  6. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/BuildConfig.dex +0 -0
  7. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
  8. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
  9. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
  10. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderManager.dex +0 -0
  11. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
  12. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/ShaderUtils.dex +0 -0
  13. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
  14. package/android/build/.transforms/f4de14556a82e99f0d27ddcab762b219/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  15. package/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  16. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  17. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  18. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  19. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  20. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  21. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  22. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  23. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  24. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  25. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  26. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  27. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  28. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  29. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  30. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  31. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  32. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  33. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  34. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  35. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  36. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  37. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  38. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  39. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  40. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  41. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  42. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  43. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  44. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  45. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  46. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  47. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  48. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +87 -0
  49. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  50. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  51. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  52. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  53. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  54. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  55. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  56. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  57. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  58. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  59. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  60. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  61. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  62. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId1 +0 -0
  63. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  64. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderManager.class.uniqueId3 +0 -0
  65. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId0 +0 -0
  66. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  67. package/android/build.gradle +47 -0
  68. package/android/src/main/AndroidManifest.xml +7 -0
  69. package/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +34 -0
  70. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +639 -0
  71. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +287 -0
  72. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +111 -0
  73. package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +64 -0
  74. package/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +107 -0
  75. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +145 -0
  76. package/android/src/main/res/raw/debug_fragment_shader.glsl +13 -0
  77. package/android/src/main/res/raw/debug_vertex_shader.glsl +13 -0
  78. package/android/src/main/res/raw/fragment_shader.glsl +87 -0
  79. package/android/src/main/res/raw/vertex_shader.glsl +20 -0
  80. package/index.js +2 -0
  81. package/package.json +35 -0
  82. package/src/AguaceroContext.js +4 -0
  83. package/src/GridRenderLayer.js +121 -0
  84. package/src/MapManager.js +158 -0
  85. package/src/MapRegistry.js +35 -0
  86. package/src/StyleApplicator.js +241 -0
  87. package/src/WeatherLayerManager.js +754 -0
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ ## Installation
2
+ ```bash
3
+ npm install @aguacerowx/react-native
4
+ ```
5
+
6
+ ### Android Setup
7
+
8
+ Add the zstd-jni dependency to your `android/app/build.gradle`:
9
+ ```groovy
10
+ dependencies {
11
+ // ... your other dependencies
12
+ implementation 'com.github.luben:zstd-jni:1.5.7-6@aar'
13
+ }
14
+ ```
15
+
16
+ This dependency provides native compression support and is required for the library to function.
@@ -0,0 +1 @@
1
+ o/bundleLibRuntimeToDirDebug
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Automatically generated file. DO NOT MODIFY
3
+ */
4
+ package com.aguacerowx.reactnative;
5
+
6
+ public final class BuildConfig {
7
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
8
+ public static final String LIBRARY_PACKAGE_NAME = "com.aguacerowx.reactnative";
9
+ public static final String BUILD_TYPE = "debug";
10
+ }
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.aguacerowx.reactnative" > <!-- This manifest is for a library module. It requires very little. -->
4
+ <!-- The package name MUST exactly match the namespace in build.gradle -->
5
+ <!-- and the package declarations in your Java files. -->
6
+ <uses-sdk android:minSdkVersion="23" />
7
+
8
+ </manifest>
@@ -0,0 +1,18 @@
1
+ {
2
+ "version": 3,
3
+ "artifactType": {
4
+ "type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
5
+ "kind": "Directory"
6
+ },
7
+ "applicationId": "com.aguacerowx.reactnative",
8
+ "variantName": "debug",
9
+ "elements": [
10
+ {
11
+ "type": "SINGLE",
12
+ "filters": [],
13
+ "attributes": [],
14
+ "outputFile": "AndroidManifest.xml"
15
+ }
16
+ ],
17
+ "elementType": "File"
18
+ }
@@ -0,0 +1,6 @@
1
+ aarFormatVersion=1.0
2
+ aarMetadataVersion=1.0
3
+ minCompileSdk=1
4
+ minCompileSdkExtension=0
5
+ minAndroidGradlePluginVersion=1.0.0
6
+ coreLibraryDesugaringEnabled=false
@@ -0,0 +1,4 @@
1
+ int raw debug_fragment_shader 0x0
2
+ int raw debug_vertex_shader 0x0
3
+ int raw fragment_shader 0x0
4
+ int raw vertex_shader 0x0
@@ -0,0 +1,5 @@
1
+ #Mon Nov 03 18:30:57 EST 2025
2
+ com.aguacerowx.reactnative.aguacerowx_react-native-main-6\:/raw/fragment_shader.glsl=C\:\\Users\\my41m\\aguacero\\ReactNativeApp\\node_modules\\@aguacerowx\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\fragment_shader.glsl
3
+ com.aguacerowx.reactnative.aguacerowx_react-native-main-6\:/raw/debug_vertex_shader.glsl=C\:\\Users\\my41m\\aguacero\\ReactNativeApp\\node_modules\\@aguacerowx\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\debug_vertex_shader.glsl
4
+ com.aguacerowx.reactnative.aguacerowx_react-native-main-6\:/raw/vertex_shader.glsl=C\:\\Users\\my41m\\aguacero\\ReactNativeApp\\node_modules\\@aguacerowx\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\vertex_shader.glsl
5
+ com.aguacerowx.reactnative.aguacerowx_react-native-main-6\:/raw/debug_fragment_shader.glsl=C\:\\Users\\my41m\\aguacero\\ReactNativeApp\\node_modules\\@aguacerowx\\react-native\\android\\build\\intermediates\\packaged_res\\debug\\packageDebugResources\\raw\\debug_fragment_shader.glsl
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res"><file name="debug_fragment_shader" path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res\raw\debug_fragment_shader.glsl" qualifiers="" type="raw"/><file name="debug_vertex_shader" path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res\raw\debug_vertex_shader.glsl" qualifiers="" type="raw"/><file name="fragment_shader" path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res\raw\fragment_shader.glsl" qualifiers="" type="raw"/><file name="vertex_shader" path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\res\raw\vertex_shader.glsl" qualifiers="" type="raw"/></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\debug\jniLibs"/></dataSet></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\debug\shaders"/></dataSet></merger>
@@ -0,0 +1,6 @@
1
+ R_DEF: Internal format may change without notice
2
+ local
3
+ raw debug_fragment_shader
4
+ raw debug_vertex_shader
5
+ raw fragment_shader
6
+ raw vertex_shader
@@ -0,0 +1,8 @@
1
+ 1<?xml version="1.0" encoding="utf-8"?>
2
+ 2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ 3 package="com.aguacerowx.reactnative" > <!-- This manifest is for a library module. It requires very little. -->
4
+ 4 <!-- The package name MUST exactly match the namespace in build.gradle -->
5
+ 5 <!-- and the package declarations in your Java files. -->
6
+ 6 <uses-sdk android:minSdkVersion="23" />
7
+ 7
8
+ 8</manifest>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.aguacerowx.reactnative" > <!-- This manifest is for a library module. It requires very little. -->
4
+ <!-- The package name MUST exactly match the namespace in build.gradle -->
5
+ <!-- and the package declarations in your Java files. -->
6
+ <uses-sdk android:minSdkVersion="23" />
7
+
8
+ </manifest>
@@ -0,0 +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);
13
+ }
@@ -0,0 +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;
13
+ }
@@ -0,0 +1,87 @@
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
+ uniform float u_scale;
9
+ uniform float u_offset;
10
+ uniform float u_missing_quantized;
11
+ uniform float u_opacity;
12
+ uniform vec2 u_data_range;
13
+ uniform vec2 u_texture_size;
14
+ uniform int u_smoothing;
15
+
16
+ // Custom bilinear filtering that respects NaN boundaries
17
+ float sampleDataTextureSmooth(vec2 uv) {
18
+ float missing_in_texture_range = u_missing_quantized + 128.0;
19
+
20
+ // Get the four corner samples for bilinear interpolation
21
+ vec2 pixel_coord = uv * u_texture_size;
22
+ vec2 pixel_floor = floor(pixel_coord - 0.5) + 0.5;
23
+ vec2 f = pixel_coord - pixel_floor;
24
+
25
+ // Sample the 2x2 grid
26
+ float s00 = texture2D(u_data_texture, (pixel_floor + vec2(0.0, 0.0)) / u_texture_size).a * 255.0;
27
+ float s10 = texture2D(u_data_texture, (pixel_floor + vec2(1.0, 0.0)) / u_texture_size).a * 255.0;
28
+ float s01 = texture2D(u_data_texture, (pixel_floor + vec2(0.0, 1.0)) / u_texture_size).a * 255.0;
29
+ float s11 = texture2D(u_data_texture, (pixel_floor + vec2(1.0, 1.0)) / u_texture_size).a * 255.0;
30
+
31
+ // Check which samples are valid (not NaN)
32
+ bool valid00 = abs(s00 - missing_in_texture_range) >= 0.5;
33
+ bool valid10 = abs(s10 - missing_in_texture_range) >= 0.5;
34
+ bool valid01 = abs(s01 - missing_in_texture_range) >= 0.5;
35
+ bool valid11 = abs(s11 - missing_in_texture_range) >= 0.5;
36
+
37
+ // If ANY sample is NaN, return NaN (this pixel is on an edge)
38
+ if (!valid00 || !valid10 || !valid01 || !valid11) {
39
+ return missing_in_texture_range;
40
+ }
41
+
42
+ // All samples are valid - do proper bilinear interpolation
43
+ float s0 = mix(s00, s10, f.x);
44
+ float s1 = mix(s01, s11, f.x);
45
+ return mix(s0, s1, f.y);
46
+ }
47
+
48
+ // Simple nearest-neighbor sampling
49
+ float sampleDataTextureNearest(vec2 uv) {
50
+ // Snap to exact pixel center
51
+ vec2 snapped_coord = floor(uv * u_texture_size + 0.5) / u_texture_size;
52
+ return texture2D(u_data_texture, snapped_coord).a * 255.0;
53
+ }
54
+
55
+ void main() {
56
+ // Choose sampling method based on smoothing setting
57
+ float value_in_texture;
58
+ if (u_smoothing == 1) {
59
+ value_in_texture = sampleDataTextureSmooth(v_texCoord);
60
+ } else {
61
+ value_in_texture = sampleDataTextureNearest(v_texCoord);
62
+ }
63
+
64
+ float missing_in_texture_range = u_missing_quantized + 128.0;
65
+
66
+ // Check if this pixel is a predefined missing value
67
+ if (abs(value_in_texture - missing_in_texture_range) < 0.5) {
68
+ discard;
69
+ }
70
+
71
+ // De-quantize the texture value to its actual physical value
72
+ float quantized_value = value_in_texture - 128.0;
73
+ float raw_value = quantized_value * u_scale + u_offset;
74
+
75
+ // If the data is below the specified minimum range, make it invisible.
76
+ if (raw_value < u_data_range.x) {
77
+ discard;
78
+ }
79
+
80
+ // Normalize the value to a 0-1 coordinate for colormap lookup
81
+ float colormap_coord = (raw_value - u_data_range.x) / (u_data_range.y - u_data_range.x);
82
+ colormap_coord = clamp(colormap_coord, 0.0, 1.0);
83
+
84
+ // Sample the colormap and apply opacity
85
+ vec4 color = texture2D(u_colormap_texture, vec2(colormap_coord, 0.5));
86
+ gl_FragColor = vec4(color.rgb, color.a * u_opacity);
87
+ }
@@ -0,0 +1,20 @@
1
+ // The view-projection matrix from the Mapbox camera
2
+ uniform mat4 u_matrix;
3
+
4
+ // Attributes passed from the vertex buffer
5
+ attribute vec2 a_position; // Vertex position in Mercator coordinates (0.0 to 1.0)
6
+ attribute vec2 a_texCoord; // Texture coordinate (0.0 to 1.0)
7
+
8
+ // Passed to the fragment shader
9
+ varying vec2 v_texCoord;
10
+
11
+ void main() {
12
+ // This is the intended use.
13
+ // The u_matrix correctly transforms the 2D Mercator coordinate (a_position)
14
+ // into the final 4D clip space position for the GPU.
15
+ // We construct a vec4 with z=0.0 and w=1.0 to treat it as a point on the map's surface.
16
+ gl_Position = u_matrix * vec4(a_position, 0.0, 1.0);
17
+
18
+ // Pass the texture coordinate to the fragment shader
19
+ v_texCoord = a_texCoord;
20
+ }
@@ -0,0 +1,5 @@
1
+ com.aguacerowx.reactnative
2
+ raw debug_fragment_shader
3
+ raw debug_vertex_shader
4
+ raw fragment_shader
5
+ raw vertex_shader
@@ -0,0 +1,17 @@
1
+ -- Merging decision tree log ---
2
+ manifest
3
+ ADDED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml:2:1-7:12
4
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml:2:1-7:12
5
+ package
6
+ ADDED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml:3:5-41
7
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml
8
+ xmlns:android
9
+ ADDED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml:2:11-69
10
+ uses-sdk
11
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml reason: use-sdk injection requested
12
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml
13
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml
14
+ android:targetSdkVersion
15
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml
16
+ android:minSdkVersion
17
+ INJECTED from C:\Users\my41m\aguacero\ReactNativeApp\node_modules\@aguacerowx\react-native\android\src\main\AndroidManifest.xml
@@ -0,0 +1,47 @@
1
+ // build.gradle for @aguacerowx/react-native
2
+
3
+ apply plugin: 'com.android.library'
4
+
5
+ repositories {
6
+ mavenCentral()
7
+ google()
8
+ maven {
9
+ url 'https://api.mapbox.com/downloads/v2/releases/maven'
10
+ authentication {
11
+ basic(BasicAuthentication)
12
+ }
13
+ credentials {
14
+ username = "mapbox"
15
+ password = project.rootProject.findProperty("MAPBOX_DOWNLOADS_TOKEN") ?: System.getenv("MAPBOX_DOWNLOADS_TOKEN")
16
+ }
17
+ }
18
+ }
19
+
20
+ android {
21
+ namespace 'com.aguacerowx.reactnative'
22
+ compileSdk 34
23
+
24
+ defaultConfig {
25
+ minSdk 23
26
+ targetSdk 34
27
+ }
28
+
29
+ buildTypes {
30
+ release {
31
+ minifyEnabled false
32
+ }
33
+ }
34
+
35
+ compileOptions {
36
+ sourceCompatibility JavaVersion.VERSION_1_8
37
+ targetCompatibility JavaVersion.VERSION_1_8
38
+ }
39
+ }
40
+
41
+ dependencies {
42
+ implementation 'com.facebook.react:react-native:+'
43
+ implementation 'com.mapbox.maps:android:10.16.1'
44
+ api 'org.locationtech.proj4j:proj4j:1.1.5'
45
+ // Use compileOnly with latest version
46
+ compileOnly 'com.github.luben:zstd-jni:1.5.7-6@aar'
47
+ }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.aguacerowx.reactnative">
4
+ <!-- This manifest is for a library module. It requires very little. -->
5
+ <!-- The package name MUST exactly match the namespace in build.gradle -->
6
+ <!-- and the package declarations in your Java files. -->
7
+ </manifest>
@@ -0,0 +1,34 @@
1
+ // packages/react-native/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java
2
+
3
+ package com.aguacerowx.reactnative;
4
+
5
+ import androidx.annotation.NonNull;
6
+
7
+ import com.facebook.react.ReactPackage;
8
+ import com.facebook.react.bridge.NativeModule;
9
+ import com.facebook.react.bridge.ReactApplicationContext;
10
+ import com.facebook.react.uimanager.ViewManager;
11
+
12
+ import java.util.ArrayList;
13
+ import java.util.Collections;
14
+ import java.util.List;
15
+
16
+ public class AguaceroPackage implements ReactPackage {
17
+
18
+ @NonNull
19
+ @Override
20
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
21
+ List<NativeModule> modules = new ArrayList<>();
22
+ modules.add(new WeatherFrameProcessorModule(reactContext));
23
+ modules.add(new InspectorModule(reactContext)); // ADD THIS LINE
24
+ return modules;
25
+ }
26
+
27
+ @NonNull
28
+ @Override
29
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
30
+ List<ViewManager> managers = new ArrayList<>();
31
+ managers.add(new GridRenderManager());
32
+ return managers;
33
+ }
34
+ }