Skip to content

Support paged feature sources, terrain ATOM and direct downloads - #6

Merged
PascalNun merged 1 commit into
mainfrom
codex/source-compatibility
Nov 2, 2026
Merged

PascalNun merged 1 commit into
mainfrom
codex/source-compatibility

Conversation

@PascalNun

Copy link
Copy Markdown
Owner

What changes

Sources that provide an API landing page, split features into pages, or publish direct files/terrain ATOM feeds previously needed manual work or could stop at one page. This adds the five highest-priority items from the compatibility audit through the existing components:

  • Follow supported WFS/OGC API pagination with deliberate caps, deduplication and explicit completeness/failure diagnostics; retain raw GML for buildings.
  • Discover OGC API collections from root/metadata links and expose them through the existing layer list and vector loader.
  • Load validated direct GeoJSON/Shapefile ZIPs and CityJSON/CityGML building downloads with bounded caching and archive checks.
  • Load terrain ATOM tiles into an aligned, cropped raster mosaic, preserving NoData and the shared elevation baseline.
  • Read ATOM/API reference metadata to orient Spatial Context, retaining saved-selection priority.

Also fixes projected Shapefile WKT authority selection, which could previously take a nested datum/ellipsoid EPSG code. The audit, implementation plan, exact source URLs, bounds and copyable example recipes are saved in the repository.

Validation

  • Release solution build: zero warnings/errors.
  • All seven deterministic suites passed, including 26 new source-compatibility checks; the new suite is included in CI.
  • Manifest JSON, unique source ids, diff whitespace, component GUIDs and parameter names/order checked against 0.4.0.
  • Live probes: 16 API collections; five unique lakes across five capped pages; Berlin DGM1 single-tile 400 x 400 and two-tile 200 x 200 Core meshes; Natural Earth GeoJSON (177 features) and Shapefile ZIP (three sample features); cjio Delft CityJSON (160 buildings).
  • Older Delft-hosted CityJSON failed TLS from this machine; a maintainer fixture supplied a verified alternative. Certificate validation was retained.

New interactive Rhino/Grasshopper visual checks and Windows runtime validation remain pending on the manual checklist. In particular, headless probes do not prove preview/Brep quality, responsive native UI, saved-definition behavior or cross-layer XY/Z alignment. This PR stays draft pending that validation.

Compatibility

Component identities, parameter names/order and normal connections are retained; Layer becomes optional for files and a sole API collection. Shared localization and elevation rules remain in use. No new package dependencies, Google extraction/export/key persistence, version bump, public release, installed-plugin replacement or Food4Rhino/Package Manager changes are included. The installed/public version remains 0.4.0.

Links: plan, examples, manual validation.

@PascalNun
PascalNun marked this pull request as ready for review November 2, 2026 08:13
@PascalNun
PascalNun merged commit 8aff1e8 into main Nov 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant