SCF is an experimental image encoding format that represents visual data as references to real stars.
Instead of storing pixels, it stores a list of star IDs from the HYG astronomical catalog — a free, public database of ~120,000 real stars with permanently fixed coordinates anchored to the J2000.0 epoch (January 1, 2000). Each star's position in the sky maps to a position in your image. Each star's natural colour index (B-V) encodes colour data. The result is a tiny file — often just kilobytes — that contains enough information to reconstruct the original image.
The format is permanently stable. Because star positions are fixed at J2000.0, the same SCF file decoded in 50 years produces the same result. There is no proprietary coordinate system. The address space is the observable universe.
Encoding:
- An image is sampled into a grid of points
- Each point is mapped to its nearest star in the HYG catalog using angular distance on the celestial sphere
- The star's ID, position (RA/Dec), and B-V colour index are stored
- Adjacent stars store relative offsets from their neighbours rather than absolute coordinates, reducing file size by ~60%
Decoding:
- Load the HYG catalog
- Look up each star ID → retrieve fixed J2000.0 coordinates
- Project coordinates back to 2D image space
- Fill using Delaunay triangulation with averaged vertex colours
- Output a reconstructed image
3D: The same data can be encoded across three axis planes (XY, XZ, YZ), giving each encoded image a real three-dimensional address in space.
- Permanent — J2000.0 epoch means coordinates never drift
- Tiny — a detailed image encodes to ~10–200KB
- Open — uses the public HYG catalog; no proprietary dependencies
- AI-friendly — the coordinate data is plain text; any language model can read, edit, and generate manipulation instructions without ever seeing the image
- Moderation-transparent — no image is transmitted during AI manipulation, only coordinate text
- Renameable — .scf files are plain JSON; rename to whatever extension makes sense for your use case
- Reconstruction is lossy — output is a triangulated approximation, not a pixel-perfect copy
- The demo uses a seeded pseudo-random catalog approximation rather than the full HYG dataset (contribution welcome)
- AI manipulation currently handles geometric transforms only; semantic edits (e.g. "change background") require further development
- No video or audio support yet (both are architecturally straightforward extensions)
The most impactful contribution would be replacing the seeded pseudo-random catalog with real HYG data. The HYG dataset is public domain and available at github.com/astronexus/HYG-Database. A Python script to filter and format it would complete the core concept.
- Video — delta frames storing only changed star IDs between frames; a 10-second clip could be smaller than a single JPEG
- Audio — waveform mapped as star trajectories (X=time, Y=amplitude, Z=frequency)
- IPFS distribution — files are small enough to make decentralised sharing trivial
- Blockchain timestamping — SHA-256 of any SCF file can be committed to a public chain for immutable provenance
- glTF export — triangulated output converts directly to standard 3D formats for game engines
- Real Gaia catalog — 1.8 billion stars would dramatically increase encoding resolution
index.html— fully self-contained demo; open in any browser, no install neededREADME.md— this file
Released to the public domain under CC0. Do whatever you want with it. No attribution required.
This format was conceived in a conversation as a thought experiment: what if you used real star coordinates as vector anchor points for images? The J2000.0 epoch locking, B-V colour mapping, 3D axis duplication, and delta compression for animation all followed from that single question. The implementation was built with AI assistance. The ideas came first.
If you build something with this, that's enough.