Skip to content

[v3] Platform-Specific Size Profiles #654

@GarthDB

Description

@GarthDB

Overview

Extend size profiles to support platform-specific variations, preparing for RFC #624 multi-platform architecture.

Context

RFC #624 proposes hierarchical token architecture: Foundation → Platform → Product. Component schemas should support platform-specific profiles and overrides.

Goals

  1. Platform-specific size profiles
  2. Platform-specific anatomy parts
  3. Override mechanisms
  4. Inheritance model

Tasks

  • Extend size profile schema

    • Add platform field (web, ios, android, desktop)
    • Support platform-specific overrides
    • Define inheritance rules (foundation → platform)
    • Version platform profiles independently
  • Update component schema

    • Support platform-specific tokenNaming
    • Platform-specific anatomy arrays
    • Platform-specific property mappings
    • Fallback to foundation if platform not specified
  • Build platform selector UI

    • Toggle between platforms in tool
    • Show platform-specific vs shared values
    • Highlight overrides
    • Compare platforms side-by-side
  • Add platform validation

    • Validate platform-specific profiles exist
    • Check inheritance chain
    • Warn about divergence from foundation
    • Suggest consolidation opportunities
  • Add platform migration tools

    • Convert existing profiles to multi-platform
    • Split shared profiles into foundation + platform
    • Bulk apply platform-specific overrides
  • Document platform patterns

    • When to use platform-specific profiles
    • How to override foundation values
    • Platform naming conventions
    • Examples for each platform

Success Criteria

  • Size profiles support 4 platforms (web, iOS, Android, desktop)
  • Tool can display and edit platform-specific values
  • Foundation profiles reused across platforms
  • Clear documentation for platform extensibility

Dependencies

Estimated Effort

3-4 weeks

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions