You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #233: Architecture: Unify curses-java and curses-themes with shared implementation
Scope
Design and define a JSON Schema that captures all theme data needed by both curses-java and curses-themes. This schema becomes the single source of truth for theme definitions.
Tasks
Define JSON Schema covering: theme name/metadata, border characters (flat and 3D), color pairs (foreground/background for all component states), shadow/highlight/lowlight colors, shadow offsets, 3D rendering parameters
Include support for both Theme (flat) and Theme3D (3D borders/shadows) variants
Add validation rules (required fields, allowed color values, character constraints)
Write 2-3 example theme JSON files (e.g., Borland3D, DOS, TRS-80)
Validate examples against schema using a JSON Schema validator
Deliverable
theme-schema.json - The JSON Schema definition
2-3 example .json theme files validated against it
Acceptance Criteria
Schema covers all properties used by both Java and Python implementations
Example themes validate against schema
Schema is versioned (includes a $schema or version field)
Human-readable and extensible for future theme properties
Part of #233: Architecture: Unify curses-java and curses-themes with shared implementation
Scope
Design and define a JSON Schema that captures all theme data needed by both curses-java and curses-themes. This schema becomes the single source of truth for theme definitions.
Tasks
Theme(flat) andTheme3D(3D borders/shadows) variantsDeliverable
theme-schema.json- The JSON Schema definition.jsontheme files validated against itAcceptance Criteria
$schemaorversionfield)