@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
@@ -0,0 +1,241 @@
1
+ import React from 'react';
2
+ import Mapbox from '@rnmapbox/maps';
3
+
4
+ // Re-implement the mapping from your web SDK for clarity and maintenance.
5
+ const STYLE_LAYER_MAP = {
6
+ // Background and water layers
7
+ landColor: { layerId: 'AML_-_land' },
8
+ oceanColor: { layerId: 'AML_-_water' },
9
+ waterDepth: { layerId: 'AML_-_water-depth' },
10
+ nationalPark: { layerId: 'AML_-_national-park' },
11
+
12
+ // Line layers
13
+ roads: { layerId: 'AML_-_roads' },
14
+ airports: { layerId: 'AML_-_airports' },
15
+ countries: { layerId: 'AML_-_countries' },
16
+ states: { layerId: 'AML_-_states' },
17
+ counties: { layerId: 'AML_-_counties' },
18
+ waterways: { layerId: 'AML_-_waterway' },
19
+
20
+ // Symbol (label) layers
21
+ continents: { layerId: 'AML_-_continent-label' },
22
+ countriesLabels: { layerId: 'AML_-_country-label' },
23
+ statesLabels: { layerId: 'AML_-_state-label' },
24
+ citiesMajor: { layerId: 'AML_-_major-city-label' },
25
+ citiesMinor: { layerId: 'AML_-_minor-city-label' },
26
+ airportsLabels: { layerId: 'AML_-_airport-label' },
27
+ poi: { layerId: 'AML_-_poi-label' },
28
+ waterLabels: { layerId: 'AML_-_water-point-label' },
29
+ naturalLabels: { layerId: 'AML_-_natural-point-label' },
30
+ subdivisionLabels: { layerId: 'AML_-_subdivision-label' },
31
+ };
32
+
33
+ /**
34
+ * A utility to sanitize 8-digit hex colors (#rrggbbaa) to 6-digit hex (#rrggbb)
35
+ * as required by some Mapbox properties.
36
+ */
37
+ function sanitizeColor(color) {
38
+ if (typeof color === 'string' && color.startsWith('#') && color.length === 9) {
39
+ return color.substring(0, 7);
40
+ }
41
+ return color;
42
+ }
43
+
44
+ /**
45
+ * Renders a set of Mapbox layers with styles derived from a theme object.
46
+ * This is the declarative, React Native equivalent of `applyStyleCustomizations`.
47
+ */
48
+ export const StyleApplicator = ({ styles }) => {
49
+ if (!styles) {
50
+ return null;
51
+ }
52
+
53
+ const { landOcean, transportation, boundaries, waterFeatures, labels, terrain } = styles;
54
+
55
+ // --- Helper for Line Layer Styles ---
56
+ const getLineStyles = (config) => {
57
+ if (!config) return {};
58
+ const dashArray = { dashed: [2, 2], dotted: [0, 2], solid: [] };
59
+ return {
60
+ visibility: config.visible ? 'visible' : 'none',
61
+ lineColor: sanitizeColor(config.color),
62
+ lineWidth: config.width,
63
+ lineDasharray: dashArray[config.lineType] || [],
64
+ };
65
+ };
66
+
67
+ // --- Helper for Symbol (Label) Layer Styles ---
68
+ const getSymbolStyles = (config) => {
69
+ if (!config) return {};
70
+ return {
71
+ visibility: config.visible ? 'visible' : 'none',
72
+ textColor: sanitizeColor(config.color),
73
+ textHaloColor: sanitizeColor(config.outlineColor),
74
+ textHaloWidth: config.outlineWidth,
75
+ textSize: config.fontSize,
76
+ textFont: [config.fontFamily],
77
+ };
78
+ };
79
+
80
+ return (
81
+ <>
82
+ {/* --- Land & Water --- */}
83
+ {landOcean && (
84
+ <>
85
+ <Mapbox.BackgroundLayer
86
+ id={STYLE_LAYER_MAP.landColor.layerId}
87
+ existing={true} // FIX: Added existing prop
88
+ style={{ backgroundColor: sanitizeColor(landOcean.landColor) }}
89
+ />
90
+ <Mapbox.FillLayer
91
+ id={STYLE_LAYER_MAP.oceanColor.layerId}
92
+ existing={true} // FIX: Added existing prop
93
+ style={{ fillColor: sanitizeColor(landOcean.oceanColor) }}
94
+ />
95
+ {landOcean.waterDepth && (
96
+ <Mapbox.FillLayer
97
+ id={STYLE_LAYER_MAP.waterDepth.layerId}
98
+ existing={true} // FIX: Added existing prop
99
+ style={{
100
+ visibility: landOcean.waterDepth.visible ? 'visible' : 'none',
101
+ fillColor: sanitizeColor(landOcean.waterDepth.color)
102
+ }}
103
+ />
104
+ )}
105
+ {landOcean.nationalPark && (
106
+ <Mapbox.FillLayer
107
+ id={STYLE_LAYER_MAP.nationalPark.layerId}
108
+ existing={true} // FIX: Added existing prop
109
+ style={{
110
+ visibility: landOcean.nationalPark.visible ? 'visible' : 'none',
111
+ fillColor: sanitizeColor(landOcean.nationalPark.color)
112
+ }}
113
+ />
114
+ )}
115
+ </>
116
+ )}
117
+
118
+ {/* --- Boundaries & Transportation --- */}
119
+ {boundaries && (
120
+ <>
121
+ <Mapbox.LineLayer
122
+ id={STYLE_LAYER_MAP.countries.layerId}
123
+ existing={true} // FIX: Added existing prop
124
+ style={getLineStyles(boundaries.countries)}
125
+ />
126
+ <Mapbox.LineLayer
127
+ id={STYLE_LAYER_MAP.states.layerId}
128
+ existing={true} // FIX: Added existing prop
129
+ style={getLineStyles(boundaries.states)}
130
+ />
131
+ <Mapbox.LineLayer
132
+ id={STYLE_LAYER_MAP.counties.layerId}
133
+ existing={true} // FIX: Added existing prop
134
+ style={getLineStyles(boundaries.counties)}
135
+ />
136
+ </>
137
+ )}
138
+ {transportation && (
139
+ <>
140
+ <Mapbox.LineLayer
141
+ id={STYLE_LAYER_MAP.roads.layerId}
142
+ existing={true} // FIX: Added existing prop
143
+ style={getLineStyles(transportation.roads)}
144
+ />
145
+ <Mapbox.LineLayer
146
+ id={STYLE_LAYER_MAP.airports.layerId}
147
+ existing={true} // FIX: Added existing prop
148
+ style={getLineStyles(transportation.airports)}
149
+ />
150
+ </>
151
+ )}
152
+ {waterFeatures && (
153
+ <Mapbox.LineLayer
154
+ id={STYLE_LAYER_MAP.waterways.layerId}
155
+ existing={true} // FIX: Added existing prop
156
+ style={getLineStyles(waterFeatures.waterways)}
157
+ />
158
+ )}
159
+
160
+ {/* --- Labels --- */}
161
+ {labels && (
162
+ <>
163
+ <Mapbox.SymbolLayer
164
+ id={STYLE_LAYER_MAP.continents.layerId}
165
+ existing={true} // FIX: Added existing prop
166
+ style={getSymbolStyles(labels.continents)}
167
+ />
168
+ <Mapbox.SymbolLayer
169
+ id={STYLE_LAYER_MAP.countriesLabels.layerId}
170
+ existing={true} // FIX: Added existing prop
171
+ style={getSymbolStyles(labels.countries)}
172
+ />
173
+ <Mapbox.SymbolLayer
174
+ id={STYLE_LAYER_MAP.statesLabels.layerId}
175
+ existing={true} // FIX: Added existing prop
176
+ style={getSymbolStyles(labels.states)}
177
+ />
178
+ {labels.cities && (
179
+ <>
180
+ <Mapbox.SymbolLayer
181
+ id={STYLE_LAYER_MAP.citiesMajor.layerId}
182
+ existing={true} // FIX: Added existing prop
183
+ style={getSymbolStyles(labels.cities.major)}
184
+ />
185
+ <Mapbox.SymbolLayer
186
+ id={STYLE_LAYER_MAP.citiesMinor.layerId}
187
+ existing={true} // FIX: Added existing prop
188
+ style={getSymbolStyles(labels.cities.minor)}
189
+ />
190
+ </>
191
+ )}
192
+ <Mapbox.SymbolLayer
193
+ id={STYLE_LAYER_MAP.airportsLabels.layerId}
194
+ existing={true} // FIX: Added existing prop
195
+ style={getSymbolStyles(labels.airports)}
196
+ />
197
+ <Mapbox.SymbolLayer
198
+ id={STYLE_LAYER_MAP.poi.layerId}
199
+ existing={true} // FIX: Added existing prop
200
+ style={getSymbolStyles(labels.poi)}
201
+ />
202
+ <Mapbox.SymbolLayer
203
+ id={STYLE_LAYER_MAP.waterLabels.layerId}
204
+ existing={true} // FIX: Added existing prop
205
+ style={getSymbolStyles(labels.waterLabels)}
206
+ />
207
+ <Mapbox.SymbolLayer
208
+ id={STYLE_LAYER_MAP.naturalLabels.layerId}
209
+ existing={true} // FIX: Added existing prop
210
+ style={getSymbolStyles(labels.naturalLabels)}
211
+ />
212
+ <Mapbox.SymbolLayer
213
+ id={STYLE_LAYER_MAP.subdivisionLabels.layerId}
214
+ existing={true} // FIX: Added existing prop
215
+ style={getSymbolStyles(labels.subdivisionLabels)}
216
+ />
217
+ </>
218
+ )}
219
+
220
+ {/* --- Terrain --- */}
221
+ {terrain && terrain.visible && Mapbox.Terrain && Mapbox.HillshadeLayer && (
222
+ <>
223
+ <Mapbox.Terrain
224
+ sourceID="mapbox-dem"
225
+ style={{ exaggeration: 1 }}
226
+ />
227
+ <Mapbox.HillshadeLayer
228
+ id="hillshade"
229
+ sourceID="mapbox-dem"
230
+ style={{
231
+ hillshadeExaggeration: terrain.intensity,
232
+ hillshadeShadowColor: sanitizeColor(terrain.shadowColor),
233
+ hillshadeHighlightColor: sanitizeColor(terrain.highlightColor),
234
+ hillshadeAccentColor: sanitizeColor(terrain.accentColor)
235
+ }}
236
+ />
237
+ </>
238
+ )}
239
+ </>
240
+ );
241
+ };