diff options
| author | eunhhu <[email protected]> | 2026-09-25 09:49:49 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-25 09:49:49 +0100 |
| commit | 417f702a959b19d270c6812fa9ccd100d7ecc3a9 (patch) | |
| tree | ff5506c38e88f84a85cf43ac9b3bfe1a0a97ba1f | |
| download | vega-417f702a959b19d270c6812fa9ccd100d7ecc3a9.tar.gz vega-417f702a959b19d270c6812fa9ccd100d7ecc3a9.zip | |
Charter Vega as the interface implementer
Vega turns interface specifications and data presentation (cursoring,
coloring, lists, tables) into TUI, CLI, GUI and NUI surfaces on Pure. It waits
for the language and toolchain that target Pure; this commit records its
place, scope, principles and open questions only.
| -rw-r--r-- | README.md | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5b13b2 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Vega + +Vega는 **인터페이스 구현자**다. 사용자가 보는 인터페이스의 규격과 고도화된 명세를 기반으로 +TUI, CLI, GUI, NUI를 쉽게 만들 수 있게 하는 API·도구·SDK다. + +상태: 저장소와 헌장만 있다. 구현은 아직 없다. + +## 위치 + +| 층 | 역할 | 비유 | +|---|---|---| +| [Pure](/srv/git/pure.git) | 런타임. 실행, 메모리와 소유권, 영속 상태, 통신 | JVM | +| 언어·툴체인 (이름 미정) | Pure가 실행하는 앱 정의를 작성·검사·빌드 | Java·javac | +| **Vega** | 데이터 표현과 인터페이스 명세로 TUI/CLI/GUI/NUI를 구현 | UI SDK | + +Vega는 언어·툴체인 위에서 작성하고 그 규격을 따른다. 그래서 언어·툴체인 v0을 먼저 만든다(2026-09-25 합의). + +## 다루는 것 + +- **데이터 표현.** 커서링(현재 위치·선택·이동), 컬러링(의미에 따른 색·강조), 리스트, 테이블부터 시작한다. +- **명세에서 표면으로.** 인터페이스를 특정 표면의 위젯이 아니라 명세로 기술하고, 각 표면이 그것을 구현한다. +- **표면.** CLI(비대화형 출력·파이프), TUI(터미널), GUI(창), NUI(음성·대화·제스처 같은 자연 인터페이스). + +## 원칙 + +- **최소 공통 기능에 가두지 않는다.** 표면마다 지원하는 기능을 명시하고, 지원하지 않는 기능을 + 조용히 다른 의미로 바꾸지 않는다. 명세는 공통 의미와 표면별 고도화를 함께 담는다. +- **데이터를 표면마다 다시 만들지 않는다.** 표시할 값은 Pure의 런타임 상태(영속 트리·draft)에서 + 복사 없이 빌려 온다. 큰 표나 문서를 표면별 모델로 복제하지 않는다. +- **갈라파고스를 만들지 않는다.** ANSI 터미널, 셸 파이프, 플랫폼 접근성 API 같은 기존 규격과 + 호환하는 접점을 유지한다. +- **검증 기기는 로컬 Raspberry Pi 5**(Linux AArch64)다. + +## 열린 질문 + +- NUI의 첫 범위(음성인지, 대화형 텍스트인지, 제스처인지). +- 인터페이스 명세가 언어의 일부인지, 언어가 다루는 별도 데이터인지. +- 표면별 고도화(예: GUI의 가상 스크롤, TUI의 셀 단위 갱신)를 명세의 어디에 둘지. |
