Files

59 lines
5.2 KiB
JSON

{
"_doc": "PLAN-2a-1 / G-MOCK mapping for glass.py cmp (contracts/lab.md section 3). Mockup docs/phase2/mockups/home-apps-home-t1.html data-ids -> live selectors of C2a's T3 nodes (theme/41-home.css header documents the DOM). Run with --flags wp.c2a,wp.p3,wp.c1a,searchCircle: the mockup shows the standard layout (search circle); without searchCircle C1a shows the capsule and Home uses its low layout (HA 3.1.1, rows +40). back and search are C1a's Steam nodes on windowless routes (WN 3.2). The card ids need the card open: the pre focuses cell 3 and waits past the 0.8 s step. Round R2 fix pass: back and search are left out of this map: they are C1a's Steam nodes, whose 80 px hit boxes C2a can select but whose 60 px circles are drawn on a pseudo-element (review R2 m13: +20 px by construction); C1a's own cmp maps them. Selectors skip the leaving copy of a page (.is-leaving) that exists for 150 ms after a page or section change. The default (low) layout, with C1a's search capsule above the section control, has no mockup: it is HA 3.1.1's fallback and is compared by its own rects in C2a.md (AT-2).",
"surface": "main",
"route": "/library/home",
"pre": "(async()=>{const d=L.surface('main').document;for(let k=0;k<50&&!d.querySelector('.lgs-home-grid > .lgs-home-cell');k++)await L.sleep(100);await L.sleep(500);await L.root();L.gpTake('main','.lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(3)');await L.sleep(1600);return L.route()})()",
"mockOrigin": [
320,
66
],
"map": {
"seg": ".lgs-home-seg",
"seg-recent": ".lgs-home-seg-item:nth-of-type(2) > .lgs-home-seg-fill",
"seg-collections": ".lgs-home-seg-item:nth-of-type(3) > .lgs-home-seg-fill",
"seg-apps": ".lgs-home-seg-item:nth-of-type(4) > .lgs-home-seg-fill",
"whatsnew": ".lgs-home-wn-glass",
"cell-1": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(1)",
"cell-2": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(2)",
"cell-4": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(4)",
"cell-5": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(5)",
"cell-6": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(6)",
"cell-7": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(7)",
"cell-8": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(8)",
"cell-9": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(9)",
"cell-10": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(10)",
"cell-11": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(11)",
"cell-12": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(12)",
"cell-13": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(13)",
"disc-1": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(1) > .lgs-home-disc",
"disc-2": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(2) > .lgs-home-disc",
"disc-4": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(4) > .lgs-home-disc",
"disc-5": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(5) > .lgs-home-disc",
"disc-6": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(6) > .lgs-home-disc",
"disc-7": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(7) > .lgs-home-disc",
"disc-8": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(8) > .lgs-home-disc",
"disc-9": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(9) > .lgs-home-disc",
"disc-10": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(10) > .lgs-home-disc",
"disc-11": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(11) > .lgs-home-disc",
"disc-12": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(12) > .lgs-home-disc",
"disc-13": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(13) > .lgs-home-disc",
"label-1": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(1) > .lgs-home-label",
"label-2": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(2) > .lgs-home-label",
"label-4": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(4) > .lgs-home-label",
"label-5": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(5) > .lgs-home-label",
"label-6": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(6) > .lgs-home-label",
"label-7": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(7) > .lgs-home-label",
"label-8": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(8) > .lgs-home-label",
"label-9": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(9) > .lgs-home-label",
"label-10": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(10) > .lgs-home-label",
"label-11": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(11) > .lgs-home-label",
"label-12": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(12) > .lgs-home-label",
"label-13": ".lgs-home-grid:not(.is-leaving) > .lgs-home-cell:nth-child(13) > .lgs-home-label",
"peek-r1": ".lgs-home-peek[data-side=\"next\"]",
"dots": ".lgs-home-dots",
"card": ".lgs-home-card",
"card-play": ".lgs-home-play-fill",
"card-more": ".lgs-home-more-fill"
}
}