mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-29 07:20:43 +00:00
Eleven new slides walk the platform. P0 is the twelve-call tour the hero already tells — real operations, in the order somebody calls them, each with the verb, the path and the document's own sentence. P1 through P10 are one product from each of the ten layers slide 7 promises: what it is, its base path, the operations under it, its page and its repository. A page declares ONE thing, data-family on its section, and deck/sync.mjs resolves the rest out of lib/data/catalog.json and lib/data/families.json — the two snapshots scripts/sync-catalog.mjs takes of api.hanzo.ai/v1/openapi.json and the commerce catalog, behind its own ratchets. The deck fetches nothing itself: each of those files already has an owner that probes for it, and a second probe here is how the deck and the site come to state different numbers. A family the document stops carrying stops the sync rather than shipping a stale slide. The same script now stamps every data-start from the slide's position, so inserting one renumbers the rest. A6 draws the whole surface: one squarified rectangle per family, its area in the ratio of the operations under it, 183 of them and 2,441 operations. Every product page redraws that map with its own family lit — one instrument seen eleven times rather than eleven loose cards, and a five-operation family is findable in it. The graphics pass on the twelve. The price now rides the score row as a second bar on a log axis, so "the best score at a fraction of the price" is a shape and not an adjective — long white on top, short white underneath. The ten layers carry the products the catalog sells in each, drawn: a span is inline, so the fill painted nothing at all until it was told to be a block. The decades between what a call costs to serve and what the category charges for it are an axis, with the multiple as the distance across it. The dormant agent sits INSIDE the megabyte, in its corner, because that is what the comparison is. The cold-start bars move to the cold-start sheet, which until now was a headline and one row. A4 draws the distance left to close off its own table. A label is what precedes a colon. `.*?` matched the empty string ahead of an optional one, so every A1-A3 detail row fell back to the claim and the sheet printed "A dormant agent" three times. deck/shoot.mjs is the verification the contract already described, made reproducible. It seeks each slide to its own still frame before measuring — the paused timeline holds every part it has not reached 22px down, and measuring through that reports a phantom 22 on a dozen unrelated boxes — and it measures a second property beside overflow: a flex or grid box shrunk below its own content. That is the failure a screenshot hides and an overflow check misses, because nothing leaves the stage; the boxes just shrink, and slide 2's captions printed through the footnote under them. Twenty-nine slides, no overflow and no squeeze at 1280, 1600 and 2560, no console errors, both Zen faces loaded; hyperframes check passes with 173/173 contrast. deck/assets/logos/ was a second copy of the artwork MARK already holds inline, and nothing read it. The laptop shot is retaken without the site's own navigation bar cut across the top of it.