Omnigraph
Graph engine for context assembly. Object-storage native. Agents work with graph data the way engineers work with code: branched, typed, reviewed, merged, audited, and governed.
Lines of control in the Iran–Iraq War, operation by operation, against today's border.
Translation pending
DataTypeScript · CSSGitHub @mhb8898OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Interactive map of the Iran–Iraq War (1980–1988): front lines, operations, units and strategic sites on a timeline
Loading the full README.
Read the full README ↗An interactive, hand-styled SVG map of the Iran–Iraq War (1980–1988), from the 1937 frontier treaty to the 1990 return to the Algiers line. Pick any operation on the timeline and the map flies to it, draws the axes of attack, and redraws the lines of control as they stood afterwards.
Open the map → · If you find it useful, please ⭐ star the repo and share it. Spotted a mistake? Open an issue — or fix it yourself with a pull request (how to contribute).
Front lines are hand-drawn approximations (roughly ±5–10 km) from the cited histories; edges along the Karun and Karkheh trace the real rivers, and every edge on a border is clipped to the actual border. Areas in km² are measured from these drawings, not official figures.
npm install
npm run dev
npm run check # errors and warnings
npm run check -- --all # plus notes
scripts/check-events.ts tests every event against the map it is shown on and against its
Wikipedia summary: attack arrows start on their own side's ground and end on enemy or contested
ground; a won attack's target is held afterwards and a lost one's is not; wartime fighting never
falls back to a pre-war map; dates agree with the article; every zone survives clipping to the
real border; cameras frame their arrows. Front lines are approximate, so it probes within ~10 km.
Flags that have been reviewed and accepted are listed, with reasons, in ACCEPTED at the top.
All generated data is committed under public/; rebuild only when changing it.
| step | script | output |
|---|---|---|
| raw inputs | scripts/fetch-data.sh | scripts/.cache/ (Natural Earth + Overpass) |
| base geography | node scripts/build-geo.mjs | public/data/base.json — Natural Earth 10m countries, provinces, borders, places; OSM rivers & marshes |
| heightmap | node scripts/build-relief.mjs | scripts/.cache/{height,tint,relief-node}.png from AWS Terrain Tiles (z9) |
| 3D relief | Blender -b -P scripts/render-relief.py -- 5200 20 (tiled Cycles; bigger renders swap hard on 16 GB) | scripts/.cache/relief-blender.png |
| tiles | node scripts/slice-tiles.mjs scripts/.cache/relief-blender.png | public/relief/{z}/{x}/{y}.webp, public/data/relief.json |
| Wikipedia | node scripts/fetch-wiki.mjs | public/data/wiki.json (+ checks place coordinates) |
Run scripts/fetch-data.sh first: it downloads the Natural Earth GeoJSON and the two
OpenStreetMap Overpass extracts (osm_rivers.json, osm_extra.json) that build-geo.mjs reads.
The historical content lives in src/data/: events.ts (operations and arrows), zones.ts
(drawn areas of control), phases.ts (which zones are held/contested at each date),
places.ts, refs.ts.
Corrections with a source, new events and fixes are welcome — see CONTRIBUTING.md.