{
 "about": "Every asset in SCION-10's film, where it came from, its rights, and the operation that made it. Nothing was downloaded, filmed, traced, generated by a model, or taken from another swarm. The dog is one image warped by MLS.",
 "assets": [
  {
   "id": "dog-hide",
   "what": "THE dog: one RGBA image (760 x 528 px, 400 px per metre) of a dog's coat laid out flat like a pelt: dark saddle down the back, tan flanks to either side, four legs reaching out from the flank edges, head with eyes, nose and two ears, tail behind",
   "source": "assets/dog_hide.png (made by build/paint_dog.py); assets/dog_labels.png (part label per pixel, used for measurement only); assets/dog_hide_meta.json",
   "rights": "made here for this film",
   "operation": "painted in numpy: polygons for the parts (4x supersampled), colour fields (saddle, belly line, mask on the muzzle), fur as anisotropic noise (streaks along the body and down the flanks), baked form shading; a noisy fringe for the outline"
  },
  {
   "id": "dog-handles",
   "what": "the editable handle set: 48 point handles and 19 line-segment handles on the hide (spine, back edges, belly line, neck, legs to the paws, a rigid cluster of 15 head handles, ears, tail)",
   "source": "build/dog.py (handles(), SEGMENTS); drawn on the hide in proof/handles_on_hide.jpg and on the end card",
   "rights": "made here",
   "operation": "placed by hand on the hide; per frame build/pose.py moves them (their 3D targets are in build/cache/poses.json)"
  },
  {
   "id": "dog-motion",
   "what": "the dog's choices, position x and acting intentions per frame",
   "source": "paeleo/handmade/score/threshold-score.json",
   "rights": "PAELEO score (Bolas)",
   "operation": "read by build/pose.py: x -> the body centre on the porch (x_world = x - 0.49), act.* -> heights, head place, ears, tail, curl; a foot-planting gait walks the paw handles; turns are led by the head (stated in method.md)"
  },
  {
   "id": "mls-solver",
   "what": "Moving Least Squares deformation: affine, similarity and rigid families, point and line-segment handles (segments by Gauss quadrature)",
   "source": "build/mls.py, after Schaefer, McPhail & Warren, Image Deformation Using Moving Least Squares, SIGGRAPH 2006 (https://people.engr.tamu.edu/schaefer/research/mls.pdf, the formulas as published; the PDF was not fetched in this session, the formulas were written from the paper's known equations and tested numerically)",
   "rights": "own implementation",
   "operation": "numpy; self-test in proof/mls_selftest.json"
  },
  {
   "id": "set",
   "what": "the porch (boards, steps, railing), the house wall with clapboards and a doorway, the sill, the door leaf, the lit room (floorboards, a rug, plaster walls), the yard and backdrop at dusk",
   "source": "build/scene.py",
   "rights": "made here",
   "operation": "ray-cast plane by plane in numpy with an orthographic camera (build/cam.py); lit by a dusk sky, a weak moon and a lamp inside whose light reaches the porch only through the doorway, past the leaf; soft shadows of the dog and person projected from the lamp"
  },
  {
   "id": "person",
   "what": "the person: a faceless figure of shaded capsules (coat, trousers, hands, hair); stands in the doorway, calls, reaches, steps out and aside, sits with its back to the wall, offers a hand low",
   "source": "build/person.py",
   "rights": "made here; no real person, no face",
   "operation": "capsules posed from the score's person track, point-splatted with the dog in one depth order"
  },
  {
   "id": "sound",
   "what": "room tone (wind, crickets), the person's voice (a formant synthesizer saying 'Come here', 'It's all right', 'Come in'), paw taps at the gait's footfalls, scrabble, body going down, sighs, tail thumps, latch and creak, the warm room's hum and clock",
   "source": "build/sound.py",
   "rights": "synthesized here",
   "operation": "numpy/scipy synthesis; levels measured in proof/sound_levels.json"
  },
  {
   "id": "fonts",
   "what": "Big Shoulders Display (title), Literata (captions, end card), JetBrains Mono (labels)",
   "source": "tools/paeleo/fonts/f8.woff2, f27.woff2, f34.woff2, f14.woff2",
   "rights": "SIL Open Font License (as provided in the repo)",
   "operation": "set with Pillow"
  },
  {
   "id": "archive-dog-looked-at",
   "what": "reference only: the Amateur Film New Jersey C frames in the kit were looked at once (a contact sheet of 8 frames) before choosing to paint a hide instead; the shepherd-like coat (dark saddle, tan legs) echoes that dog",
   "source": "paeleo/handmade/kit/archive-dog/frames/f000, f010, f016, f024, f031, f040, f046, f049 (looked at only)",
   "source_title": "Amateur Film New Jersey C",
   "archive_url": "https://archive.org/details/NewJerseyC",
   "rights": "public_domain (Home Movies collection, Internet Archive)",
   "operation": "looked at; no pixel, mask, pose key or outline was copied or traced"
  }
 ]
}
