LVRS Storyboard Frame

theme.svx

Path: theme.svx

Last modified:

테마

위치: qml/Theme.qml

Theme는 LVRS QML 부품을 위한 전 세계 디자인 토큰 싱글턴입니다.

토큰 그룹

  • 타이포그래피: 글꼴 모음 해상도 및 텍스트 크기/무게/스타일 이름 토큰.
  • 표면: 창 색상 및 12단계 패널 배경 크기.
  • 의미 색상: primary/accent, success, warning, danger.
  • 강조 팔레트: iconset 파생 색상 토큰 세트(accentPaletteTokens).
  • 측정 항목: 간격, 반경, 컨트롤 크기, 대화 상자 크기 및 상호 작용 타이밍.

창 및 패널 표면

창 기초:

  • window: "#141414"

패널 배경 스케일(어두움, 낮은 채도, 12 단계):

  • panelBackground01: "#1B1B1C"
  • panelBackground02: "#1D1D1D"
  • panelBackground03: "#1F1F20"
  • panelBackground04: "#212223"
  • panelBackground05: "#242525"
  • panelBackground06: "#262728"
  • panelBackground07: "#292A2B"
  • panelBackground08: "#2C2E2F"
  • panelBackground09: "#303232"
  • panelBackground10: "#343536"
  • panelBackground11: "#373A3B"
  • panelBackground12: "#3C3E3F"

파생된 표면 별칭:

  • windowAlt -> panelBackground03
  • subSurface -> panelBackground04
  • surfaceSolid -> panelBackground05
  • surfaceAlt -> panelBackground06
  • surfaceGhost -> panelBackground02

16진수 형식 규칙

  • 불투명 표면 토큰은 6숫자 16진수를 사용합니다.
  • 알파가 필요한 토큰은 8-digit 16진수(예: overlayBackdrop, 텍스트 불투명도 토큰) 그대로 유지됩니다.

아이콘 경로 해상도

Theme.iconPath(iconName)는 논리적 아이콘 이름을 다음으로 확인합니다. qrc:/qt/qml/LVRS/resources/iconset/

규칙:

  • 빈 입력은 빈 문자열을 반환합니다.
  • 전체 리소스 경로(:/)는 있는 그대로 반환됩니다.
  • 생략시 .svg가 추가됩니다.

액센트 팔레트 토큰

2 레이어가 있습니다:

  • 안정적인 의미적 악센트 속성(accentBlue, accentRed, accentGreen 등).
  • 추출된 팔레트 목록: accentPaletteTokens.

accentPaletteTokens 아이템 스키마:

  • { name: string, color: string }

개수는 다음과 같이 사용할 수 있습니다.

  • accentPaletteTokenCount

추출된 팔레트는 resources/iconset/*.svg 채우기/획 색상에서 생성됩니다.

관련 UI 기본값

  • 상황에 맞는 메뉴 색상:
    • contextMenuSurface
    • contextMenuDivider
    • contextMenuItemSelectedBackground
    • contextMenuItemInactiveBackground
  • 대화상자 크기:
    • dialogMinWidth: 280
    • dialogMaxWidth: 360
  • 공통 반경:
    • radiusSm: 4
    • radiusLg: 12

사용법

import LVRS 1.0 as LV

Rectangle {
    color: LV.Theme.window
}

토큰 확장 워크플로우

새 토큰을 추가할 때 다음 순서를 적용하세요.

  1. Theme.qml에 기본 토큰을 추가합니다.
  2. 토큰에 도메인 의미(예: 경고 표면)가 있는 경우 의미 별칭을 추가합니다.
  3. 하드 코딩된 색상 대신 의미 체계 별칭을 사용하도록 구성 요소 기본값을 업데이트합니다.
  4. 가치, 목적, 소비 목표로 문서를 업데이트하세요.

접근성 및 대비 검사

텍스트/표면 조합의 경우 다음을 위해 도구에서 수동으로 대비를 확인합니다.

  • panelBackground* 표면의 title/header 텍스트,
  • 대비가 낮은 표면의 description/caption 텍스트,
  • 흐린 오버레이에서 비활성화된 상태(disabledColor, textOctonary).

모호한 팔레트를 유지하는 아무런 알림 없이보다 의도적인 저대비 예외를 문서화하는 것을 선호합니다.

디자인-시스템 동기화 팁

토큰이 외부 디자인 도구와 동기화되는 경우:

  • 정식 토큰 이름을 안정적으로 유지합니다.
  • 이름 바꾸기를 주요 변경으로 처리합니다.
  • 적어도 한 번의 릴리스 주기 동안 이전 별칭 토큰을 유지하여 지원 중단을 단계화합니다.