# Gates: 3D illustration of the vải-dứa-sen-nước đường production line

OWNS: production-line-design/3d/**, plans/reports/**

Scope: a dimension-true, detailed Three.js scene of the production line shown on
Day truyen vai.pdf, with a reproducible hero render, independent blind
validation against the sheet, and a polished, reality-faithful finish.

- [x] G0: this ledger states outcomes that can fail
  CHECK: node /Users/thinhkhuat/.config/opencode/skills/unlazy/scripts/gate-lint.mjs GATES.md
  EXPECT: LINT OK
  EVIDENCE: automatic-evidence=v1; definition-sha256=1620f29dd53de982aabe73c0bfb9088538c6c11a6ebd8d13a92e135d3e5d8ffd; exit=0; EXPECT=matched; output-sha256=b2615d84cb888cfab30603922689407564a0eec8b8aa9cc9782c6eb9af862464; output-bytes=268; shell=/bin/sh; cwd=/Users/thinhkhuat/in-PROD/MY-WORKBENCH/HOIVU/production-line-design/3d; path=a7a924d93184/50 entries

- [x] G1: layout data reconciles with the sheet's dimension chains and legend
  CHECK: node checks/verify-layout-data.mjs
  EXPECT: LAYOUT OK
  EVIDENCE: automatic-evidence=v1; definition-sha256=60b1c3f40ab15e6fbc4601f9eb9362def918c305e06eb0e4d203cd22e567ed92; exit=0; EXPECT=matched; output-sha256=5628df51edd8cb8124134c9d65c41680c3ff63e50d02421cbefa7081f4481912; output-bytes=10; shell=/bin/sh; cwd=/Users/thinhkhuat/in-PROD/MY-WORKBENCH/HOIVU/production-line-design/3d; path=a7a924d93184/50 entries

- [x] G2: the hero render draws the full scene with zero page errors
  CHECK: node checks/verify-render.mjs
  EXPECT: RENDER OK
  EVIDENCE: automatic-evidence=v1; definition-sha256=c58228cd3947630babc7ac61fd41275171efd2164becd71ad00051897d0ef847; exit=0; EXPECT=matched; output-sha256=5160d2e7c979d760737bb4fba98c43be6f5a25ddc19767912dfb3525c14cbf87; output-bytes=39; shell=/bin/sh; cwd=/Users/thinhkhuat/in-PROD/MY-WORKBENCH/HOIVU/production-line-design/3d; path=a7a924d93184/50 entries

- [x] G3: the render checker rejects a known-broken page (negative control)
  CHECK: node checks/verify-render.mjs --negative-control
  EXPECT: NEGATIVE CONTROL OK
  EVIDENCE: automatic-evidence=v1; definition-sha256=d6fe9be958a382db0886523e1961063ca9b943c66567e26139a1da7fd954ad3b; exit=0; EXPECT=matched; output-sha256=b583e0de646dd069ca3e92e635879188e026c7f0eef446e4a08561de2c887abe; output-bytes=101; shell=/bin/sh; cwd=/Users/thinhkhuat/in-PROD/MY-WORKBENCH/HOIVU/production-line-design/3d; path=a7a924d93184/50 entries

- [x] G4: two consecutive renders each produce a non-blank PNG at full size
  CHECK: node checks/verify-render.mjs --repeat
  EXPECT: REPEAT OK
  EVIDENCE: automatic-evidence=v1; definition-sha256=5cb006e5aa7d71b2fe2ec0483aafe8f37eae48444a1c9b6996a0bb2feee63530; exit=0; EXPECT=matched; output-sha256=7bd5212e2051d70063322a8aba605550c4e6e6135e97622c02a253c5b0cead00; output-bytes=77; shell=/bin/sh; cwd=/Users/thinhkhuat/in-PROD/MY-WORKBENCH/HOIVU/production-line-design/3d; path=a7a924d93184/50 entries

- [ ] G5: an independent blind comparison of the render against the sheet finds no positional mismatch
  EVIDENCE: pending

- [ ] G6: realism and legibility review passes on the finished render
  EVIDENCE: pending
