Skip to content

About

This is an interactive web App for comparing the color science of various analog film stocks. PWA ready with full offline functionality so that any user can always compare the different color profiles :D

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Film Rendition Reference

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.

What is included

  • 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 /research workbench 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 model

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.

Development

bun install
bun run dev

Quality gates:

bun run validate:data
bun run check
bun run build

validate: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.

Attribution

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.

SEO and deployment

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.

About

This is an interactive web App for comparing the color science of various analog film stocks. PWA ready with full offline functionality so that any user can always compare the different color profiles :D

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages