MyAnythingList Canonical English Docs
Freshness: 2026-03-17 v15 • Standard navigation header/footer • Every document should reveal freshness immediately at the very top and bottom.

Requirements

requirements_en.html

This document defines the canonical behavioral requirements for the MyAnythingList and MyAnythingGrid system. It is intended to be detailed enough that a future human or AI contributor can reconstruct the system without relying on chat history, private notes, or undocumented assumptions.

If any statement in future drafts conflicts with a newer confirmed requirement, the conflicting statement must be removed or rewritten. The goal is a living specification that supports lossless insertion of new information without preserving contradictions.

1. Core Non-Negotiable Premise

MyAnythingList converts any UTF-8 free-form text document into a valid URL playlist by extracting recognized URLs wherever they appear in the text.

This free-form parsing model is a foundational invariant of the project and must never be silently regressed into a stricter “one URL per line” design.

2. URL Extraction Requirements

The parser scans input text and extracts valid URLs in order of discovery. That order defines the playlist order unless later behavior explicitly changes it.

Example:

Today's research and media notes:

Watch this:
https://youtube.com/watch?v=ABC123

Then compare with:
https://example.org/article

Reminder: translate this later.

3. Comment and Command Rules

3.1 Comment Rule

Lines beginning with # are treated as comments and ignored by default.

3.2 Command Rule

A comment line may also contain a recognized command using the form:

#_CommandName(...)

These commands are not ordinary comments. They are part of the playlist language and must be parsed intentionally.

3.3 Command Context Rule

Unless the command explicitly defines standalone content, a command applies to the most recent URL above it.

https://example.com/page-a
#_ReplaceThumbnailWithImage("https://example.com/image-a.jpg")

https://example.com/page-b
#_ReplaceThumbnailWithImage("https://example.com/image-b.jpg")

4. Supported and Planned Command Behavior

4.1 Replace Thumbnail With Image

#_ReplaceThumbnailWithImage("https://example.com/image.jpg")

4.2 Load Image

#_LoadImage("https://example.com/image.jpg")

4.3 Load Image Show Links

#_LoadImageShowLinks("https://example.com/image.jpg")

4.4 Load Image Hide Links

#_LoadImageHideLinks("https://example.com/image.jpg")

5. Thumbnail Requirements

Tiles may obtain thumbnails from several sources.

Priority Thumbnail Source Requirement
1 Command-defined thumbnail Highest priority when explicitly set by playlist command.
2 Uploaded thumbnail Applies to the intended tile only and must target the true thumbnail layer.
3 Platform-derived thumbnail Used when available from services such as YouTube.
4 Generic fallback Used when no specific image exists.

6. QR Code Requirements

7. Tile Layering Requirements

The visual stack of a normal tile should remain logically separated.

Thumbnail or image layer
→ QR overlay
→ type pill
→ URL text / footer metadata

8. Control Interface Startup Requirements

Runtime startup behavior is determined through the startup configuration object and compatible GET variables.

Important variables include:

ShowControls ShowGear AutoHideGear Required Result
true true false Controls visible on startup. Gear visible because it is the way to close the controls.
false true true Controls hidden on startup. Gear available and may auto-hide until needed.
false true false Controls hidden on startup. Gear visible and persistent.
false false any No visible control entry point. State can only be changed by source or GET parameters.

9. Startup Configuration Requirements

The startup architecture separates runtime/state values from branding/template values.

10. Playlist Editor Requirements

11. Remote Playlist Loading Requirements

12. Output, Export, and Print Requirements

13. Documentation Requirements

The canonical English documents are intended to become the stable source for translation into the most-used world languages and should therefore prioritize clarity and completeness over brevity.

14. Deployment and Hosting Requirements

15. Final Requirement

MyAnythingList must remain a flexible, transparent, multilingual, human-friendly system for turning ordinary text into useful media navigation surfaces. Any future development that quietly narrows this flexibility should be treated as a regression unless that change has been explicitly justified and documented.

v09 Delta — View Scaling, Safe Area, and Export Guarantees

Updated: 2026-03-12 v09

v10 Delta — Freshness, QR Payload, Export Fidelity, and View Rules

v14 Delta — Educational Mission, Transparency, and Misuse Resistance

MyAnythingList is a public educational system intended to help ethical, curious, and globally diverse people learn how information can be structured, inspected, rendered, and shared. The project should favor transparency, inspectability, multilingual access, and source-aware communication over black-box presentation.

Updated: 2026-03-17 v15

v15 Delta — Canonical Export Fidelity, Text-Only Mastering, and Contributor Independence

Promoted from the 2026-03-16 conversation and now part of the canonical requirements.

The following rules are non-negotiable requirements, not optional implementation suggestions. They exist so future work can continue correctly even if the original author is unavailable.

Export fidelity requirements

Canonical layer order

  1. background layer
  2. thumbnail image or URL text art layer
  3. dedicated QR layer
  4. type pill layer
  5. small URL text layer
  6. footer or optional overlay layer

The QR code is never treated as a background image and must remain on its own layer above imagery or URL art and below the pill and small URL.

Text-only tile requirements

Encoding and source-asset requirements

Canonical rule: future contributors must be able to repeat yesterday’s work today. If a requirement is discussed and confirmed, it belongs in the docs and must be written in enough detail that the original author becomes unnecessary for routine continuation.

v15 Delta — Explicit Failure Conditions

FailureWhy it violates the requirements
Exported thumbnail omits QR while live tile shows QRThe export is no longer WYSIWYG and the dedicated QR layer has not been faithfully preserved.
Export matches layout but is screen-resolution softThe system has substituted a screenshot-like capture for true native-resolution rendering.
Text-art-only export looks blurry at 8KGenerated content has been raster-borrowed from display pixels instead of rendered natively at export size.
Build starts from an older version and reintroduces fixed regressionsLatest-build discipline has been broken and the project has lost determinism across iterations.
Important behavior lives only in chat or private memoryThe documentation has failed its role as the replicable source of truth.