Omnigraph
그래프 엔진으로 컨텍스트를 조립하고, 객체 저장소 기반에서 에이전트가 코드처럼 그래프 데이터를 분기·타입·검토·병합·감사·거버넌스합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Interactive map of the Iran–Iraq War (1980–1988): front lines, operations, units and strategic sites on a timeline
README 전체를 불러오는 중입니다.
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.