# Examples and Demos

This crate ships with runnable demos under `examples/` and debug scripts under
`scripts/`.

## Disclaimer on Simplified Models

Several demos use **synthetic, simplified data** to make the 4D graph
concepts concrete.  They are illustrative, not scientific simulations.

- **Orbit constellation demo** (`demo_4d_orbit_constellation.rs`) uses circular
  orbits, a fixed line-of-sight threshold, and discrete time steps.  Real
  satellite routing would require J2-perturbed Keplerian propagation,
  atmospheric drag models, actual antenna patterns, and regulatory
  constraints.  The demo exists to show that the 4D graph primitives
  (spatial sphere queries, temporal edge validity, bottleneck analysis,
  signal propagation) apply to space communication — not to replace
  STK, Orekit, or a flight dynamics tool.

- **All other 4D demos** use hand-crafted toy graphs with 4–6 nodes and
  deliberately narrow temporal windows.  They are unit-test-scale teaching
  aids, not benchmark data sets.

Do not copy parameters (orbit radius, link range, edge schedules) into
production code without independent validation.

## Public Examples (`examples/`)

| Example | What it demonstrates |
|---------|---------------------|
| `demo_4d_cypher_queries` | Small Cypher-like layer: `MATCH`, property projection, `WHERE time_window(...)`, `WHERE spatial_sphere(...)`, `CALL db.*` |
| `demo_4d_cypher_match_filters` | Focused `MATCH` with temporal and spatial filters |
| `demo_4d_cypher_temporal_route` | `CALL db.route.temporal(...)` for time-respecting routing |
| `demo_4d_cypher_impact_radius` | `CALL db.impact.radius(...)` for constrained reachability |
| `demo_4d_cypher_bottlenecks` | `CALL db.resilience.bottlenecks(...)` for articulation points and bridges |
| `demo_4d_cypher_signal_propagation` | `CALL db.signal.propagate(...)` for time-dependent Dijkstra |
| `demo_4d_cypher_disaster_response` | End-to-end story: signal propagation → temporal routing → bottleneck analysis on a shared graph |
| `demo_4d_dependency_timeline` | Reachability, path search, and SCCs before/after a dependency graph changes |
| `demo_4d_impact_radius` | Topology-only vs spatial+temporal constrained impact analysis |
| `demo_4d_route_planning` | A* selecting a different route when the direct corridor expires |
| `demo_4d_signal_propagation` | Time-dependent Dijkstra arrival wave across scheduled links |
| `demo_4d_temporal_bottlenecks` | Critical relays disappearing after a redundancy edge appears |
| `demo_4d_temporal_delivery` | Causal temporal routing where edge schedules determine hop feasibility |
| `demo_4d_orbit_constellation` | Satellite mesh routing in a simplified Walker constellation |
| `demo_4d_metamaterial_design` | Design-space graph: earliest feasible / best-quality / bottleneck / local-candidate lattice exploration |
| `demo_4d_protein_conformation` | Coarse-grained state-space graph: folding-path / bottleneck / neighbourhood / trap-rejection exploration |

Run any demo:

```bash
cargo run --example demo_4d_temporal_delivery
cargo run --quiet --example demo_4d_orbit_constellation -- --json
```

JSON outputs are stored in `examples/results/` for repeatable checks.

## Debug Scripts (`scripts/`)

The `scripts/` directory contains internal diagnostic and development scripts.
They are **not part of the public API** and are excluded from the crates.io
package.  They are useful for contributors working on the storage layer,
CFG indexing, or Magellan integration.

```bash
# Not installed by cargo install
cargo run --manifest-path scripts/debug_file_size.rs
```
