Commit Graph

3 Commits

Author SHA1 Message Date
Bernt 2e62e5fb80 docs: Glossary + Sanity Review + Normative Words
- GLOSSARY.md (v1.0, LOCKED):
  - Normative words: MUST, MUST NOT, SHOULD, SHOULD NOT, MAY (RFC 2119)
  - Core concepts: Component, Variant, State, Token, Primitive/Semantic/Component
  - Layout: Page, View, Screen, Panel, Module, Overlay, Drawer, Modal, Dialog, Sheet
  - Visual: Layer, Elevation, Surface, Backdrop
  - Interaction: Focus, Hover, Active, Disabled, Loading
  - Tokens: Brand, Semantic, Status, Neutral
  - Governance: Constitution, Doctrine, Specification, DDR

- Sanity Review completed:
  1. Terminology: Component (not Widget/Control), Token (not Variable),
     Panel (consistent usage)
  2. Normative words: Normalized MUST/MUST NOT/SHOULD/MAY across all docs
  3. Naming: surface-primary, text-secondary, border-default (consistent)
  4. Document hierarchy: correct upward references
  5. Acceptance Criteria: consistent template (Button as reference)

- TOKEN_PHILOSOPHY.md: Replaced informal rules with RFC 2119 normative words
- DESIGN_SPECIFICATION.md: Replaced Rule: with MUST/MUST NOT
- ANTI_PATTERNS.md: Replaced Rule:/Forbidden: with MUST/MUST NOT

Rationale: Reproducible sanity checklist. Common language prevents
misunderstandings. Normative words make requirements unambiguous.
2026-07-02 09:02:41 +00:00
Bernt 48236658e8 docs: Information-level typography + semantic colors + AI anti-patterns
- Typography v1 (chapter 3):
  - Restructured from heading levels (H1-H6) to information levels
  - Display, Section Title, Panel Title, Data Heading, Body, UI Label,
    Metadata, Caption, Code/Numeric
  - Each with: token, weight, usage, frequency
  - Accessibility mapping to HTML heading elements
  - Rationale: enterprise users scan for information, not headings

- Color System (chapter 4):
  - Semantic Foundation: split into Neutral Semantic and Status Semantic
  - Status tokens: success/warning/danger/info with surface/border/text
  - Brand Palette rule: brand != status, never mix identity and meaning
  - Map Layer Palette: restructured by layer (Base Surface, Terrain,
    Water, Road Network, etc.)

- DESIGN_ANTI_PATTERNS.md:
  - Restructured into 5 categories: visual, code, interaction, content,
    AI-specific
  - AI anti-patterns: AP-017 to AP-021 (inheritance check, hardcoded
    values, token lifecycle, multiple icon libraries, document hierarchy)
  - Total: 21 anti-patterns

Rationale: Function-based typography maps to mental models. Semantic
status colors prevent brand/status confusion. Layer-based map palette
enables theme swapping.
2026-07-02 08:49:28 +00:00
Bernt 22be1efcd4 docs: Typography v1 + Foundation Colors + Anti-Patterns
- LANDVEX_DESIGN_SPECIFICATION.md:
  - Typography v1 (chapter 3): Inter + JetBrains Mono, type scale,
    heading hierarchy, line height rules, letter spacing, max line length,
    tabular figures, numerical typography
  - Foundation Colors (chapter 4.1): 12-step neutral palette (neutral-0 to neutral-1000)
  - Semantic Colors (chapter 4.2): surface, text, border mappings
  - Brand Palette (chapter 4.3): placeholder for brand colors
  - Semantic Status Colors (chapter 4.4): green, yellow, red, blue
  - Map Layer Palette (chapter 4.6): dedicated geospatial palette
  - Updated primitive references from gray-* to neutral-*

- DESIGN_ANTI_PATTERNS.md (v1.0, LOCKED):
  - 19 anti-patterns across 5 categories: visual, technical, interaction,
    content, AI-specific
  - Each with: forbidden description, rationale, alternative
  - AI-specific rules: no hardcoded values, no invented components,
    no skipping token lifecycle

Rationale: Typography before colors (harder to change). Neutral palette
before brand (90% of surface area). Anti-patterns prevent recurring
mistakes and guide AI agents.
2026-07-02 08:42:55 +00:00