Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 4.82 KB

engine.md

File metadata and controls

58 lines (43 loc) · 4.82 KB

The engine: villa, and what kit/ adds

villa is the engine

ScrollPrize/villa is the Vesuvius Challenge monorepo (MIT). It is what the organizers use and what the Grand Prize requires integration with. Do not build a competing one here. Components as of commit e0bbb8b (2026-10-06):

Component Role
vesuvius/ Python library: data access (remote Zarr), training, vesuvius.predict, rendering, ink_detection subpackage
volume-cartographer/ (VC3D) C++ app and CLI tools: viewing, GrowPatch tracing, vc_render_tifxyz, vc_grow_seg_from_seed
lasagna/ PyTorch mesh growing and refinement, multi-sheet, fiber tracing
spiral-fitting/ Fits one global spiral to a whole scroll
ink-detection/ Ink models built on the 2023 Grand Prize model
dinovol/ Self-supervised 3D DINO for CT volumes
foundation/ Dataset and cloud infrastructure tools
scrollprize.org/ The website, including the prize page and eligibility data

Models: huggingface.co/scrollprize. Training logs: W&B.

What kit/ adds on top

Small, standard-library helpers for the parts villa does not cover:

kit Gap it fills
prizes One dated, tested place for amounts, deadlines and eligible volumes, with S3 names resolved
doctor Tells a newcomer what is missing before a 25 GB download fails
plan Copies the official commands for a scroll, control first, and prints the 8.64 µm resampling caveat
run ledger Preregistered readout rule with a hash, costs, provenance hashes, attached checks, status history, and a gate against early disclosure
verify CPU vs MPS (or any two runs) map agreement, valid only when a control map is caught
rowscore Text-row periodicity triage score for ink maps (port of Bullo27's), forward vs reverse

What this repository does and does not do

Moved here from the README on 25 October 2026, when the README became a short index.

Does Does not
Keep a dated, tested snapshot of open prizes and eligible volumes (kit/data/) Replace the live prize page
Print the official control and First Letters commands per eligible scroll, with resolved S3 paths Run VC3D, render surfaces, or run ink models itself
Check a machine against thresholds from published runs (12 GB GPU, 25 GB disk) Guarantee a run fits; streaming caches grow by gigabytes
Record preregistered readout rules, costs and status transitions locally Decide whether an image shows letters
Block publishing a candidate before the prize is announced Submit anything to the Vesuvius Challenge for you
Summarize the pipeline, the state of play, and costs, with sources Claim a reading, a title, or letters in any scroll
Point to villa, community tools, and published nulls Fork or vendor villa

plan prints commands; it never runs them. They are copied from the official ink detection tutorial, with each eligible volume's real S3 path resolved from the public bucket. The run ledger writes experiments/<slug>/run.json, which is gitignored. It hashes your readout rule when the run is created, so a rule edited after you looked is caught by check. It refuses to mark a submitted candidate published until the prize has been announced: the prize terms forbid going public first.

Where to grow it

Add to kit/ only what is specific to running and recording experiments. Anything that would help other participants (a QA check, a renderer fix, a better tracer) belongs upstream as a villa pull request, where it can win a Progress Prize and actually get used. Keep a link to the PR here.

Candidates, roughly in order of value:

  1. Done: kit run record (command lines and SHA-256 of checkpoints or outputs) and kit verify (map agreement with a control).
  2. Done: kit rowscore, Bullo27's row-periodicity triage score, forward against reverse and averaged over checkpoints. Still open: candidate components above a control-derived threshold (millerandmuller's method).
  3. A thin wrapper over vesuvius-catalog to refresh the volume table instead of the one-off bucket listing.
  4. A Modal or RunPod launcher that enforces a cost cap.