Project plan · Draft 1 · 13 September 2026

Seked

A survey-accurate 3D model of the Giza necropolis in which every "encoded mathematics" claim is a live overlay, computed from the same measurements that build the geometry.

Working name
Seked: the Egyptian unit of slope, palms of run per cubit of rise. A seked of 5½ is the whole π-and-φ story. Rename freely.
Primary output
Interactive web app (Three.js), plus a Blender scene for cinematic renders and animation.
Home
A new repository. Not part of Agent-X; nothing here touches that codebase.
Status
Plan for discussion. Open decisions are listed at the end.

Thesis

Numbers first, then the model

There are two ways to build this. The first is to model the pyramids beautifully and paint the claims on afterwards as annotations. The second is to put the numbers first: every dimension lives in a database with its source and its uncertainty, the geometry is generated from those numbers, and each claim is a formula over the same numbers. The second way is what makes the model high fidelity rather than a poster. It is also far more interesting to use. Switch the survey from Petrie 1883 to Dash 2015, nudge the cubit by a millimetre, drag the sky back to 10,500 BCE, and watch each claim's residual move in real time.

Five rules follow from that, and every later section is an application of them.

  1. I

    One source of truth. Every number has provenance: who measured it, when, how, and with what error. Nothing is typed twice.

  2. II

    Claims are data. A claim is a file: inputs, formula, target, tolerance, sources, and an overlay spec. Adding a claim never touches app code.

  3. III

    Two monuments. "As built" (reconstructed, with casing and pyramidion, carrying error bars) and "as today" (stripped, 8 m shorter). Claims are about the first; the evidence comes from the second.

  4. IV

    Show the fit. Each overlay displays measured versus claimed, the residual, and a count of the free choices the claim needed: which base line, which unit, which epoch. The app never says true or false. It shows the number.

  5. V

    One frame. Origin at the Great Pyramid's base centre, axes east-north-up, georeferenced to WGS84. The Heliopolis line, the shaft alignments and the equinox sun all live in the same coordinates.

Deliverables

Six things that exist at the end

  • D1

    Measurement database

    Versioned JSON with a schema, one record per dimension, provenance on every value, and named survey presets.

  • D2

    Claims registry and dossier

    One YAML file per claim; a generated document (Markdown and PDF) with the maths, the fit and the sources for each.

  • D3

    Parametric geometry library

    TypeScript that turns D1 into meshes, plus a landmarks file naming every point and axis a claim can reference.

  • D4

    Blender scene

    Plateau terrain, all structures, materials, LODs, exported glTF, and the hero renders and animations.

  • D5

    Web app

    Viewer with layer toggles, section cuts, a walk-in interior, a real sky with a time scrubber, and one overlay per claim.

  • D6

    Deployment

    Static build on Cloudflare Pages, with a README and the dossier alongside.

Scope

The site, in four tiers

The necropolis is enormous. Tiers keep the mastaba fields from eating the schedule while still giving the plateau its real shape.

TierStructuresTreatment
1Great Pyramid (G1, Khufu)Fully parametric exterior with concavity, casing shell, corner sockets and pyramidion. Full interior: descending passage, subterranean chamber, ascending passage, Grand Gallery, Queen's Chamber and shafts, King's Chamber with relieving chambers and shafts, well shaft and grotto, al-Ma'mun's tunnel, the ScanPyramids Big Void and north-face corridor.
2Khafre (G2), Menkaure (G3)Parametric exterior from survey values (G2 keeps its casing cap; G3 its granite lower courses). Interiors as passages and chambers only, from published plans.
3Queens' pyramids (G1-a, b, c; G3-a, b, c), satellite pyramids, mortuary and valley temples, causeways, Sphinx Temple, boat pits, Wall of the Crow, Khentkawes, the Eastern and Western mastaba fieldsMassed from footprints (Giza Plateau Mapping Project plans, OpenStreetMap) with correct heights. No interiors.
4The SphinxSculptural. A Blender sculpt over Lehner's ARCE Sphinx Project plans, with the CC-BY hobbyist scans as reference only; no survey-grade mesh is public.
TTerrainCopernicus GLO-30 DEM as the base, refined with the GPMP contours around the monuments; low-resolution Nile valley and Cairo for context and for the Heliopolis and Delta overlays.

Plate I

The Great Pyramid in section

Drawn to scale from the survey values below, north on the left. Solid lines are the monument as built. Dashed lines mark today's truncated top and the two ScanPyramids discoveries. Blue lines are the four shafts, the subject of claim C2. This is the thing Tier 1 produces, in outline.

North to south section of the Great Pyramid, to scale N S 138.75 m today 1 2 3 4 5 6 7 8 9 9 10 10 11 12 230.33 m · 440 royal cubits 146.59 m · 280 rc 51°50′40″ · seked 5½
Schematic north–south section through the axis; horizontal and vertical at the same scale.
  • 1 Entrance, north face, 17 m up
  • 2 Descending passage, 26°31′
  • 3 Subterranean chamber, 30 m below base
  • 4 Ascending passage, 26°02′
  • 5 Queen's Chamber, on the axis
  • 6 Grand Gallery, 46.7 m, seven corbels
  • 7 King's Chamber, 20 × 10 × 11.18 rc
  • 8 Five relieving chambers
  • 9 King's Chamber shafts, 45° S and 32°28′ N
  • 10 Queen's Chamber shafts, 39°36′ S and 39°07′ N, blocked
  • 11 ScanPyramids Big Void (2017), position approximate
  • 12 North-face corridor (2023), 9 m

D1

Measurement database

The most valuable and most tedious deliverable. A few hundred records, each hand-entered from a primary source with its uncertainty. The sources rank as follows, and a record always names which one it came from.

  1. Petrie 1883, The Pyramids and Temples of Gizeh. The base survey for the interior and the casing angle; public domain; measured in British inches.
  2. Cole 1925, Survey of Egypt Paper 39. The classic base-and-orientation survey of G1, per side.
  3. Glen Dash Foundation with AERA, 2012–2018. Modern total-station survey of the G1 base, corners and orientation.
  4. Lehner & Hawass 2017, Giza and the Pyramids. The canonical rounded values for everything on the plateau; the default preset.
  5. Maragioglio & Rinaldi 1965, vol. IV. Measured drawings of every interior element.
  6. Gantenbrink 1993, the Upuaut robot survey. The only precise geometry of the four shafts, including the bends.
  7. ScanPyramids: Morishima et al. 2017 (Big Void), Procureur et al. 2023 (north-face corridor).
  8. Legon 1979 and Dorner's survey for the relative positions of the three pyramids; Nell & Ruggles 2014 for orientations across the site.

Starting sheet

These are the values I would seed the database with. Every one gets re-verified against its primary source in Phase 0; this table is a starting sheet, not the database.

QuantityValueRoyal cubitsSourceNote
G1 base, mean side230.33 m440Lehner & Hawass; Cole 1925 gives 230.36; Dash 2015 gives 230.363 (sides 230.33–230.41)Sides differ by up to ~20 cm. Store all four, and store casing edge and socket corner separately.
G1 height, original146.59 m280Petrie, projected from the casing angleThe apex is a projection with error bars. Today's top is 138.75 m.
G1 face slope51°50′40″seked 5½Petrie, ±2′Seked 5½ is 51°50′34″. See claim A3.
G1 orientation≈ 3–4′ W of N-Cole; Dash; Nell & RugglesPer side. The arc-minutes are the point of claim C1.
G1 concavity≈ 0.9 m-Petrie; aerial photographsIndent at the centre of each base side, measured on the core. Whether the casing followed it is disputed.
G1 arris (corner edge) angle41°59′-DerivedSome claims quote the edge rather than the face. Store both.
Royal cubit0.5236 m (20.62 in)1Petrie, from the King's ChamberEgypt-wide range 0.523–0.529 m. The single most sensitive parameter in the registry.
King's Chamber10.47 × 5.24 × 5.84 m20 × 10 × 11.18PetrieFloor 42.9 m above base, slightly south of the axis. Granite.
Queen's Chamber5.75 × 5.23 m, gable 6.23 m11 × 10PetrieOn the central axis, 21 m up.
Grand Gallery46.7 m long, 8.6 m high, 2.06 m at floor-Petrie; Maragioglio & RinaldiSeven corbels; slope 26°02′.
Descending passage26°31′23″, 1.05 × 1.20 m-Petrie105 m to the subterranean chamber.
ShaftsKC-S 45°, KC-N 32°28′, QC-S 39°36′, QC-N 39°07′-Gantenbrink 1993, Upuaut report (mirror at isida-project.org)The Queen's north shaft bends around the gallery. Model from his polylines, re-drawn from the published figures, not from one angle.
G2 Khafre215.25 m base, 143.5 m high, 53°10′411 × 274Lehner & HawassSeked 5¼, the 3-4-5 triangle. Sits about 10 m higher on the plateau.
G3 Menkaure102.2 × 104.6 m base, 65 m high, 51°20′≈ 200 × 125Lehner & HawassGranite casing on the lower sixteen courses.
Sphinx73 m long, 20 m high, 19 m wide-Lehner, ARCE Sphinx ProjectCarved in place; faces due east.
G1 position29°58′45″ N, 31°08′03″ E, base ≈ 60 m ASL-Dash; DEMThe datum matters at the 10 m level. See claim B3.

Record shape

One record per measured quantity. Derived quantities (perimeter, apothem, volume) are never stored; the geometry library computes them so they cannot drift from their inputs.

{
  "id":        "g1.base.side.north",
  "structure": "g1",
  "quantity":  "length",
  "value":     230.253,
  "unit":      "m",
  "sigma":     0.02,
  "source":    "cole-1925",
  "method":    "casing-edge",
  "note":      "north side, casing baseline"
}

Presets bundle a coherent set of records: petrie-1883, cole-1925, dash-2015, and canonical (Lehner & Hawass rounded values, the default). Switching preset regenerates the geometry and re-evaluates every claim. Units are metres internally, with royal cubits, British inches and Smyth's pyramid inch (1.001 in) as display units, because several claims only work in one of them.

D2

Claims registry

Each claim is a card with the same six parts: what it claims, what it compares, the fit against the current preset, how many free choices it needed, its sources for and against, and the overlay it draws. Fits below are computed from the starting sheet with a 0.5236 m cubit. The n column counts free choices: a decision the proponent made that changes the answer, such as picking the socket base over the casing base, an invented unit, or an epoch. Zero means the number falls out of the monument with no help.

A · Proportion and geometry of the Great Pyramid

IDClaimComparesFitnOverlay
A1π in the profilePerimeter ÷ height against 2π6.2850 vs 6.2832 · +0.03 %0Ghost "π pyramid" over the model; maths panel
A2φ in the faceApothem ÷ half-base against φ (the Kepler triangle); Herodotus' "face area = height²"1.6187 vs 1.6180 · +0.04 %0Ghost "φ pyramid"; the face-area square laid flat
A3Seked 5½ explains bothMeasured 51°50′40″ against seked 5½ (51°50′34″), the π pyramid (51°51′14″) and the φ pyramid (51°49′38″)spread 1′36″, under Petrie's ±2′0Three ghost profiles inside the survey error band; the pyramid cannot tell them apart
A4King's Chamber 3-4-520 × 10 × 11.18 rc: wall diagonal 15, floor diagonal √500, space diagonal 25height −0.2 % (Petrie)1Wireframe diagonals inside the chamber, walk-in view
A5The cubit itself0.5236 m against π/6 (0.52360) and φ²/5 (0.52361)−0.03 %1Panel. Note that π/6 and φ²/5 agree to 0.002 % with no help from Egypt.
A6Eight sidesConcavity of ~0.9 m per face, visible at equinox grazing lightmeasured on the core0Concavity shape key plus the equinox sun
A7Khafre's 3-4-553°10′ against seked 5¼, which is arctan(4/3) = 53°07′48″+2′0Ghost profile on G2

B · Earth and cosmos scale

IDClaimComparesFitnOverlay
B11 : 43,200Height × 43,200 against the polar radius; perimeter × 43,200 against the equatorial circumference6,333 vs 6,357 km · −0.38 %
39,801 vs 40,075 km · −0.68 %
2A ghost Earth scaled into the scene; the 72 × 600 precession link as a panel
B2Height × 10⁹ = Earth–Sun distance146.6 Gm against 1 AU (149.6) and against perihelion (147.1)−2.0 % · −0.35 %2Panel
B3Latitude equals the speed of light29.9792458° N against the base centre at 29°58′45″ N≈ 9 m apart, inside the footprint3Map inset with a datum toggle (WGS84, Old Egyptian 1907). The datum shift alone moves the centre further than the residual.
B4Pyramid inch and the yearSide = 9,131 P″ = 365.24 × 25, against the casing base (9,069 in) and the socket base (≈ 9,126 in)−0.8 % · −0.2 %3Socket outline versus casing outline on the ground; unit selector
B5Half a minute of equatorial arcPerimeter against 927.7 m−0.68 %2Panel noting this is B1's second half restated: 43,200 = 2 × 21,600
B6Centre of the landG1's meridian and parallel cross more land than any other (Smyth)computed from Natural Earth polygons2Globe inset with the land-crossing curves for every meridian and parallel

C · Sky

IDClaimComparesFitnOverlay
C1True northG1's sides against the meridian, ≈ 3–4′ west; how it was done (Dash: equinox shadow; Spence: simultaneous transit of Mizar and Kochab, which dates it to 2467 BCE)measured0Compass rose at the base; animated star-pair and shadow methods
C2Shafts point at starsKC-S 45° at Alnitak, KC-N 32°28′ at Thuban, QC-S 39°36′ at Sirius, QC-N 39°07′ at Kochab, c. 2450 BCEapp solves the best-fit epoch per shaft2Shaft axes extended to the sky dome; chart of each star's transit altitude against epoch, with the shaft angle as a horizontal line
C3Descending passage and the pole star26°31′ against Thuban's lower culmination, c. 2170 BCEapp1Passage axis to the sky; Thuban's circumpolar circle
C4Orion CorrelationThree pyramids against Alnitak, Alnilam and Mintaka, including Menkaure's offset; belt on the meridian in 10,450 BCEapp: belt tilt and transit altitude against epoch3Sky projected onto the plateau with Krupp's inversion toggle; Nile against the Milky Way
C5Sphinx and LeoDue-east gaze against Leo rising before the vernal equinox sunrise in 10,500 BCEapp2Sunrise azimuth ribbon across epochs; Leo's figure on the horizon
C6Solstice akhetFrom the Sphinx, the summer solstice sun sets between G1 and G2, drawing the akhet glyph (Lehner)measured0Sun path from the Sphinx's viewpoint
C7Cygnus alternativeCollins' mapping, same engine, different constellationapp3Reuses C4's overlay with a constellation selector

D · Site plan and geodesy

IDClaimComparesFitnOverlay
D1Giza diagonal to HeliopolisLine through the pyramids' south-east corners against the bearing to the Senusret I obelisk (≈ 45°)app1Line across the terrain to the obelisk 17 km away
D2Legon's rectangleThe three pyramids fit 1000√2 × 1000√3 cubits (1,417.5 × 1,732 rc)app, from Dorner's positions1Rectangle on the ground with corner residuals
D3Prime meridian and the DeltaG1's meridian bisects the Nile Delta; G1 sits at the apex of the Delta quadrant (Stecchini)app, with Delta polygons2Meridian and quadrant arcs over the context terrain
D4Sphinx axis and the templesSphinx east–west axis, Sphinx Temple and Khafre's valley temple alignmentsmeasured0Axis lines on the plateau

E · Mass and construction, for context

Not claims, but numbers the overlays lean on: volume 2.59 million m³ from b²h/3; about 2.3 million blocks and 6 million tonnes; a 20-year build implies one block placed every three to four minutes of daylight; 203 courses survive, and Petrie measured every one of them, which is what drives the stepped profile in the "today" model.

Claim file

id: A1
title: π in the profile
group: proportion
inputs: [g1.base.perimeter, g1.height.original]
formula: perimeter / height
target: 2π
tolerance: 0.5%
free_choices: []
overlay:
  type: ghost-profile
  slope: atan(4/π)
sources:
  for: [smyth-1864, tompkins-1971, hancock-1995]
  context: [petrie-1883, rossi-2004]

Optional module, cheap once the registry exists: a coincidence explorer that takes any two quantities from the database and searches for ratios and products near famous constants. It shows how many "hits" a monument with this many measurable numbers produces by chance, which is the honest baseline for judging any single claim.

packages/sky

Sky engine

Half the claims are about the sky, and the interesting epochs are 4,500 and 12,500 years ago. Standard astronomy code is not built for that, so this package needs care.

  • Catalogue. HYG 4.2, which merges Hipparcos, the Yale Bright Star Catalogue and Gliese with proper motions and parallax in one CSV (CC BY-SA 4.0). Named subsets for Orion's belt, Sirius, Thuban, Kochab, Mizar and Regulus.
  • Precession. The Vondrák, Capitaine and Wallace 2011 long-term model, valid for ±200,000 years. The IAU 2006 polynomials most libraries ship are wrong by degrees at 10,500 BCE, which is exactly where the Orion and Leo claims live. The model is a few coefficient tables; implement it in-house if no package does.
  • Proper motion. Rigorous space motion. Sirius moves about 4.5° in 12,500 years; the belt stars barely move, which is why the belt's shape survives and Sirius' shaft alignment is epoch-sensitive.
  • Frames. ICRS to mean equator of date (Vondrák), to horizontal altitude and azimuth at 29.9792° N, 31.1342° E through local sidereal time, to scene east-north-up. Refraction of about 34′ at the horizon and a local horizon profile for rising and setting claims.
  • Sun. VSOP87-based positions from astronomy-engine; equinox and solstice events; ΔT matters for clock times of sunrise, not for its direction.
  • Calendar. Julian Day numbers throughout, proleptic Julian calendar for BCE dates, astronomical year numbering (10,500 BCE is year −10499).
  • Validation. Match Stellarium, which also uses Vondrák, for Alnitak's meridian-transit altitude at −2500 and −10500 before any sky overlay ships.

Architecture

One monorepo, one data flow

Everything downstream is generated from the measurement database. Blender and the web app consume the same glTF and the same landmark names, so a chamber centroid means the same point in a cinematic render and in a claim overlay.

Data flow from the measurement database to Blender and the web app data/ measurements · presets · star catalogue packages/geometry parametric builders → meshes glTF + landmarks.json one origin, one unit, named points packages/claims registry · evaluators · overlay specs packages/sky Vondrák precession · sun · ENU frame blender/ terrain · Sphinx · materials · renders apps/web React Three Fiber viewer · layer toggles · section cuts · sky and time scrubber · one overlay per claim · tour mode · dossier import star positions, baked assets load
Solid boxes are packages; the wide bar is the application. Blender is a consumer of the generated geometry, not its author, except for the sculptural and terrain assets it produces itself.
seked/
  data/
    measurements/      one JSON file per structure
    presets/           petrie-1883 · cole-1925 · dash-2015 · canonical
    stars/             BSC5 + Hipparcos subset, as JSON
    terrain/           DEM references and the local-frame transform
  packages/
    units/             cubit · pyramid inch · seked ↔ degrees
    geometry/          pyramid() · passage() · chamber() · shaft() → buffers + landmarks
    sky/               vondrak.ts · frames.ts · sun.ts · catalogue.ts
    claims/            loader · evaluators · overlay descriptors
  blender/
    generate.py        bpy: build meshes from data/
    terrain.py         BlenderGIS import and re-origin
    export.py          glTF per structure
    scenes/            .blend files: plateau, sphinx, materials, cinematic
  apps/web/            Vite + React + R3F
  docs/
    dossier/           generated from the registry
    sources.md · decisions.md

Stack

  • Language. TypeScript everywhere; Python only inside Blender. The geometry library is pure TypeScript so Blender, the web app and the tests all get identical vertices.
  • Tooling. pnpm workspaces, Vite, Vitest, zod schemas on every data file.
  • 3D. three, @react-three/fiber, @react-three/drei, @react-three/postprocessing. Optional "today" layer via NASA-AMMOS 3d-tiles-renderer streaming Google Photorealistic 3D Tiles.
  • State. zustand for the layer, preset, time and claim state; URL-encoded so a view is shareable.
  • Astronomy. astronomy-engine for the Sun and coordinate utilities; in-house Vondrák 2011 precession written from the paper, since no maintained npm package implements it.
  • Geo. proj4 for WGS84 to local east-north-up; QGIS to prepare the DEM and orthophoto in a projected CRS before Blender sees them.
  • Assets. Blender 4.2 LTS with BlenderGIS; gltf-transform for Draco and KTX2 after export.
  • Frame conventions. Origin at the G1 base centre; +X east, +Y north, +Z up in data and Blender; the glTF exporter converts to Y-up for the web. Metres everywhere.
  • Deploy. Static build to Cloudflare Pages.

D4

Blender pipeline

For when you are home. The rule is that Blender models what only Blender can, and generates the rest.

  • Generate, don't model. A bpy script reads the measurement files and builds exact-vertex meshes for G1, G2 and G3. Concavity is a shape key from 0 (flat) to 1 (0.9 m). The casing is a separate shell, so "today" is hide the casing and cap the core at 138.75 m.
  • Real courses. Geometry Nodes instance the 203 surviving courses with Petrie's measured course heights, so the stripped profile shows the actual thick courses at 35, 44 and 67 rather than a uniform staircase. This is the single cheapest fidelity win in the project.
  • Interior as separate solids. Chambers, passages, gallery and shafts are their own objects. Section views in the viewer come from clipping planes; a boolean-cut master exists for renders only.
  • Terrain. BlenderGIS imports the DEM and orthophoto in a projected CRS; re-origin to the G1 base centre; check the base elevations against the survey before anything sits on it.
  • Sphinx. A sculpt over Lehner's 1:50 plans, with the CC-BY scans open in a reference window. Temples and mastabas are extruded footprints with real heights.
  • Materials. Tura casing (smooth, near white), nummulitic core (tan, course lines), Aswan granite (King's Chamber, G3's lower courses, G2's bottom course), basalt paving on the temple floors. Keep PBR to base colour, roughness and normal, and bake.
  • Export. One uncompressed GLB per structure from Blender, then gltf-transform for compression, KTX2 textures and deduplication, since Blender's exporter does not write KTX2. The Z-up to Y-up conversion is the exporter's job; the origin convention is preserved.
  • Renders. Equinox dawn from the east to show eight faces; the cutaway; and a sky-rollback animation whose star positions are baked from the sky package to CSV, so Blender and the web never disagree about where Alnitak was.

Schedule

Six phases

Durations assume evenings and weekends and are estimates. Each phase ends with a "done when" that can be checked, not felt.

  1. 0Weekend 1

    Foundation

    Repo scaffold, the record schema, G1 exterior and interior values from Petrie, claims A1, A2 and B1 in the registry, and unit tests that recompute the perimeter-to-height ratio.

    Done when pnpm test is green and the dossier renders three claim cards from data alone.

  2. 1Weeks 1–2

    Geometry

    G1 exterior with seked, concavity, casing and core, and truncation. Interior solids. The landmarks file. glTF export and a Blender import that proves the round trip.

    Done when Petrie's derived numbers (apothem, volume, the 41°59′ arris angle) come out of the model, not the database.

  3. 2Weeks 2–4

    Blender

    Terrain, G2 and G3, Tier 3 masses, the Sphinx, materials, LODs, exports, and the first hero render.

    Done when the whole plateau loads in the viewer under a triangle budget of about 1.5 million at the closest LOD.

  4. 3Weeks 3–5

    Viewer

    Scene loading, camera modes (orbit, fly, walk the passages), section plane, layer panel, sky dome with sun and a time scrubber from 12,000 BCE to today.

    Done when Alnitak's transit altitude matches Stellarium at −2500 and −10500 to within an arc-minute.

  5. 4Weeks 5–8

    Overlays

    Group A, then B, then C, then D. Each claim gets its overlay, its maths panel, a sensitivity control and its sources. The preset switch and the cubit slider live here.

    Done when every card in the registry renders in 3D and the dossier regenerates from the same files.

  6. 5Weeks 8–10

    Polish and ship

    Tour mode as a narrated sequence of views, dossier export, the Blender cinematic, deployment, README.

    Done when a stranger can open the URL, click one claim, and understand what it says and how well it fits.

Risks

The hard parts, named

  • Surveys disagree. The base differs by up to about 10 cm across Petrie, Cole and Dash, and the original height is projected from a surviving casing angle. Values are ranges, not points, and the overlays show the band.
  • Which base? Casing edge versus socket corners changes the perimeter by roughly 1.4 m. Several classic claims silently pick whichever fits. Both are first-class in the database.
  • Precession validity. IAU 2006 is wrong by degrees at 10,500 BCE. Use Vondrák or the Orion overlay is fiction in both directions.
  • Interior geometry. The shafts are only known from Gantenbrink, and the Queen's north shaft bends. Model from polylines. Treat the ScanPyramids void as a position with error bars.
  • Concavity. Measured on the core; whether the casing followed it is disputed. Ship both as a toggle and say so.
  • Licensing. Google 3D Tiles require attribution and forbid extraction; Sketchfab scans are CC-BY but hobbyist grade; Digital Giza offers viewers, not downloads; Gantenbrink's drawings survive only on a mirror with no stated terms. Numbers from papers are facts and free to use.
  • Scope. The tiers exist so Menkaure's interior and the mastaba fields cannot eat the schedule.
  • Performance. Forty structures, terrain, 9,000 stars and the shafts. Budget about 1.5 million triangles at the closest LOD, lazy-load per structure, and keep the stars on a single point cloud.

Sourcing

Sourcing check

What is actually downloadable, under what terms, checked today. Items marked unverified could not be confirmed from a primary source and need a look from home.

Assets and terrain

ItemWhereTermsUse in this project
Harvard Digital Giza / Giza 3Dgiza.fas.harvard.edu/giza3dIn-browser viewers only; no download link or reuse licence found (unverified whether any mesh is available on request)Reference. Email the project if a survey mesh would change the plan.
Sketchfab scans of the Sphinx and the Great PyramidSketchfabCC Attribution; hobbyist photogrammetry, not survey gradeReference for the Sphinx sculpt, not geometry for the model.
Copernicus GLO-30 DEMOpenTopography, AWS Open DataFree with attribution under the Copernicus DEM licenceBase terrain. No public LiDAR or photogrammetry DEM of the plateau was found, so the ground near the monuments is shaped from the GPMP contours and the surveyed base elevations.
Google Photorealistic 3D Tiles3d-tiles-renderer (Apache-2.0) with its Google auth plugin and attribution overlayPolicies: attribution required; no caching beyond HTTP headers; no extracting, tracing or deriving 3D objects. API key and billing.Live "today" layer only, never a Blender source. Optional, Phase 5.

Survey data

ItemWhereTermsNotes
Dash 2015, "The Great Pyramid's Footprint", AERAgram 16(2)dashfoundation.com (reachable 13 September 2026), also on Academia; publication indexPublished paper; numbers are free to useThe paper states a mean side of 230.363 m from 84 casing-baseline points (p. 10), per-side lengths of 230.329 (N), 230.334 (E), 230.384 (S) and 230.407 (W) m with 95 % bounds (Table 1, p. 11), and a mean casing azimuth of −3′54″ ± 44″ (Table 3). The 230.234–230.483 m bounds quoted by secondary sources do not appear in it. Entered and verified in data/measurements/g1.json. Dash 2012 "New Angles on the Great Pyramid" is at aeraweb.org.
Petrie 1883Birdsall transcription with tables and plates; archive.org scanPublic domainChapter 5 for coordinates, 6 for the outside, 13 for orientation. The course table is in the plates.
Cole 1925, Survey of Egypt Paper 39PDF, also on ScribdEgyptian government publication; copyright status unclear; the numbers are free to usePer-side base lengths and orientation.
Gantenbrink, Upuaut shaft surveycheops.org is gone (the domain is now unrelated). Mirror with the report, CAD drawings and photographs at isida-project.org; try the Wayback Machine for the originalNo terms stated; treat as copyrighted and citeWhether the DXF the original site offered is still served is unverified. Plan on re-drawing the shaft polylines from the published figures.
Nell & Ruggles 2014, JHA 45(3)arXiv preprint, freePaperPer-structure azimuths for the whole site are in the paper; not yet extracted.

ScanPyramids

  • Big Void. Morishima et al., Nature 552, 386–390 (2017), open access; arXiv PDF. Cross-section similar to the Grand Gallery, at least 30 m long, above the gallery. The paper leaves the inclination open, so the model carries it as a position with error bars and an inclination toggle.
  • North-face corridor. Procureur et al., Nature Communications 14, 1144 (2023), open access, CC BY. About 9 m long, about 2 × 2 m in section, directly behind the chevrons above the original entrance. A 2025 resistivity follow-up in Scientific Reports confirms it.

Astronomy in JavaScript

  • astronomy-engine (MIT) is right for the Sun, Moon and coordinate utilities. Its precession is the IAU 2006 polynomial, so it is not used for star positions at −10500.
  • Vondrák 2011 has no maintained npm package. Implement it from the paper, which is two coefficient tables; a reference JavaScript snippet exists at astrogreg.com, and a package named falcon-ephemeris claims it (unverified). Stellarium's precession.c is GPL-2, so port it only if the whole package can be GPL.
  • Stellarium is confirmed to use Vondrák 2011 in its source, so it stands as the validation reference.
  • Star data. HYG 4.2 (CC BY-SA 4.0) merges Hipparcos, the Yale catalogue and Gliese with proper motions in one CSV, and is the easiest single file. BSC5 JSON mirrors exist on GitHub; the catalogue itself is public domain, the repositories carry their own licences.

Blender tooling

  • BlenderGIS (GPL-3) is the standard for GeoTIFF and HGT import with a CRS. A third-party site claims Blender 4.x support from v2.2.15; check the official releases before installing.
  • glTF. Blender's exporter does Draco but not KTX2. Export an uncompressed GLB, then run gltf-transform for compression and KTX2 textures; three.js loads the result with GLTFLoader plus the Draco and KTX2 loaders. Draco is pointless for the pyramid solids, which are a few hundred polygons; KTX2 matters for the terrain textures.

What this changes in the plan

  • The shafts are re-drawn from Gantenbrink's published figures on the mirror, not imported from a DXF, unless the DXF turns up.
  • The Sphinx is a sculpt over Lehner's plans with the CC-BY scan as reference. No survey-grade mesh is available.
  • Vondrák precession is written in-house from the paper. astronomy-engine is used for the Sun only.
  • HYG 4.2 replaces the planned join of the Yale catalogue and Hipparcos.
  • The Google 3D Tiles layer stays optional and live-only, which the terms require anyway.

Discussion

Decisions to talk through

  1. 1

    Product shape. Web app plus Blender assets, a Blender-only film, or a game engine build.

    Recommendation: web app plus Blender. It is the only shape where the claims are interactive, and it is shareable by URL.

  2. 2

    First claim set. Which claims are in version one.

    Recommendation: A1–A4, B1–B3 and C1–C4, twelve claims that exercise every overlay type (ghost profile, chamber wireframe, scaled Earth, map inset, sky projection).

  3. 3

    The "today" layer. Google Photorealistic 3D Tiles (needs an API key and attribution), CC scans, or none.

    Recommendation: start with none; the "today" model comes from the truncated core and Petrie's courses. Add 3D Tiles in Phase 5 if the terms fit.

  4. 4

    The Sphinx. Scan, sculpt, or stylised massing.

    Recommendation: scan if a CC-BY one checks out, otherwise a sculpt. Massing would undercut the word "high fidelity".

  5. 5

    Tone of the copy. Test bench, advocacy, or debunk. The model is identical in all three; only the words change.

    Recommendation: test bench. Show measured, claimed, residual and free choices, and let the reader decide. It is the most defensible and the most interesting.

  6. 6

    Interiors for Khafre and Menkaure. Full or passages only.

    Recommendation: passages and chambers only, from published plans. No claim depends on their interiors.

  7. 7

    Repository. New repo, public or private, monorepo as above.

    Recommendation: new private monorepo named after the working name, made public when the first overlays work.

  8. 8

    Name. "Seked" is a placeholder that happens to be on-topic.

    Recommendation: keep it until something better appears; it costs nothing to rename before Phase 1.

Setup

First evening at home

  • Install Blender 4.2 LTS and BlenderGIS from its official releases page, checking the 4.x compatibility note.
  • Install QGIS.
  • Install Node 22 and pnpm; scaffold the monorepo from the tree above.
  • Download Petrie 1883 (Birdsall's transcription and the archive.org scan) and the Cole 1925 PDF.
  • Download HYG 4.2 and cut it to stars brighter than magnitude 6.5.
  • Download the Copernicus GLO-30 DEM tile N29 E031, which covers the plateau.
  • Install Stellarium, set the location to Giza, and screenshot Alnitak's transit at −2500 for the validation test.
  • Enter the starting sheet into the database, one record at a time, with the page number of its source.

Sources

Reading list

  1. Petrie, W. M. F. (1883). The Pyramids and Temples of Gizeh. The base survey; public domain.
  2. Cole, J. H. (1925). Determination of the Exact Size and Orientation of the Great Pyramid of Giza. Survey of Egypt Paper 39.
  3. Dash, G. (2015–2018). AERAgram and Journal of Ancient Egyptian Architecture papers on the G1 base and orientation.
  4. Lehner, M. and Hawass, Z. (2017). Giza and the Pyramids. The modern reference.
  5. Lehner, M. (1997). The Complete Pyramids.
  6. Maragioglio, V. and Rinaldi, C. (1965). L'Architettura delle Piramidi Menfite, vol. IV. Interior drawings.
  7. Gantenbrink, R. (1993 onward). The Upuaut shaft survey; cheops.org is offline, mirrored at isida-project.org.
  8. Morishima, K. et al. (2017). Nature 552, 386–390. The Big Void.
  9. Procureur, S. et al. (2023). Nature Communications 14. The north-face corridor.
  10. Legon, J. A. R. (1979). "The Plan of the Giza Pyramids." Archaeological Reports of the Archaeology Society of Staten Island.
  11. Nell, E. and Ruggles, C. (2014). "The orientations of the Giza pyramids and associated structures." Journal for the History of Astronomy 45.
  12. Spence, K. (2000). "Ancient Egyptian chronology and the astronomical orientation of pyramids." Nature 408.
  13. Rossi, C. (2004). Architecture and Mathematics in Ancient Egypt. The seked explanation.
  14. Vondrák, J., Capitaine, N. and Wallace, P. (2011). "New precession expressions, valid for long time intervals." Astronomy & Astrophysics 534, A22.
  15. Smyth, C. P. (1864). Our Inheritance in the Great Pyramid. Origin of the pyramid inch and the land-centre claim.
  16. Tompkins, P. (1971). Secrets of the Great Pyramid, with Stecchini's appendix on geodesy.
  17. Bauval, R. and Gilbert, A. (1994). The Orion Mystery.
  18. Hancock, G. (1995). Fingerprints of the Gods; Hancock, G. and Bauval, R. (1996). The Message of the Sphinx; Hancock, G. (2015). Magicians of the Gods.
  19. Krupp, E. C. (1997). "Pyramid Marketing Schemes." Sky & Telescope, February. The inversion objection to C4.
  20. Collins, A. (2006). The Cygnus Mystery. The alternative in C7.
  21. Schoch, R. (1992). "Redating the Great Sphinx of Giza." KMT 3(2). The water-erosion argument behind C5.