What problem does it solve? Handling missing pages, failed data loads, and broken routes in TanStack Router apps requires knowing which APIs to use and which deprecated patterns to avoid, and mistakes like using NotFoundRoute or reading loader data in a notFoundComponent silently break error handling. ## Core Features & Use Cases - Not-Found Handling: Configure global 404s with notFoundComponent, throw notFound() from loaders for missing resources, and control bubbling with notFoundMode (fuzzy vs root). - Error Boundaries: Attach per-route errorComponent with retry via router.invalidate(), plus router-wide defaultErrorComponent fallbacks. - Route Masking: Display a different URL than the rendered route using the mask option on Link, useNavigate, or declarative createRouteMask with unmaskOnReload control. - Use Case: When building a photo gallery where /photos/123 loads a missing post, throw notFound() in the loader to render a contextual 404 while preserving the parent layout, and mask the modal route so the browser shows the clean photo URL. ## Quick Start Show me how to add a global 404 page and per-route error boundaries with retry to my TanStack Router app.