{
  "schema": 1,
  "version": "0.27.0-dev40",
  "kind": "native-c-host-render",
  "devicePhotographs": false,
  "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
  "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
  "sourceSnapshot": "build/dev40-source-v1",
  "sourceInputsVerified": 205,
  "data": "Six original synthetic EPUBs created for an earlier development preview, rendered afresh by dev40; no user TF, notes or credentials",
  "originalFixtureGeneratorSHA256": "ec4b405b03c87722f2ebce7621d1541072c7e63906beb7fead392abab9353d37",
  "originalBooks": [
    {
      "name": "窗前慢读.epub",
      "sha256": "a46b8833dd5767378566f4c754e371de4f983068abfa6d2c06aec98c49d37f74",
      "original_content": true
    },
    {
      "name": "山间来信.epub",
      "sha256": "08878a998df9d312b0dcceaae08f5c20b2198bb9415143a3dcc2b6263bc4664c",
      "original_content": true
    },
    {
      "name": "城市微光.epub",
      "sha256": "1d2858cdb52e1cdc6199714f42d5a448c3e3dbcda3cfd9321f846734821272e3",
      "original_content": true
    },
    {
      "name": "夜航日记.epub",
      "sha256": "e2e00dbc320a4e9913a3b420479daefe13b9a08c091ff7aaa88b608cfebdeb52",
      "original_content": true
    },
    {
      "name": "纸上四季.epub",
      "sha256": "854ed2ae342eed78979cee11b54ce3b87f4d5b920769aeec55fc2c8d92f547d4",
      "original_content": true
    },
    {
      "name": "书房手记.epub",
      "sha256": "08ce5ff30b59a217c87fa3245492d64b7c87f4c8194b9800ab0b3b93e684fa75",
      "original_content": true
    }
  ],
  "services": "Home Assistant uses explicit demonstration entities served only on loopback; no real account or printer acceptance",
  "drawing": "Real native touch and rotate commands, abstract original marks, saved 1400x2000 document; full canvas rotates with screen, with background dots",
  "deviceAcceptance": false,
  "realAccountAcceptance": false,
  "powerMeasured": false,
  "images": [
    {
      "file": "dev40-reading.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/reading.png",
      "sourceSHA256": "5bcf5d251ec25fd5d6a4c920dadf29aa94dc79bce367a903df940f37c68df13b",
      "bytes": 14890,
      "sha256": "b4991ea465bfa9d3e7fdaff5ed73c4412856abd62828f792f9472e2f194e2ca4",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 0,
        "active_app": "book",
        "book_view": "reading",
        "power_state": 0,
        "fan_selected": -1
      }
    },
    {
      "file": "dev40-quick-menu.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/quick-menu.png",
      "sourceSHA256": "e6d15002b0f9f2690f53c7861150efaf1bb1c3e0084bc40e69fe5eed5900509a",
      "bytes": 7300,
      "sha256": "0e4746bce3ef2abefda03abbd0ccb39d6ba6d576d91c39c1763c2177fd524783",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 0,
        "active_app": "book",
        "book_view": "reading",
        "power_state": 0,
        "fan_selected": 5
      }
    },
    {
      "file": "dev40-shelf.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/shelf.png",
      "sourceSHA256": "f98932e1aab509757964040a79fbd29ee299777c44f457c4db69491c14a6295b",
      "bytes": 17758,
      "sha256": "4390aa6094b7e88f1dc22b3c28a37bda72e5590bdda681c1394e1ee4f6a4fdf8",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 0,
        "active_app": "system",
        "book_view": null,
        "power_state": 0,
        "fan_selected": -1
      }
    },
    {
      "file": "dev40-games.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/games.png",
      "sourceSHA256": "270b55674ba360da737b90ac38936861253cab53140873760bd2df6b5a1f71f4",
      "bytes": 18048,
      "sha256": "55debbc10881f32a5c3536ac25d473afc527f392a3876286d43d85a938f5a11b",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 13,
        "active_app": "system",
        "book_view": null,
        "power_state": 0,
        "fan_selected": -1
      }
    },
    {
      "file": "dev40-home-assistant.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/home-assistant.png",
      "sourceSHA256": "901f33928959f054212c7f3a87671ffa05bb8018c4d509c83eee22e8a3116083",
      "bytes": 18238,
      "sha256": "cc446155e34127c0fc7d17477fcca2101af5887177f0f2f7de272c74e2be0aef",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 3,
        "active_app": "system",
        "book_view": null,
        "power_state": 0,
        "fan_selected": -1
      }
    },
    {
      "file": "dev40-lock-covers.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/lock-covers.png",
      "sourceSHA256": "08df72048c6495f7d2e728fa73392f00a450b85d095c72993cd0e1f499741693",
      "bytes": 4860,
      "sha256": "2cd6a8844d6d1061ab4fbe47abee21c832b09e455665bffec23e0b9b406dc8b4",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 0,
        "active_app": "system",
        "book_view": null,
        "power_state": 1,
        "fan_selected": -1
      }
    },
    {
      "file": "dev40-drawing-portrait.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/drawing-portrait.png",
      "sourceSHA256": "97bf8eff0836d0a32603739d09201bd24d5b238d2826e80a3bb01399f749510d",
      "bytes": 5168,
      "sha256": "e7e9f7febc4806772bf8890d876172f3e95b9e6a1f62279fe5f0ce8c33c549a1",
      "width": 684,
      "height": 1216,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 28,
        "active_app": "system",
        "book_view": null,
        "power_state": 0,
        "fan_selected": -1
      }
    },
    {
      "file": "drawing-note-xhfo.webp",
      "kind": "derived-native-interface-preview",
      "version": "device-original-2026-11-07",
      "attribution": "XH_Lab",
      "description": "Website preview derived from the dev40 native drawing framebuffer and the original vector note board04.dat selected by index.dat on the connected device. The firmware chrome and dotted paper are retained, the old example strokes are removed, and only the actual handwriting is decoded read-only, rotated upright and scaled into the paper. No camera photo is included.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "derivedFrom": "dev40-drawing-portrait.webp",
      "sourceDatum": {
        "file": "apps/data/drawing-notes/board04.dat",
        "sha256": "4c50e824d80df3d36cc27f4b366d2fb01a6cf5b1b8aa5dc07560a86b2d3165fb",
        "format": "XPS1 wrapper + PDN1 vector point record",
        "readOnly": true
      },
      "bytes": 5458,
      "sha256": "e5abb3d23e762c13b723ab577dca0bc1ac0f762faab71cc4591331eab22736d9",
      "width": 684,
      "height": 1216,
      "transformations": [
        "decoded the original board04 vector points read-only from the connected SD/TF card",
        "removed the original synthetic example strokes from the dotted-paper area",
        "rebuilt the unchanged 23 px dot grid",
        "rendered and rotated the original handwriting upright",
        "scaled and composited only the original handwriting ink",
        "lossless WebP export",
        "metadata removed"
      ]
    },
    {
      "file": "dev40-drawing-landscape.webp",
      "kind": "native-c-host-render",
      "version": "0.27.0-dev40",
      "attribution": "XH_Lab",
      "description": "Frozen dev40 native runtime framebuffer. Original synthetic EPUBs and artwork only; Home Assistant uses explicit demonstration entities. Not a device photograph.",
      "encoding": {
        "format": "webp",
        "lossless": true
      },
      "sourcePath": "captures-v4/drawing-landscape.png",
      "sourceSHA256": "dc338286962bb5f6173a7aaf08ec18279217c354bec435ee0f9490b6a752c19f",
      "bytes": 5342,
      "sha256": "b60c00041ae648988e2eaae085339d59bf3d4b68821a424290d50ee7a57d632b",
      "width": 1216,
      "height": 684,
      "transformations": [
        "lossless format conversion only",
        "metadata removed"
      ],
      "nativeBinarySHA256": "689c51f3892f1939b0547ef85cc2b85d899e034f84c9cfa7fdc97f3fb36f1831",
      "nativeBuildManifestSHA256": "c861c3f63e187b3b4e3e6e2d70efd7a879e145f42b4baa914d18bcf1144a368e",
      "nativeState": {
        "route": 28,
        "active_app": "system",
        "book_view": null,
        "power_state": 0,
        "fan_selected": -1
      }
    }
  ]
}
