@aguacerowx/react-native 0.0.34 → 0.0.35

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 (396) hide show
  1. package/README.md +126 -126
  2. package/aguacerowx-react-native.podspec +38 -38
  3. package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/results.bin +1 -0
  4. package/android/build/.transforms/42e9b8fa82d77a1c205db5bf0d0ed519/transformed/classes/classes_dex/classes.dex +0 -0
  5. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/results.bin +1 -0
  6. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/AguaceroPackage.dex +0 -0
  7. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/BuildConfig.dex +0 -0
  8. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.dex +0 -0
  9. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayer.dex +0 -0
  10. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderLayerView.dex +0 -0
  11. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/GridRenderManager.dex +0 -0
  12. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/InspectorModule.dex +0 -0
  13. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/ShaderUtils.dex +0 -0
  14. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/aguacerowx/reactnative/WeatherFrameProcessorModule.dex +0 -0
  15. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.dex +0 -0
  16. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.dex +0 -0
  17. package/android/build/.transforms/c8ab78b63f2cc835ac936d58e29a17ab/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  18. package/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  19. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  20. package/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  21. package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  22. package/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  23. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  24. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  25. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  26. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  27. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  28. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  29. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  30. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  31. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  32. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  33. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  34. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  35. package/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  36. package/android/build/generated/source/codegen/schema.json +1 -0
  37. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  38. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  39. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  40. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  41. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  42. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  43. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  44. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  45. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  46. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  47. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  48. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  49. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  50. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  51. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  52. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  53. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  54. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  55. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  56. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  57. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  58. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  59. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  60. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  61. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  63. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  64. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  65. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  66. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  67. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  68. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  69. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  70. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  71. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +189 -0
  72. package/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  85. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  86. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  87. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
  88. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
  89. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  90. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  91. package/android/build.gradle +107 -107
  92. package/android/src/main/AndroidManifest.xml +6 -6
  93. package/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  94. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +688 -688
  95. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
  96. package/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  97. package/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
  98. package/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  99. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
  100. package/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  101. package/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  102. package/android/src/main/res/raw/fragment_shader.glsl +188 -188
  103. package/android/src/main/res/raw/vertex_shader.glsl +19 -19
  104. package/index.js +2 -2
  105. package/ios/AguaceroPackage.m +18 -18
  106. package/ios/FragmentUniforms.swift +15 -15
  107. package/ios/GridRenderLayer.swift +1004 -1004
  108. package/ios/GridRenderLayerBridge.swift +36 -36
  109. package/ios/GridRenderLayerManager.mm +157 -157
  110. package/ios/GridRenderLayerView.h +30 -30
  111. package/ios/GridRenderLayerView.m +216 -216
  112. package/ios/InspectorDataCache.swift +65 -65
  113. package/ios/InspectorModule.m +9 -9
  114. package/ios/InspectorModule.swift +63 -63
  115. package/ios/Shaders.metal +327 -327
  116. package/ios/WeatherFrameProcessorModule.m +15 -15
  117. package/ios/WeatherFrameProcessorModule.swift +103 -103
  118. package/lib/commonjs/README.md +126 -126
  119. package/lib/commonjs/aguacerowx-react-native.podspec +38 -38
  120. package/lib/commonjs/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  121. package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  122. package/lib/commonjs/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  123. package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  124. package/lib/commonjs/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  125. package/lib/commonjs/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  126. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  127. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  128. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  129. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  130. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  131. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  132. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  133. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  134. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  135. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  136. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  137. package/lib/commonjs/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  138. package/lib/commonjs/android/build/generated/source/codegen/schema.json +1 -0
  139. package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  140. package/lib/commonjs/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  141. package/lib/commonjs/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  142. package/lib/commonjs/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  143. package/lib/commonjs/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  144. package/lib/commonjs/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  145. package/lib/commonjs/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  146. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  147. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  148. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  149. package/lib/commonjs/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  150. package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  151. package/lib/commonjs/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  152. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  153. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  154. package/lib/commonjs/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  155. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  156. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  157. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  158. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  159. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  160. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  161. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  162. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  163. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  164. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  165. package/lib/commonjs/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  166. package/lib/commonjs/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  167. package/lib/commonjs/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  168. package/lib/commonjs/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  169. package/lib/commonjs/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  170. package/lib/commonjs/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  171. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  172. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  173. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +189 -0
  174. package/lib/commonjs/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  175. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  176. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  177. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  178. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  179. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  180. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  181. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  182. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  183. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  184. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  185. package/lib/commonjs/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  186. package/lib/commonjs/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  187. package/lib/commonjs/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  188. package/lib/commonjs/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  189. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
  190. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
  191. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  192. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  193. package/lib/commonjs/android/build.gradle +107 -107
  194. package/lib/commonjs/android/src/main/AndroidManifest.xml +6 -6
  195. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  196. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +688 -688
  197. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
  198. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  199. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
  200. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  201. package/lib/commonjs/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
  202. package/lib/commonjs/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  203. package/lib/commonjs/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  204. package/lib/commonjs/android/src/main/res/raw/fragment_shader.glsl +188 -188
  205. package/lib/commonjs/android/src/main/res/raw/vertex_shader.glsl +19 -19
  206. package/lib/commonjs/babel.config.js.map +1 -1
  207. package/lib/commonjs/index.js.map +1 -1
  208. package/lib/commonjs/ios/AguaceroPackage.m +18 -18
  209. package/lib/commonjs/ios/FragmentUniforms.swift +15 -15
  210. package/lib/commonjs/ios/GridRenderLayer.swift +1004 -1004
  211. package/lib/commonjs/ios/GridRenderLayerBridge.swift +36 -36
  212. package/lib/commonjs/ios/GridRenderLayerManager.mm +157 -157
  213. package/lib/commonjs/ios/GridRenderLayerView.h +30 -30
  214. package/lib/commonjs/ios/GridRenderLayerView.m +216 -216
  215. package/lib/commonjs/ios/InspectorDataCache.swift +65 -65
  216. package/lib/commonjs/ios/InspectorModule.m +9 -9
  217. package/lib/commonjs/ios/InspectorModule.swift +63 -63
  218. package/lib/commonjs/ios/Shaders.metal +327 -327
  219. package/lib/commonjs/ios/WeatherFrameProcessorModule.m +15 -15
  220. package/lib/commonjs/ios/WeatherFrameProcessorModule.swift +103 -103
  221. package/lib/commonjs/package.json +72 -72
  222. package/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
  223. package/lib/commonjs/scripts/compile-shaders.js.map +1 -1
  224. package/lib/commonjs/scripts/compile-shaders.sh +38 -38
  225. package/lib/commonjs/src/AguaceroContext.js.map +1 -1
  226. package/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  227. package/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
  228. package/lib/commonjs/src/MapManager.js.map +1 -1
  229. package/lib/commonjs/src/MapRegistry.js.map +1 -1
  230. package/lib/commonjs/src/StyleApplicator.js +6 -6
  231. package/lib/commonjs/src/StyleApplicator.js.map +1 -1
  232. package/lib/commonjs/src/WeatherLayerManager.js +5 -18
  233. package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  234. package/lib/commonjs/tsconfig.json +23 -23
  235. package/lib/module/README.md +126 -126
  236. package/lib/module/aguacerowx-react-native.podspec +38 -38
  237. package/lib/module/android/build/generated/source/buildConfig/debug/com/aguacerowx/reactnative/BuildConfig.java +10 -0
  238. package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.java +43 -0
  239. package/lib/module/android/build/generated/source/codegen/java/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.java +22 -0
  240. package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec-generated.cpp +22 -0
  241. package/lib/module/android/build/generated/source/codegen/jni/AguaceroWxReactNativeSpec.h +24 -0
  242. package/lib/module/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  243. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI-generated.cpp +17 -0
  244. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/AguaceroWxReactNativeSpecJSI.h +19 -0
  245. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.cpp +22 -0
  246. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ComponentDescriptors.h +24 -0
  247. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.cpp +16 -0
  248. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/EventEmitters.h +23 -0
  249. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.cpp +62 -0
  250. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/Props.h +40 -0
  251. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.cpp +17 -0
  252. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/ShadowNodes.h +32 -0
  253. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.cpp +16 -0
  254. package/lib/module/android/build/generated/source/codegen/jni/react/renderer/components/AguaceroWxReactNativeSpec/States.h +20 -0
  255. package/lib/module/android/build/generated/source/codegen/schema.json +1 -0
  256. package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +8 -0
  257. package/lib/module/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  258. package/lib/module/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  259. package/lib/module/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  260. package/lib/module/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  261. package/lib/module/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  262. package/lib/module/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +4 -0
  263. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_fragment_shader.glsl.flat +0 -0
  264. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_debug_vertex_shader.glsl.flat +0 -0
  265. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_fragment_shader.glsl.flat +0 -0
  266. package/lib/module/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/raw_vertex_shader.glsl.flat +0 -0
  267. package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +5 -0
  268. package/lib/module/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  269. package/lib/module/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  270. package/lib/module/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  271. package/lib/module/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  272. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  273. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  274. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  275. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  276. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  277. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  278. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  279. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  280. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  281. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  282. package/lib/module/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  283. package/lib/module/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +6 -0
  284. package/lib/module/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +8 -0
  285. package/lib/module/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +8 -0
  286. package/lib/module/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  287. package/lib/module/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  288. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_fragment_shader.glsl +13 -0
  289. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/debug_vertex_shader.glsl +13 -0
  290. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/fragment_shader.glsl +189 -0
  291. package/lib/module/android/build/intermediates/packaged_res/debug/packageDebugResources/raw/vertex_shader.glsl +20 -0
  292. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/AguaceroPackage.class +0 -0
  293. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/BuildConfig.class +0 -0
  294. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer$VertexInfo.class +0 -0
  295. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayer.class +0 -0
  296. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderLayerView.class +0 -0
  297. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/GridRenderManager.class +0 -0
  298. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/InspectorModule.class +0 -0
  299. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/ShaderUtils.class +0 -0
  300. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/aguacerowx/reactnative/WeatherFrameProcessorModule.class +0 -0
  301. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerDelegate.class +0 -0
  302. package/lib/module/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/facebook/react/viewmanagers/GridRenderLayerManagerInterface.class +0 -0
  303. package/lib/module/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  304. package/lib/module/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +5 -0
  305. package/lib/module/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  306. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 +0 -0
  307. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 +0 -0
  308. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  309. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  310. package/lib/module/android/build.gradle +107 -107
  311. package/lib/module/android/src/main/AndroidManifest.xml +6 -6
  312. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/AguaceroPackage.java +33 -33
  313. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayer.java +688 -688
  314. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderLayerView.java +304 -304
  315. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/GridRenderManager.java +125 -125
  316. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/InspectorModule.java +71 -71
  317. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/ShaderUtils.java +106 -106
  318. package/lib/module/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +151 -151
  319. package/lib/module/android/src/main/res/raw/debug_fragment_shader.glsl +12 -12
  320. package/lib/module/android/src/main/res/raw/debug_vertex_shader.glsl +12 -12
  321. package/lib/module/android/src/main/res/raw/fragment_shader.glsl +188 -188
  322. package/lib/module/android/src/main/res/raw/vertex_shader.glsl +19 -19
  323. package/lib/module/babel.config.js.map +1 -1
  324. package/lib/module/index.js.map +1 -1
  325. package/lib/module/ios/AguaceroPackage.m +18 -18
  326. package/lib/module/ios/FragmentUniforms.swift +15 -15
  327. package/lib/module/ios/GridRenderLayer.swift +1004 -1004
  328. package/lib/module/ios/GridRenderLayerBridge.swift +36 -36
  329. package/lib/module/ios/GridRenderLayerManager.mm +157 -157
  330. package/lib/module/ios/GridRenderLayerView.h +30 -30
  331. package/lib/module/ios/GridRenderLayerView.m +216 -216
  332. package/lib/module/ios/InspectorDataCache.swift +65 -65
  333. package/lib/module/ios/InspectorModule.m +9 -9
  334. package/lib/module/ios/InspectorModule.swift +63 -63
  335. package/lib/module/ios/Shaders.metal +327 -327
  336. package/lib/module/ios/WeatherFrameProcessorModule.m +15 -15
  337. package/lib/module/ios/WeatherFrameProcessorModule.swift +103 -103
  338. package/lib/module/lib/commonjs/README.md +126 -126
  339. package/lib/module/lib/commonjs/aguacerowx-react-native.podspec +38 -38
  340. package/lib/module/lib/commonjs/android/build.gradle +108 -0
  341. package/lib/module/lib/commonjs/android/src/main/AndroidManifest.xml +7 -0
  342. package/lib/module/lib/commonjs/babel.config.js.map +1 -1
  343. package/lib/module/lib/commonjs/index.js.map +1 -1
  344. package/lib/module/lib/commonjs/ios/AguaceroPackage.m +19 -0
  345. package/lib/module/lib/commonjs/ios/FragmentUniforms.swift +16 -0
  346. package/lib/module/lib/commonjs/ios/GridRenderLayer.swift +1004 -0
  347. package/lib/module/lib/commonjs/ios/GridRenderLayerBridge.swift +37 -0
  348. package/lib/module/lib/commonjs/ios/GridRenderLayerManager.mm +158 -0
  349. package/lib/module/lib/commonjs/ios/GridRenderLayerView.h +31 -0
  350. package/lib/module/lib/commonjs/ios/GridRenderLayerView.m +217 -0
  351. package/lib/module/lib/commonjs/ios/InspectorDataCache.swift +66 -0
  352. package/lib/module/lib/commonjs/ios/InspectorModule.m +10 -0
  353. package/lib/module/lib/commonjs/ios/InspectorModule.swift +64 -0
  354. package/lib/module/lib/commonjs/ios/Shaders.metal +328 -0
  355. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.m +16 -0
  356. package/lib/module/lib/commonjs/ios/WeatherFrameProcessorModule.swift +104 -0
  357. package/lib/module/lib/commonjs/ios/compiled-shaders/Shaders-device.metallib +0 -0
  358. package/lib/module/lib/commonjs/ios/compiled-shaders/Shaders-simulator.metallib +0 -0
  359. package/lib/module/lib/commonjs/ios/generated/AguaceroWxReactNativeSpec-generated.mm +0 -0
  360. package/lib/module/lib/commonjs/package.json +72 -72
  361. package/lib/module/lib/commonjs/react-native-builder-bob.config.js.map +1 -1
  362. package/lib/module/lib/commonjs/scripts/compile-shaders.js.map +1 -1
  363. package/lib/module/lib/commonjs/scripts/compile-shaders.sh +39 -0
  364. package/lib/module/lib/commonjs/src/AguaceroContext.js.map +1 -1
  365. package/lib/module/lib/commonjs/src/GridRenderLayer.js.map +1 -1
  366. package/lib/module/lib/commonjs/src/GridRenderLayerNativeComponent.js.map +1 -1
  367. package/lib/module/lib/commonjs/src/MapManager.js.map +1 -1
  368. package/lib/module/lib/commonjs/src/MapRegistry.js.map +1 -1
  369. package/lib/module/lib/commonjs/src/StyleApplicator.js +6 -6
  370. package/lib/module/lib/commonjs/src/StyleApplicator.js.map +1 -1
  371. package/lib/module/lib/commonjs/src/WeatherLayerManager.js +5 -18
  372. package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  373. package/lib/module/lib/commonjs/tsconfig.json +23 -23
  374. package/lib/module/package.json +72 -72
  375. package/lib/module/react-native-builder-bob.config.js.map +1 -1
  376. package/lib/module/scripts/compile-shaders.js.map +1 -1
  377. package/lib/module/scripts/compile-shaders.sh +38 -38
  378. package/lib/module/src/AguaceroContext.js.map +1 -1
  379. package/lib/module/src/GridRenderLayer.js.map +1 -1
  380. package/lib/module/src/GridRenderLayerNativeComponent.js.map +1 -1
  381. package/lib/module/src/MapManager.js.map +1 -1
  382. package/lib/module/src/MapRegistry.js.map +1 -1
  383. package/lib/module/src/StyleApplicator.js +6 -6
  384. package/lib/module/src/StyleApplicator.js.map +1 -1
  385. package/lib/module/src/WeatherLayerManager.js +5 -18
  386. package/lib/module/src/WeatherLayerManager.js.map +1 -1
  387. package/lib/module/tsconfig.json +23 -23
  388. package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
  389. package/package.json +72 -72
  390. package/src/AguaceroContext.js +3 -3
  391. package/src/GridRenderLayer.js +215 -215
  392. package/src/GridRenderLayerNativeComponent.ts +15 -15
  393. package/src/MapManager.js +218 -218
  394. package/src/MapRegistry.js +34 -34
  395. package/src/StyleApplicator.js +240 -240
  396. package/src/WeatherLayerManager.js +1137 -1151
@@ -1,328 +1,328 @@
1
- #include <metal_stdlib>
2
- using namespace metal;
3
-
4
- // Struct to match the vertex buffer layout in Swift
5
- struct Vertex {
6
- float2 position [[attribute(0)]];
7
- float2 texCoord [[attribute(1)]];
8
- };
9
-
10
- // Struct for passing data from vertex to fragment shader
11
- struct RasterizerData {
12
- float4 position [[position]];
13
- float2 texCoord;
14
- };
15
-
16
- // Uniforms passed from the CPU to the fragment shader
17
- struct FragmentUniforms {
18
- float opacity;
19
- float2 dataRange;
20
- float scale;
21
- float offset;
22
- float missingQuantized;
23
- float2 textureSize;
24
- int smoothing;
25
- int scaleType;
26
- int isPtype;
27
- int isMRMS;
28
- };
29
-
30
- // --- Vertex Shader (Unchanged) ---
31
- vertex RasterizerData vertex_main(const Vertex in [[stage_in]],
32
- constant float4x4 &mvp [[buffer(1)]]) {
33
- RasterizerData out;
34
- out.position = mvp * float4(in.position, 0.0, 1.0);
35
- out.texCoord = in.texCoord;
36
- return out;
37
- }
38
-
39
-
40
- // --- HELPER FUNCTIONS FOR FRAGMENT SHADER ---
41
-
42
- // Dequantizes a signed value (-127 to 127) into a physical value
43
- float dequantize_val(float q_val, constant FragmentUniforms &uniforms) {
44
- if (abs(q_val - uniforms.missingQuantized) < 0.5) {
45
- return -9999.0;
46
- }
47
- float intermediate = q_val * uniforms.scale + uniforms.offset;
48
- if (uniforms.scaleType == 1) { // 1 = sqrt
49
- return intermediate * abs(intermediate);
50
- }
51
- return intermediate;
52
- }
53
-
54
- // Samples texture, converts 0-255 to signed -128-127 range.
55
- // Returns a quantized value, or a large positive sentinel for missing data.
56
- float get_value(texture2d<float, access::sample> dataTexture, sampler dataSampler, float2 coord, constant FragmentUniforms &uniforms) {
57
- // Note: The sampler should be set to 'nearest' when calling this for ptype logic.
58
- float value_0_to_255 = dataTexture.sample(dataSampler, coord).r * 255.0;
59
- float val = value_0_to_255 - 128.0;
60
- float missing_in_texture_range_0_255 = uniforms.missingQuantized + 128.0;
61
- if (abs(value_0_to_255 - missing_in_texture_range_0_255) < 0.5) {
62
- return 99999.0; // Sentinel for "missing"
63
- }
64
- return val;
65
- }
66
-
67
- // Maps a physical value to a precipitation type category
68
- // Maps a physical value to a precipitation type category
69
- float get_ptype_from_physical(float val, constant FragmentUniforms &uniforms) { // ADD uniforms parameter
70
- if (val < 0.0) return -1.0;
71
-
72
- if (uniforms.isMRMS == 1) { // ADD THIS BRANCH
73
- // MRMS: 0-100 rain, 100-200 snow, 200-300 freezing rain
74
- if (val < 100.0) return 0.0;
75
- if (val < 200.0) return 1.0;
76
- if (val < 300.0) return 2.0;
77
- return -1.0;
78
- } else {
79
- // Models: 0-100 rain, 100-200 snow, 200-300 freezing rain, 300-400 ice pellets
80
- if (val < 100.0) return 0.0;
81
- if (val < 200.0) return 1.0;
82
- if (val < 300.0) return 2.0;
83
- if (val < 400.0) return 3.0;
84
- return -1.0;
85
- }
86
- }
87
-
88
- // --- Main Fragment Shader ---
89
- fragment float4 fragment_main(RasterizerData in [[stage_in]],
90
- constant FragmentUniforms &uniforms [[buffer(0)]],
91
- texture2d<float, access::sample> dataTexture [[texture(0)]],
92
- texture2d<float, access::sample> colormapTexture [[texture(1)]],
93
- sampler dataSampler [[sampler(0)]],
94
- sampler colormapSampler [[sampler(1)]])
95
- {
96
- float raw_value;
97
- float alpha_multiplier = 1.0; // Used for alpha feathering at data edges
98
-
99
- if (uniforms.smoothing == 0) { // Nearest neighbor
100
- float quantized_value = get_value(dataTexture, dataSampler, in.texCoord, uniforms);
101
- if (quantized_value >= 99999.0) {
102
- discard_fragment();
103
- }
104
- raw_value = dequantize_val(quantized_value, uniforms);
105
-
106
- } else { // Bilinear interpolation
107
- float2 texel_size = 1.0 / uniforms.textureSize;
108
- float2 tex_coord_in_texels = in.texCoord * uniforms.textureSize;
109
- float2 bl_texel_index = floor(tex_coord_in_texels - 0.5);
110
- float2 f = fract(tex_coord_in_texels - 0.5); // Interpolation factors
111
-
112
- // Coordinates of the 4 neighboring texels
113
- float2 v00_coord = (bl_texel_index + float2(0.5, 0.5)) * texel_size;
114
- float2 v10_coord = (bl_texel_index + float2(1.5, 0.5)) * texel_size;
115
- float2 v01_coord = (bl_texel_index + float2(0.5, 1.5)) * texel_size;
116
- float2 v11_coord = (bl_texel_index + float2(1.5, 1.5)) * texel_size;
117
-
118
- if (uniforms.isPtype == 1) {
119
- // --- ENHANCED PTYPE-SPECIFIC INTERPOLATION ---
120
- float v00 = dequantize_val(get_value(dataTexture, dataSampler, v00_coord, uniforms), uniforms);
121
- float v10 = dequantize_val(get_value(dataTexture, dataSampler, v10_coord, uniforms), uniforms);
122
- float v01 = dequantize_val(get_value(dataTexture, dataSampler, v01_coord, uniforms), uniforms);
123
- float v11 = dequantize_val(get_value(dataTexture, dataSampler, v11_coord, uniforms), uniforms);
124
-
125
- float p00 = get_ptype_from_physical(v00, uniforms);
126
- float p10 = get_ptype_from_physical(v10, uniforms);
127
- float p01 = get_ptype_from_physical(v01, uniforms);
128
- float p11 = get_ptype_from_physical(v11, uniforms);
129
-
130
- // Count unique valid precipitation types
131
- bool has_type_0 = false;
132
- bool has_type_1 = false;
133
- bool has_type_2 = false;
134
- bool has_type_3 = false;
135
- int valid_count = 0;
136
-
137
- if (p00 >= 0.0) {
138
- int ptype = int(p00);
139
- if (ptype == 0) has_type_0 = true;
140
- else if (ptype == 1) has_type_1 = true;
141
- else if (ptype == 2) has_type_2 = true;
142
- else if (ptype == 3) has_type_3 = true;
143
- valid_count++;
144
- }
145
- if (p10 >= 0.0) {
146
- int ptype = int(p10);
147
- if (ptype == 0) has_type_0 = true;
148
- else if (ptype == 1) has_type_1 = true;
149
- else if (ptype == 2) has_type_2 = true;
150
- else if (ptype == 3) has_type_3 = true;
151
- valid_count++;
152
- }
153
- if (p01 >= 0.0) {
154
- int ptype = int(p01);
155
- if (ptype == 0) has_type_0 = true;
156
- else if (ptype == 1) has_type_1 = true;
157
- else if (ptype == 2) has_type_2 = true;
158
- else if (ptype == 3) has_type_3 = true;
159
- valid_count++;
160
- }
161
- if (p11 >= 0.0) {
162
- int ptype = int(p11);
163
- if (ptype == 0) has_type_0 = true;
164
- else if (ptype == 1) has_type_1 = true;
165
- else if (ptype == 2) has_type_2 = true;
166
- else if (ptype == 3) has_type_3 = true;
167
- valid_count++;
168
- }
169
-
170
- if (valid_count == 0) discard_fragment();
171
-
172
- // Count how many unique types we have
173
- int unique_types = 0;
174
- if (has_type_0) unique_types++;
175
- if (has_type_1) unique_types++;
176
- if (has_type_2) unique_types++;
177
- if (has_type_3) unique_types++;
178
-
179
- if (unique_types == 1) {
180
- // ALL SAME TYPE - smooth interpolation across all valid pixels
181
- float total_value = 0.0;
182
- float total_weight = 0.0;
183
-
184
- if (p00 >= 0.0) {
185
- float weight = (1.0 - f.x) * (1.0 - f.y);
186
- total_value += v00 * weight;
187
- total_weight += weight;
188
- }
189
- if (p10 >= 0.0) {
190
- float weight = f.x * (1.0 - f.y);
191
- total_value += v10 * weight;
192
- total_weight += weight;
193
- }
194
- if (p01 >= 0.0) {
195
- float weight = (1.0 - f.x) * f.y;
196
- total_value += v01 * weight;
197
- total_weight += weight;
198
- }
199
- if (p11 >= 0.0) {
200
- float weight = f.x * f.y;
201
- total_value += v11 * weight;
202
- total_weight += weight;
203
- }
204
-
205
- if (total_weight <= 0.0) discard_fragment();
206
- raw_value = total_value / total_weight;
207
-
208
- } else {
209
- // MULTIPLE TYPES - weighted voting to determine dominant type
210
- float type_weight_0 = 0.0;
211
- float type_weight_1 = 0.0;
212
- float type_weight_2 = 0.0;
213
- float type_weight_3 = 0.0;
214
-
215
- if (p00 >= 0.0) {
216
- float w = (1.0 - f.x) * (1.0 - f.y);
217
- int ptype = int(p00);
218
- if (ptype == 0) type_weight_0 += w;
219
- else if (ptype == 1) type_weight_1 += w;
220
- else if (ptype == 2) type_weight_2 += w;
221
- else if (ptype == 3) type_weight_3 += w;
222
- }
223
- if (p10 >= 0.0) {
224
- float w = f.x * (1.0 - f.y);
225
- int ptype = int(p10);
226
- if (ptype == 0) type_weight_0 += w;
227
- else if (ptype == 1) type_weight_1 += w;
228
- else if (ptype == 2) type_weight_2 += w;
229
- else if (ptype == 3) type_weight_3 += w;
230
- }
231
- if (p01 >= 0.0) {
232
- float w = (1.0 - f.x) * f.y;
233
- int ptype = int(p01);
234
- if (ptype == 0) type_weight_0 += w;
235
- else if (ptype == 1) type_weight_1 += w;
236
- else if (ptype == 2) type_weight_2 += w;
237
- else if (ptype == 3) type_weight_3 += w;
238
- }
239
- if (p11 >= 0.0) {
240
- float w = f.x * f.y;
241
- int ptype = int(p11);
242
- if (ptype == 0) type_weight_0 += w;
243
- else if (ptype == 1) type_weight_1 += w;
244
- else if (ptype == 2) type_weight_2 += w;
245
- else if (ptype == 3) type_weight_3 += w;
246
- }
247
-
248
- // Find the type with the highest weight at this pixel location
249
- float max_type_weight = 0.0;
250
- float winning_type = -1.0;
251
- if (type_weight_0 > max_type_weight) { max_type_weight = type_weight_0; winning_type = 0.0; }
252
- if (type_weight_1 > max_type_weight) { max_type_weight = type_weight_1; winning_type = 1.0; }
253
- if (type_weight_2 > max_type_weight) { max_type_weight = type_weight_2; winning_type = 2.0; }
254
- if (type_weight_3 > max_type_weight) { max_type_weight = type_weight_3; winning_type = 3.0; }
255
-
256
- if (winning_type == -1.0) discard_fragment();
257
-
258
- // Now smoothly interpolate only among pixels of the winning type
259
- float total_value = 0.0;
260
- float total_weight = 0.0;
261
-
262
- if (p00 == winning_type) {
263
- float weight = (1.0 - f.x) * (1.0 - f.y);
264
- total_value += v00 * weight;
265
- total_weight += weight;
266
- }
267
- if (p10 == winning_type) {
268
- float weight = f.x * (1.0 - f.y);
269
- total_value += v10 * weight;
270
- total_weight += weight;
271
- }
272
- if (p01 == winning_type) {
273
- float weight = (1.0 - f.x) * f.y;
274
- total_value += v01 * weight;
275
- total_weight += weight;
276
- }
277
- if (p11 == winning_type) {
278
- float weight = f.x * f.y;
279
- total_value += v11 * weight;
280
- total_weight += weight;
281
- }
282
-
283
- if (total_weight <= 0.0) discard_fragment();
284
- raw_value = total_value / total_weight;
285
- }
286
-
287
- // Force full alpha to prevent dark borders between ptype regions
288
- alpha_multiplier = 1.0;
289
-
290
- } else {
291
- // --- STANDARD INTERPOLATION (CONTINUOUS) ---
292
- float v00_q = get_value(dataTexture, dataSampler, v00_coord, uniforms);
293
- float v10_q = get_value(dataTexture, dataSampler, v10_coord, uniforms);
294
- float v01_q = get_value(dataTexture, dataSampler, v01_coord, uniforms);
295
- float v11_q = get_value(dataTexture, dataSampler, v11_coord, uniforms);
296
-
297
- float total_value_q = 0.0;
298
- float total_weight = 0.0;
299
- if (v00_q < 99999.0) { float w = (1.0-f.x)*(1.0-f.y); total_value_q+=v00_q*w; total_weight+=w; }
300
- if (v10_q < 99999.0) { float w = f.x*(1.0-f.y); total_value_q+=v10_q*w; total_weight+=w; }
301
- if (v01_q < 99999.0) { float w = (1.0-f.x)*f.y; total_value_q+=v01_q*w; total_weight+=w; }
302
- if (v11_q < 99999.0) { float w = f.x*f.y; total_value_q+=v11_q*w; total_weight+=w; }
303
-
304
- if (total_weight <= 0.0) discard_fragment();
305
- raw_value = dequantize_val(total_value_q / total_weight, uniforms);
306
- alpha_multiplier = total_weight; // Feather the edges of the data
307
- }
308
- }
309
-
310
- // --- COMMON FINAL STEPS ---
311
-
312
- if (raw_value < uniforms.dataRange.x) {
313
- discard_fragment();
314
- }
315
-
316
- float colormap_coord = (raw_value - uniforms.dataRange.x) / (uniforms.dataRange.y - uniforms.dataRange.x);
317
- colormap_coord = clamp(colormap_coord, 0.0, 1.0);
318
-
319
- float4 color = colormapTexture.sample(colormapSampler, float2(colormap_coord, 0.5));
320
-
321
- // Discard if the colormap specifies transparency
322
- if (color.a < 0.1) {
323
- discard_fragment();
324
- }
325
-
326
- float final_alpha = color.a * uniforms.opacity * alpha_multiplier;
327
- return float4(color.rgb * final_alpha, final_alpha);
1
+ #include <metal_stdlib>
2
+ using namespace metal;
3
+
4
+ // Struct to match the vertex buffer layout in Swift
5
+ struct Vertex {
6
+ float2 position [[attribute(0)]];
7
+ float2 texCoord [[attribute(1)]];
8
+ };
9
+
10
+ // Struct for passing data from vertex to fragment shader
11
+ struct RasterizerData {
12
+ float4 position [[position]];
13
+ float2 texCoord;
14
+ };
15
+
16
+ // Uniforms passed from the CPU to the fragment shader
17
+ struct FragmentUniforms {
18
+ float opacity;
19
+ float2 dataRange;
20
+ float scale;
21
+ float offset;
22
+ float missingQuantized;
23
+ float2 textureSize;
24
+ int smoothing;
25
+ int scaleType;
26
+ int isPtype;
27
+ int isMRMS;
28
+ };
29
+
30
+ // --- Vertex Shader (Unchanged) ---
31
+ vertex RasterizerData vertex_main(const Vertex in [[stage_in]],
32
+ constant float4x4 &mvp [[buffer(1)]]) {
33
+ RasterizerData out;
34
+ out.position = mvp * float4(in.position, 0.0, 1.0);
35
+ out.texCoord = in.texCoord;
36
+ return out;
37
+ }
38
+
39
+
40
+ // --- HELPER FUNCTIONS FOR FRAGMENT SHADER ---
41
+
42
+ // Dequantizes a signed value (-127 to 127) into a physical value
43
+ float dequantize_val(float q_val, constant FragmentUniforms &uniforms) {
44
+ if (abs(q_val - uniforms.missingQuantized) < 0.5) {
45
+ return -9999.0;
46
+ }
47
+ float intermediate = q_val * uniforms.scale + uniforms.offset;
48
+ if (uniforms.scaleType == 1) { // 1 = sqrt
49
+ return intermediate * abs(intermediate);
50
+ }
51
+ return intermediate;
52
+ }
53
+
54
+ // Samples texture, converts 0-255 to signed -128-127 range.
55
+ // Returns a quantized value, or a large positive sentinel for missing data.
56
+ float get_value(texture2d<float, access::sample> dataTexture, sampler dataSampler, float2 coord, constant FragmentUniforms &uniforms) {
57
+ // Note: The sampler should be set to 'nearest' when calling this for ptype logic.
58
+ float value_0_to_255 = dataTexture.sample(dataSampler, coord).r * 255.0;
59
+ float val = value_0_to_255 - 128.0;
60
+ float missing_in_texture_range_0_255 = uniforms.missingQuantized + 128.0;
61
+ if (abs(value_0_to_255 - missing_in_texture_range_0_255) < 0.5) {
62
+ return 99999.0; // Sentinel for "missing"
63
+ }
64
+ return val;
65
+ }
66
+
67
+ // Maps a physical value to a precipitation type category
68
+ // Maps a physical value to a precipitation type category
69
+ float get_ptype_from_physical(float val, constant FragmentUniforms &uniforms) { // ADD uniforms parameter
70
+ if (val < 0.0) return -1.0;
71
+
72
+ if (uniforms.isMRMS == 1) { // ADD THIS BRANCH
73
+ // MRMS: 0-100 rain, 100-200 snow, 200-300 freezing rain
74
+ if (val < 100.0) return 0.0;
75
+ if (val < 200.0) return 1.0;
76
+ if (val < 300.0) return 2.0;
77
+ return -1.0;
78
+ } else {
79
+ // Models: 0-100 rain, 100-200 snow, 200-300 freezing rain, 300-400 ice pellets
80
+ if (val < 100.0) return 0.0;
81
+ if (val < 200.0) return 1.0;
82
+ if (val < 300.0) return 2.0;
83
+ if (val < 400.0) return 3.0;
84
+ return -1.0;
85
+ }
86
+ }
87
+
88
+ // --- Main Fragment Shader ---
89
+ fragment float4 fragment_main(RasterizerData in [[stage_in]],
90
+ constant FragmentUniforms &uniforms [[buffer(0)]],
91
+ texture2d<float, access::sample> dataTexture [[texture(0)]],
92
+ texture2d<float, access::sample> colormapTexture [[texture(1)]],
93
+ sampler dataSampler [[sampler(0)]],
94
+ sampler colormapSampler [[sampler(1)]])
95
+ {
96
+ float raw_value;
97
+ float alpha_multiplier = 1.0; // Used for alpha feathering at data edges
98
+
99
+ if (uniforms.smoothing == 0) { // Nearest neighbor
100
+ float quantized_value = get_value(dataTexture, dataSampler, in.texCoord, uniforms);
101
+ if (quantized_value >= 99999.0) {
102
+ discard_fragment();
103
+ }
104
+ raw_value = dequantize_val(quantized_value, uniforms);
105
+
106
+ } else { // Bilinear interpolation
107
+ float2 texel_size = 1.0 / uniforms.textureSize;
108
+ float2 tex_coord_in_texels = in.texCoord * uniforms.textureSize;
109
+ float2 bl_texel_index = floor(tex_coord_in_texels - 0.5);
110
+ float2 f = fract(tex_coord_in_texels - 0.5); // Interpolation factors
111
+
112
+ // Coordinates of the 4 neighboring texels
113
+ float2 v00_coord = (bl_texel_index + float2(0.5, 0.5)) * texel_size;
114
+ float2 v10_coord = (bl_texel_index + float2(1.5, 0.5)) * texel_size;
115
+ float2 v01_coord = (bl_texel_index + float2(0.5, 1.5)) * texel_size;
116
+ float2 v11_coord = (bl_texel_index + float2(1.5, 1.5)) * texel_size;
117
+
118
+ if (uniforms.isPtype == 1) {
119
+ // --- ENHANCED PTYPE-SPECIFIC INTERPOLATION ---
120
+ float v00 = dequantize_val(get_value(dataTexture, dataSampler, v00_coord, uniforms), uniforms);
121
+ float v10 = dequantize_val(get_value(dataTexture, dataSampler, v10_coord, uniforms), uniforms);
122
+ float v01 = dequantize_val(get_value(dataTexture, dataSampler, v01_coord, uniforms), uniforms);
123
+ float v11 = dequantize_val(get_value(dataTexture, dataSampler, v11_coord, uniforms), uniforms);
124
+
125
+ float p00 = get_ptype_from_physical(v00, uniforms);
126
+ float p10 = get_ptype_from_physical(v10, uniforms);
127
+ float p01 = get_ptype_from_physical(v01, uniforms);
128
+ float p11 = get_ptype_from_physical(v11, uniforms);
129
+
130
+ // Count unique valid precipitation types
131
+ bool has_type_0 = false;
132
+ bool has_type_1 = false;
133
+ bool has_type_2 = false;
134
+ bool has_type_3 = false;
135
+ int valid_count = 0;
136
+
137
+ if (p00 >= 0.0) {
138
+ int ptype = int(p00);
139
+ if (ptype == 0) has_type_0 = true;
140
+ else if (ptype == 1) has_type_1 = true;
141
+ else if (ptype == 2) has_type_2 = true;
142
+ else if (ptype == 3) has_type_3 = true;
143
+ valid_count++;
144
+ }
145
+ if (p10 >= 0.0) {
146
+ int ptype = int(p10);
147
+ if (ptype == 0) has_type_0 = true;
148
+ else if (ptype == 1) has_type_1 = true;
149
+ else if (ptype == 2) has_type_2 = true;
150
+ else if (ptype == 3) has_type_3 = true;
151
+ valid_count++;
152
+ }
153
+ if (p01 >= 0.0) {
154
+ int ptype = int(p01);
155
+ if (ptype == 0) has_type_0 = true;
156
+ else if (ptype == 1) has_type_1 = true;
157
+ else if (ptype == 2) has_type_2 = true;
158
+ else if (ptype == 3) has_type_3 = true;
159
+ valid_count++;
160
+ }
161
+ if (p11 >= 0.0) {
162
+ int ptype = int(p11);
163
+ if (ptype == 0) has_type_0 = true;
164
+ else if (ptype == 1) has_type_1 = true;
165
+ else if (ptype == 2) has_type_2 = true;
166
+ else if (ptype == 3) has_type_3 = true;
167
+ valid_count++;
168
+ }
169
+
170
+ if (valid_count == 0) discard_fragment();
171
+
172
+ // Count how many unique types we have
173
+ int unique_types = 0;
174
+ if (has_type_0) unique_types++;
175
+ if (has_type_1) unique_types++;
176
+ if (has_type_2) unique_types++;
177
+ if (has_type_3) unique_types++;
178
+
179
+ if (unique_types == 1) {
180
+ // ALL SAME TYPE - smooth interpolation across all valid pixels
181
+ float total_value = 0.0;
182
+ float total_weight = 0.0;
183
+
184
+ if (p00 >= 0.0) {
185
+ float weight = (1.0 - f.x) * (1.0 - f.y);
186
+ total_value += v00 * weight;
187
+ total_weight += weight;
188
+ }
189
+ if (p10 >= 0.0) {
190
+ float weight = f.x * (1.0 - f.y);
191
+ total_value += v10 * weight;
192
+ total_weight += weight;
193
+ }
194
+ if (p01 >= 0.0) {
195
+ float weight = (1.0 - f.x) * f.y;
196
+ total_value += v01 * weight;
197
+ total_weight += weight;
198
+ }
199
+ if (p11 >= 0.0) {
200
+ float weight = f.x * f.y;
201
+ total_value += v11 * weight;
202
+ total_weight += weight;
203
+ }
204
+
205
+ if (total_weight <= 0.0) discard_fragment();
206
+ raw_value = total_value / total_weight;
207
+
208
+ } else {
209
+ // MULTIPLE TYPES - weighted voting to determine dominant type
210
+ float type_weight_0 = 0.0;
211
+ float type_weight_1 = 0.0;
212
+ float type_weight_2 = 0.0;
213
+ float type_weight_3 = 0.0;
214
+
215
+ if (p00 >= 0.0) {
216
+ float w = (1.0 - f.x) * (1.0 - f.y);
217
+ int ptype = int(p00);
218
+ if (ptype == 0) type_weight_0 += w;
219
+ else if (ptype == 1) type_weight_1 += w;
220
+ else if (ptype == 2) type_weight_2 += w;
221
+ else if (ptype == 3) type_weight_3 += w;
222
+ }
223
+ if (p10 >= 0.0) {
224
+ float w = f.x * (1.0 - f.y);
225
+ int ptype = int(p10);
226
+ if (ptype == 0) type_weight_0 += w;
227
+ else if (ptype == 1) type_weight_1 += w;
228
+ else if (ptype == 2) type_weight_2 += w;
229
+ else if (ptype == 3) type_weight_3 += w;
230
+ }
231
+ if (p01 >= 0.0) {
232
+ float w = (1.0 - f.x) * f.y;
233
+ int ptype = int(p01);
234
+ if (ptype == 0) type_weight_0 += w;
235
+ else if (ptype == 1) type_weight_1 += w;
236
+ else if (ptype == 2) type_weight_2 += w;
237
+ else if (ptype == 3) type_weight_3 += w;
238
+ }
239
+ if (p11 >= 0.0) {
240
+ float w = f.x * f.y;
241
+ int ptype = int(p11);
242
+ if (ptype == 0) type_weight_0 += w;
243
+ else if (ptype == 1) type_weight_1 += w;
244
+ else if (ptype == 2) type_weight_2 += w;
245
+ else if (ptype == 3) type_weight_3 += w;
246
+ }
247
+
248
+ // Find the type with the highest weight at this pixel location
249
+ float max_type_weight = 0.0;
250
+ float winning_type = -1.0;
251
+ if (type_weight_0 > max_type_weight) { max_type_weight = type_weight_0; winning_type = 0.0; }
252
+ if (type_weight_1 > max_type_weight) { max_type_weight = type_weight_1; winning_type = 1.0; }
253
+ if (type_weight_2 > max_type_weight) { max_type_weight = type_weight_2; winning_type = 2.0; }
254
+ if (type_weight_3 > max_type_weight) { max_type_weight = type_weight_3; winning_type = 3.0; }
255
+
256
+ if (winning_type == -1.0) discard_fragment();
257
+
258
+ // Now smoothly interpolate only among pixels of the winning type
259
+ float total_value = 0.0;
260
+ float total_weight = 0.0;
261
+
262
+ if (p00 == winning_type) {
263
+ float weight = (1.0 - f.x) * (1.0 - f.y);
264
+ total_value += v00 * weight;
265
+ total_weight += weight;
266
+ }
267
+ if (p10 == winning_type) {
268
+ float weight = f.x * (1.0 - f.y);
269
+ total_value += v10 * weight;
270
+ total_weight += weight;
271
+ }
272
+ if (p01 == winning_type) {
273
+ float weight = (1.0 - f.x) * f.y;
274
+ total_value += v01 * weight;
275
+ total_weight += weight;
276
+ }
277
+ if (p11 == winning_type) {
278
+ float weight = f.x * f.y;
279
+ total_value += v11 * weight;
280
+ total_weight += weight;
281
+ }
282
+
283
+ if (total_weight <= 0.0) discard_fragment();
284
+ raw_value = total_value / total_weight;
285
+ }
286
+
287
+ // Force full alpha to prevent dark borders between ptype regions
288
+ alpha_multiplier = 1.0;
289
+
290
+ } else {
291
+ // --- STANDARD INTERPOLATION (CONTINUOUS) ---
292
+ float v00_q = get_value(dataTexture, dataSampler, v00_coord, uniforms);
293
+ float v10_q = get_value(dataTexture, dataSampler, v10_coord, uniforms);
294
+ float v01_q = get_value(dataTexture, dataSampler, v01_coord, uniforms);
295
+ float v11_q = get_value(dataTexture, dataSampler, v11_coord, uniforms);
296
+
297
+ float total_value_q = 0.0;
298
+ float total_weight = 0.0;
299
+ if (v00_q < 99999.0) { float w = (1.0-f.x)*(1.0-f.y); total_value_q+=v00_q*w; total_weight+=w; }
300
+ if (v10_q < 99999.0) { float w = f.x*(1.0-f.y); total_value_q+=v10_q*w; total_weight+=w; }
301
+ if (v01_q < 99999.0) { float w = (1.0-f.x)*f.y; total_value_q+=v01_q*w; total_weight+=w; }
302
+ if (v11_q < 99999.0) { float w = f.x*f.y; total_value_q+=v11_q*w; total_weight+=w; }
303
+
304
+ if (total_weight <= 0.0) discard_fragment();
305
+ raw_value = dequantize_val(total_value_q / total_weight, uniforms);
306
+ alpha_multiplier = total_weight; // Feather the edges of the data
307
+ }
308
+ }
309
+
310
+ // --- COMMON FINAL STEPS ---
311
+
312
+ if (raw_value < uniforms.dataRange.x) {
313
+ discard_fragment();
314
+ }
315
+
316
+ float colormap_coord = (raw_value - uniforms.dataRange.x) / (uniforms.dataRange.y - uniforms.dataRange.x);
317
+ colormap_coord = clamp(colormap_coord, 0.0, 1.0);
318
+
319
+ float4 color = colormapTexture.sample(colormapSampler, float2(colormap_coord, 0.5));
320
+
321
+ // Discard if the colormap specifies transparency
322
+ if (color.a < 0.1) {
323
+ discard_fragment();
324
+ }
325
+
326
+ float final_alpha = color.a * uniforms.opacity * alpha_multiplier;
327
+ return float4(color.rgb * final_alpha, final_alpha);
328
328
  }