### `wai-mark:tent64s`: the second marking layer found again after crops, rotations and captures of a screen

- **The scheme** ([synthesis](extensions/synthesis.md) §7.9), a second registered term beside
  `wai-mark:tent64`: the same tent pattern, code, amplitudes and margin, on a tiled layout. The
  64 × 64 grid is cut into 2 × 2 tiles of 32 × 32 cells, each holding the same layout, so a bit
  keeps 16 cells, four in every tile, and the mark repeats with half the frame's width and height.
  The embedding is §7.5.4's under that layout, integer and recomputed by a verifier as `tent64`'s
  is; nothing is added for synchronisation. A new term rather than a revision: the same frames and
  payload give other marked frames, and a `tent64` marking commits to its own by digest.
- **Detection in two stages, integer throughout.** Stage 1 reads the grid in place, in the 8
  quarter turns and mirrors. Stage 2, where stage 1 reads nothing: the exact autocorrelation of a
  sign plane matched to the cell pattern; eight lattice candidates, each a pair of vectors at
  right angles scored over four lattice points and refined to 1/64 of a sample; each folded onto
  one tile, the cells' phase taken where the tiles agree most; the orientation and the tile's
  offset where the four cells of every bit agree most; at most four words decoded. The
  false-positive bound counts all 12 decodes, 2^−60.80, and is checked against the words both
  stages read from unmarked pictures.
- **Measured.** The battery adds a crop of 25%, crops of 2%, 5%, 10% and 25% from each side, a
  rotation of 5° and two simulated captures of a screen (a resampling, a small rotation, a
  display's curve and noise). Both generated sets survive every attack of the table, resampling to
  1/3 among them; the claims are what the photographs survived as well, among them every attack
  `tent64` claims, crops of 1% to 5%, crops of 2% to 10% from the left, rotations of 0.5°, 1° and 5°
  and one capture of a screen. One photograph of dense texture is not read in 14 of the crops and
  rotations, nor another in the second capture, and those are not claimed. PSNR, SSIM and the floor
  are `tent64`'s to within 0.4 dB and 0.002.
- **Verification**: §7.6 recomputes and reruns a marking or a detection of either registered
  scheme; the C2PA statement, the signpost and the resolver of §7.7 serve both.
- **Reference and corpus**: `synthesis::mark::sync`; its files sit in
  [`live-conformance/synthesis-mark/`](live-conformance/synthesis-mark/) beside `tent64`'s and share
  its frames, and a vector names a crop, a rotation or a capture of stored frames, which every
  implementation derives, rather than storing it. `synthesis_mark_verify.py` runs both stages
  with an autocorrelation and a fold of its own and agrees with the reference on every vector,
  stage 2's lattice, phase, offset and agreement among them.
- **`scripts/check-public-names.sh`** reads file arguments from the caller's directory, where it
  read them from the repository's root, and names any argument it cannot read rather than exiting 2
  on the whole list; its self-test covers both.

