Canonical Handoff Spec
_MyAnythingList / _MyAnythingGrid Requirements
Prepared for continuity across future ChatGPT sessions. This document is intended to prevent repeated rework, forgotten decisions, and visual regressions.
1. Absolute Operating Rule
Once a requirement is agreed, it becomes the documented standard and must not drift unless the user explicitly changes it.
- No casual restyling.
- No accidental regression of layout, glow, rounded corners, spacing, control behavior, startup behavior, or naming conventions.
- Before changing anything, future sessions must read this document first and treat it as a checklist.
2. HTML Source Invariant
The first four source lines must begin exactly like this, with zero whitespace before the DOCTYPE:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>The Real FREE PRESS</title>
All comments, metadata blocks, notes, and JavaScript objects must appear only after those lines.
3. Canonical UI Aesthetic Standard
- The interface must feel safe, orderly, calming, hypnotic, visually clear, and intelligent.
- Zero redundant wording.
- Zero disorder.
- No ugly, accidental, student-looking dialogs or inconsistent button sizing.
- Controls must be balanced, symmetrical, color-consistent, and visually deliberate.
- Spacing must be minimal, intentional, and visually even.
- The selected-tile magical pulsing green glow is a major product feature and must remain vivid.
- Thumbnail panel appearance must remain consistent with the long-established canonical design. Only explicit user-approved spacing adjustments may change.
4. Safe-Zone / Spacing Requirements
- The full wall needs enough safe zone for displays that crop outermost pixels.
- The footer needs a real bottom safe zone.
- Space above the footer must be the minimum aesthetically acceptable amount.
- Top control bar spacing must remain minimal and visually symmetric.
- No wasted vertical space.
- No reintroduction of excessive black gaps.
- Dropdown text must remain vertically centered.
- Startup modal must always sit below the control-bar bottom divider line and never cover the control area.
5. Tile / Thumbnail Visual Requirements
- Tile corners must stay rounded inside the border.
- Thumbnail panels must preserve their canonical formatting and styling.
- No accidental switch to square outer corners, border loss, ugly crops, or flattened styling.
- The green pulsing glow must have enough outer breathing room to render visibly.
- Hover/selection styling should enhance, never destabilize, the canonical look.
6. Thumbnail Quality Requirements
- YouTube thumbnails must always request the highest available resolution first.
- Priority order is:
maxresdefault
sddefault
hqdefault
mqdefault
default
- Print uses are a primary requirement. Thumbnail quality must never casually degrade.
- On playlist load, visible top thumbnails should appear immediately while the rest continue loading.
- The wall should never go fully black during loading when avoidable.
7. Cursor / Hover Requirements
- Default cursor inside panels should be the normal arrow.
- When hovering URLs or QR codes, cursor should switch to a hand.
- Text-edit/I-beam cursor should not appear on non-editable tile content.
8. Startup / Playlist Modal Requirements
- The main control bar button must read Load a New Playlist.
- That main button opens the playlist modal, not the file picker directly.
- If the modal is opened at startup with no playlist, title should read No playlist loaded.
- If the user opens it manually later, title should read Load a New Playlist.
- Modal wording must be minimal, non-redundant, and centered where appropriate.
- In the modal:
- Titles/status/labels centered where appropriate.
- Actual URL text box left-aligned.
- No duplicate labels.
- Buttons should be visually consistent in width and style.
- Close button belongs at the bottom.
- The modal should indicate that the control bar is currently inactive/focused away, but without blurring the whole interface into uselessness.
- README/info/language access should remain possible even before thumbnails are loaded.
9. Playlist Loading Requirements
- Remote playlist loading from the modal must work from local downloaded builds and hosted builds.
- If direct in-page fetching is unreliable, the accepted fallback is to reopen/navigate using
?myanythinglist=<URL>.
- If the remote input appears blank but has the demo URL as placeholder/default sample, pressing the remote-load button must still load that sample URL.
- The family-friendly default sample playlist is
https://8k.art/_MyAnythingList.txt.
- As soon as a playlist is accepted, top visible thumbnails should appear immediately, then the rest should continue loading.
- No black-screen pause during large playlist loads when avoidable.
- If no playlist is loaded, the wall container should not appear as an empty broken-looking panel region.
10. Playlist Editor Requirements
- The editor is a true
_MyAnythingList.txt editor.
- It must preserve and display raw UTF-8 source text character-for-character.
- It must not reconstruct only compacted extracted URLs.
- Even with no playlist loaded, user must be able to open the editor, paste one YouTube URL, save, and immediately see results.
- Editor should open scrolled to the very top.
- Editor controls must include:
- Load a New Playlist
- Download THIS _MyAnythingList.txt
- Save & Rebuild Wall
- Cancel
- Download output must use the exact raw text currently being edited.
11. Naming Conventions
- Exported thumbnail names must not look like URLs.
- Canonical thumbnail filename format:
MyAnythingList_Thumbnail_YYYYMMDD_HHMMSS.jpg
or PNG equivalent.
- Do not casually change this naming convention after it is set.
12. Print / Export Requirements
- High-quality export is a core requirement.
- Support exact print-oriented presets for:
- 3.5" × 2" business cards at 300 DPI
- 3.5" × 2" business cards at 600 DPI
- standard postcards at 300 DPI
- standard postcards at 600 DPI
- WYSIWYG QR placement/scale is required.
- Do not introduce unintended white background blocks behind QR in exports.
13. Feed Type Expansion
- Add a future feed type called
STREAM.
- Users must be able to enter playable video stream URLs directly in playlists.
- This requirement is now part of the standard and should be preserved for the next session.
14. Known Regressions to Avoid Forever
- Breaking the remote playlist modal loader.
- Reintroducing black dead time during load.
- Losing rounded tile corners.
- Losing borders or canonical tile formatting.
- Reducing thumbnail quality below max-first behavior.
- Breaking vertical centering in dropdowns.
- Adding unnecessary control-bar spacing.
- Removing or weakening the magical pulsing green glow.
- Making the editor show only compacted URLs.
- Changing agreed wording or naming conventions without explicit instruction.
15. Next Session Protocol
- Open and read this requirements file first.
- Treat it as the canonical checklist.
- Do not restyle anything casually.
- Fix bugs narrowly and verify against these rules before handing back a file.
- If something cannot be verified, say so plainly instead of guessing.