Learn

URI contracts and platform links

Treat a URI as the serialized form of a typed Destination and validate absolute links at the application boundary.

v0.1.0-dev.2Intermediate

URI contracts and platform links

The typed Destination constructor is the application API. A NavigationUriCodec<D> is its web and platform serialization boundary.

Canonical codecs encode and decode. NavigationUriAlias<D> only decodes retired or alternate URLs, ensuring the next route report uses the canonical address. A stackPlanBuilder reconstructs required parent entries atomically when a deep link opens a leaf route.

Mounted URI patterns are validated for ambiguity. The Graph rejects overlaps such as /products/:id and /products/new instead of selecting by declaration order.

Absolute App Links, Universal Links, and custom-scheme URLs should pass a NavigationPlatformLinkConfiguration allow-list before graph decoding. Native Android intent filters and Apple associated-domain configuration are still required; Ark Navigation owns validation after Flutter receives the URI, not operating-system registration.

An unknown-URI handler may return a typed fallback. It should also preserve the failure for diagnostics rather than silently turning every malformed link into Home.

ARKTELOS

Purpose-built engineering systems for software that has to hold.