{"adoption": {"forks": 228, "observed_at": "2026-08-28T04:06:37.175350+00:00", "stars": 2322}, "canonical_url": "https://ross.abutalabs.com/products/earth-reverse-engineering", "card": {"archived": true, "artifact_type": "library", "description": "Reversing Google's 3D satellite mode", "domain": ["reverse-engineering", "graphics"], "enriched": true, "function": ["reverse-engineering", "parser", "graphics", "web-scraping", "serialization"], "health_score": 10, "homepage": null, "language": "C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["retroplasma/earth-reverse-engineering"], "name": "retroplasma/earth-reverse-engineering", "platform": ["cpp", "wasm", "cross-platform"], "pushed_at": "2020-12-23T00:03:53+00:00", "repo": "retroplasma/earth-reverse-engineering", "stars": 2322, "tags": ["google-earth", "google-maps", "3d-tiles", "octree", "protobuf", "rocktree", "mesh-extraction", "photogrammetry", "gis", "maps", "geospatial", "3d-models", "javascript"], "topics": ["google-earth", "reverse-engineering", "google-maps", "extract", "gis", "3d-models", "client", "exporter"], "urls": [], "use_cases": ["extract 3D models of cities from Google Earth", "build a custom flycam viewer for Google's 3D satellite imagery", "decode Google Earth Rocktree protobuf meshes and textures", "convert geographic coordinates to octant paths in Google's octree", "export Google Maps 3D tiles for use in game engines", "research undocumented Google Earth API endpoints"], "what_it_is": "A reverse-engineering project documenting and implementing access to Google Earth's undocumented 3D satellite mode, including URL structures, octree geo-coordinate conversion, and Protobuf asset formats. It ships a C++/WebAssembly flycam client and a JavaScript model exporter for extracting 3D meshes and textures.", "when_to_avoid": ["you need a supported, officially documented Google Maps 3D API", "you require a maintained project with a license and active updates", "you need production-grade or legally cleared usage of Google's imagery data"], "when_to_choose": ["you need programmatic access to Google Earth's 3D satellite meshes and textures", "you want to study or extend reverse-engineering of Google's Rocktree format", "you need a lightweight client or exporter without photogrammetry tooling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/earth-reverse-engineering", "repo": "retroplasma/earth-reverse-engineering", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.175350+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:38.225437+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fe8ec432707b9a482ca9582a31e5f5a3169b6f50c81ffc6fa92b850988bb82c", "fetched_at": "2026-08-28T04:06:37.175350+00:00", "kind": "readme", "missing": false, "url": "https://github.com/retroplasma/earth-reverse-engineering"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2790, "days_push": 2080, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}