{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "website",
  "description_en": "Reconstructs the dot-matrix window on davidluft.com from its public JavaScript bundle and scene payloads. A JavaScript engine decodes six-bit temporal-delta luminance and color fields, then renders individually animated dots; an interactive page and frame exporter demonstrate the result. The author reports comparing output with browser screenshots.",
  "description_zh": "项目依据 davidluft.com 的公开 JavaScript 文件和场景数据重建首页点阵窗景。JavaScript 引擎解码六位时间差分亮度与色彩数据，再绘制逐点动画；交互页面和帧导出工具展示结果。作者报告曾将输出与浏览器截图比较。",
  "entry_url": "https://awesomerea.org/resources/canopy-dotmatrix-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/canopy-dotmatrix-case/",
  "evidence_url": "https://github.com/isjiajia01/canopy-dotmatrix/blob/716a2dd6a217ba0855a1a04c495d13ccd0c300c4/README.md",
  "group": "cases",
  "id": "canopy-dotmatrix-case",
  "json_url": "https://awesomerea.org/resources/canopy-dotmatrix-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/canopy-dotmatrix-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/canopy-dotmatrix-case/index.md",
  "name": "canopy-dotmatrix: reconstructing davidluft.com's dot-matrix window",
  "name_zh": "canopy-dotmatrix：重建 davidluft.com 的点阵窗景",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "The public scene payloads are fetched locally for playback.",
    "Node 20 or newer is specified in package.json.",
    "The authoring encoder and some rendering modes remain unknown or unimplemented.",
    "MIT license."
  ],
  "requirements_zh": [
    "播放时需要在本机取得公开的场景数据。",
    "package.json 指定 Node 20 或更新版本。",
    "素材编码器及部分渲染模式仍未知或尚未实现。",
    "许可证：MIT。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/isjiajia01/canopy-dotmatrix",
  "verification": "source-reviewed",
  "verified_at": "2026-11-08"
}
