Complete early roadmap foundation and calendar helpers

This commit is contained in:
2026-05-15 21:41:37 -07:00
parent 6cd6729b7b
commit 8ee1f83b16
80 changed files with 3354 additions and 157 deletions
+43
View File
@@ -69,6 +69,15 @@ Required fields:
- `created_at`
- `updated_at`
Optional solar/time fields should be stored only for tiles that have real source
work or a published package, not for every theoretical 1 km square. The
Earth-scale registry may eventually contain hundreds of millions of possible
tiles, so solar metadata is generated on demand for existing/active tiles.
Optional growing-zone fields follow the same rule. Crop viability, frost-free
windows, and growing-season length are generated only for tiles with real source
work or published packages and explicit growing-zone data.
### `terrain_tile_neighbors`
Tracks adjacency for stitching and prefetching.
@@ -93,6 +102,40 @@ Required fields:
- `source_version`
- `coverage_status`
### `terrain_tile_solar_metadata`
Tracks local time-zone and solar lookup metadata for tiles that actually exist
in the registry as source-backed, generated, validated, packaged, or published
tiles.
Required fields:
- `tile_id`
- `time_zone_id`
- `standard_utc_offset_hours`
- `daylight_utc_offset_hours`
- `solar_model`
- `generated_at`
### `terrain_tile_growing_season_metadata`
Tracks the active growing zone and season window for source-backed tiles. Crop
systems use this table to decide whether a crop with a given maturity time can
finish before the represented region's growing season closes.
Required fields:
- `tile_id`
- `growing_zone_label`
- `climate_profile`
- `growing_season_start_day`
- `growing_season_end_day`
- `frost_free_days`
- `min_average_growing_temp_c`
- `crop_safety_buffer_days`
- `data_basis`
- `generated_at`
### `terrain_tile_packages`
Tracks generated downloadable packages.