Instruction file imported from dianacodesit/my-dashboard (
.cursor/rules/vision-collage-no-overlap.mdc). Copyright stays with the author.
Vision collage packing
Hard rule for diana’s dashboard (/Users/diana/my-dashboard) vision collage days.
This file lives here — /Users/diana/my-dashboard/.cursor/rules/vision-collage-no-overlap.mdc. When the packing rule changes, write it here. Do not leave the update only in task-dashboard.
Sep 7 onward (noBannerPackDay / iso >= 2026-09-07 / dash-mosaic-era)
Dashboard room chrome (packDashMosaic). Follow only what Diana stated:
- Air + spread together: gutters, rounded rooms, fuller tiles get more space, and one large room with the rest composed around it
- The fullest section is the large room. The others sit beside and below it
- Widths and heights both fill the board and both follow content (
tileContentScore) - Tiles stay relatively proportional to one another
- Base size is 0.8 of the old equal-size tiles; fuller sections grow from there. Do not shrink empties below that base
- Rectangles when that fits. Do not force squares. Do not force the same height. Do not invent a column count
- Fill the board when there are 3+ sections — no empty strip, no leftover hole. Gutters between tiles (not drawn borders, never overlap). Do not stuff a tile into a leftover sliver
- Rooms tessellate the board (force-style interdependence): guillotine bipartition (
tessellateDashRooms) — gaps and overlaps are impossible by construction. Freeform absolutemosaicLayoutis retired. Resize updates area weights, then re-tessellates. - No dark overlay on the photo
- Photos
coverthe tile (crop edges; no letterbox) - Titles stay centered in the current gold foil style — never bottom-left Cinzel
- No scrap tilt
- Re-pack when a task / subsection / card is added or removed
- 1–2 sections: condensed height — NEVER full-viewport tall. Cap the mosaic stage (~half viewport / ~0.4× width). Do not force
min-height: 100vhor solo-fill. Photos stillcoverthe shorter rooms.vision-hero-dash-solomay still mark a single section; it does not mean stretch-to-fill.
Aug 26 – Aug 31
Keep the original gapped collage: 12px gutters, 16px tile radius. Never apply flush (gap: 0) here.
Sep 1 – Sep 6 (collage-flush / grid11)
Flush mosaic only — tiles kiss, no gutters. Do not push flush backward onto August.
Before Sep 7 packing
Use existing visionPackSpec. Do not restyle past days into Sep 7 rooms.
Always
scrapCollageDaystays false.- After add/remove/reorder →
syncHeroLayoutClass→packVisionCollage. - Edit
everything.htmlonly (everything-page-only). - Keep this rule in my-dashboard. task-dashboard may mirror it; my-dashboard is the copy that counts.
If Sep 7+ titles go bottom-left white
Put them back to centered gold foil. Do not ask.
No runtime rewriter — across the board
Titles stay as written. No JavaScript on load, chrome-sync, midnight, or carry may change section names (I will… → I am…, I will succeed → I succeeded, i → I, to … prefix, plain-label maps). If a word needs to change, change the baked HTML or the hardcoded picker list. Do not add a rewriter.
Forbidden: pastTenseDay / toPastSectionTitle / titledForBlock mutations / forceAll title migrations / load-time chrome title rewrites. Do not restore them.
Past-day titles stay baked. If a pass already rewrote history, restore every affected day from the baked map — not only Sept 5 and 6. Do not ask. Sept 5 past tense stays because Diana asked for those words — not because midnight flipped them.
Do not push Sep 6 style backward. Centered gold foil started on Sept 6. Aug 26–Sep 5 stay white Newsreader, bottom-left. Restore those days to exactly that — never restyle them to centered gold foil.
Section picker list is I am. sectionPresets / presetSecs is a hardcoded I am… list. Do not put I will… back in that list. Do not add a runtime rewriter to convert I will → I am for the picker. Change the list. Skip leftover I will harvests; do not rewrite them.