A SvelteKit reference that keeps manufacturer specifications separate from experimental film-rendition observations. The application charts only source-supported measurements, exposes uncertainty and methodology, and withholds numeric graphics for spec-only or pending records.
- 14 PARVEC Part 1 films with timestamped, checksummed evidence records.
- 60 product records. The current reference count is shown in the research library. These are product records, not 60 independently tested emulsions.
- Six author-reported overall figures: three reported decreases, two unsigned differences, and one spoken increase with conflicting chart semantics. None is independently reproduced; error bounds are unknown.
- The 14 original six-axis shapes remain available as approximate video overlays. They are stored separately from measurements, visibly labeled, excluded from calculations, and preserved in the audit archive. No numeric per-hue measurement set currently passes the evidence threshold.
- 46 specification-only records spanning still, creative, cinema, reversal and historical products. Old data-sheet formats do not establish current supply.
- A searchable
/researchworkbench with per-film document/evidence pages, a frame-size resolution playground, contrast/MTF criteria, three-film comparisons, stock-family diagrams and a searchable source library. Filters and selections are stored in the URL. - First-party specification links, emulsion-family IDs, aliases, lifecycle, generation, process, format, and speed metadata.
- Rights-gated evidence UI: internal frames stay outside the public site until cleared, with timestamped video links as the fallback.
- Responsive, keyboard-accessible comparison and source/method panels.
Screenshots document what a source reported. They are not colorimetric truth and are never sampled for measurements.
Data lives in:
src/lib/data/filmStocks.ts— film identity, specifications, and separate rendition profiles.src/lib/data/sources.ts— attributable research and manufacturer sources.src/lib/data/researchCatalog.ts— newly researched specifications and document links.src/lib/data/datasheets.ts— film downloads and explicit document scope.src/lib/data/datasheetDocuments.json— independently reviewed PDF identities, SHA-256 fingerprints, canonical paths and investigation outcomes for all 60 films.research/datasheets/README.md— complete datasheet audit, remaining gaps and acquisition workflow.research/film-resolution/calculation-inputs.md— all 45 PDFs assessed for spatial-resolution inputs, all 60 films, and source-linked megapixel equivalents using the supplied sampling formula.src/lib/data/filmResearch.ts— joins reviewed documents, resolution inputs and stock relationships for the website; article supplements remain separate from the 60-film catalog.
Every numeric metric requires a value, unit, precision, derivation, source, method, confidence, and an uncertainty explanation. Unknown uncertainty is null, never a guessed error bar. Unsigned differences cannot be formatted as signed deltas. Graph digitization requires a linked extraction record. Approximate display overlays use a separate type and are never valid calculation inputs. Results from different studies must remain separate and must not be averaged into a synthetic profile.
bun install
bun run devQuality gates:
bun run validate:data
bun run check
bun run buildvalidate:data verifies schema invariants, all 14 PARVEC film/evidence links, timestamps, JPEG signatures, SHA-256 checksums, rights gating, reported-value transcription fixtures, unresolved-sign formatting, uncertainty handling and corrected identity/specification regressions. It validates internal consistency, not the underlying experiment's numerical accuracy.
The data gate also rejects changed PDF checksums, incorrect film-to-document bindings, duplicate documents, unreviewed PDFs and films without a recorded datasheet investigation. build runs this gate before bundling. bun run test includes swapped-film, duplicate-file, resolution formula and evidence-scope regression cases. For PDF page/content parsing and safe download restoration, see the datasheet workflow; it uses Python with the pinned pypdf dependency.
dev, test and build run prepare:research to generate app snapshots and a whitelist of public evidence assets from the canonical research files. Edit the original ledgers under research/, then regenerate. Product inputs, established base-stock estimates and proposed scenarios are distinct scopes; missing criteria remain unavailable, and source processing/generation limits accompany estimates. Solid family links establish the stated relationship, while dashed links retain uncertainty.
The initial rendition study is Every 35mm Film Color Science Explained — Part 1 by PARVEC. Manufacturer claims are attributed qualitative or specification information, never relabeled as experimental results.
The canonical site is https://filmreference.ron.nyc. Sitemap, robots, metadata, structured data and performance checks are documented in the SEO audit. Generate WebP display derivatives after changing packaging or chart images with python3 scripts/optimize-images.py (requires cwebp); commit the generated files with the source changes.