aboutsummaryrefslogtreecommitdiffstats
path: root/docs/research/053-source-loaded-native-terminal-editor.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-24 17:14:54 +0100
committereunhhu <[email protected]>2026-09-24 17:14:54 +0100
commitb1ce1927022d374198441afafeb27199fc8a052a (patch)
tree6021f175f4c67ed03b44240eaa2f90d846f12f6f /docs/research/053-source-loaded-native-terminal-editor.md
parentd34f9426d5317a1948f12f229439946728bc342a (diff)
downloadpure-b1ce1927022d374198441afafeb27199fc8a052a.tar.gz
pure-b1ce1927022d374198441afafeb27199fc8a052a.zip
Establish native micro runtime checkpoint
Diffstat (limited to 'docs/research/053-source-loaded-native-terminal-editor.md')
-rw-r--r--docs/research/053-source-loaded-native-terminal-editor.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/docs/research/053-source-loaded-native-terminal-editor.md b/docs/research/053-source-loaded-native-terminal-editor.md
new file mode 100644
index 0000000..b57dd79
--- /dev/null
+++ b/docs/research/053-source-loaded-native-terminal-editor.md
@@ -0,0 +1,40 @@
+# 053 — 같은 문서 앱의 소스 정의를 읽는 네이티브 TUI
+
+기존 저메모리 TUI는 빌드 시 고정된 `editor.pure`만 실행했다. 정의를 바꿔
+실제로 써 보려면 소스 CLI 또는 큰 GTK 작성 창으로 옮겨야 했다. 선택형
+`source-tui`는 기존 터미널 편집기·저장 어댑터·실행 코어를 그대로 사용하며,
+시작할 때 `--program FILE`로 `.pure`를 준비한다. CLI·TUI가 같은 정의와
+저장 문서·버전을 사용한다. 파일을 고친 뒤 **새 TUI 세션**을 열어야 바뀐
+정의가 적용된다. TUI 안에서 `.pure` 텍스트를 작성하거나 실행 중 정의를
+교체하는 기능은 아니다.
+
+이 TUI가 지원하는 정의에는 전체 문서 읽기와 서로 다른 두 u32le splice
+필드, 뒤따르는 삽입 바이트가 필요하다. 맞지 않는 정의는 터미널 모드나
+저장소를 변경하기 전에 거절한다. [실제 PTY 검사](../../prototypes/connections/results/2026-09-24-source-tui/tui.json)에서는
+필드 순서를 바꾼 새 `.pure`를 읽어 두 번째 편집의 바이트 범위를 올바르게
+인코딩했다. 일반 정의에서는 한글·여러 행·탭·충돌 시 초안·크기 변경·
+1 MiB 편집·1,024개 저장 문서 탐색과 터미널 복구를 재검증했다.
+
+| Linux AArch64 / GCC 14 | 고정 TUI | 소스 TUI |
+|---|---:|---:|
+| 링크된 `text` | [31,999 B](../../prototypes/connections/results/2026-09-24-source-tui/fixed-tui-profile.json) | [48,604 B](../../prototypes/connections/results/2026-09-24-source-tui/tui-profile.json) |
+| CLI+TUI 압축 묶음 | [31,929 B](../../prototypes/connections/results/2026-09-24-source-tui/fixed-cli-tui.tar.gz) | [50,942 B](../../prototypes/connections/results/2026-09-24-source-tui/source-cli-tui.tar.gz) |
+| 실행 중 `.pure` 파서 | 없음 | 있음 |
+
+소스 TUI의 실제 PTY 1 MiB 작업 피크 RSS는 이번 반복에서 3,216~3,664 KiB로
+기존 4,096 KiB 상한 안에 있었다. RSS는 실행마다 변동하므로 두 TUI의
+메모리 우열로 해석하지 않는다. [기본 실행 코어](../../prototypes/connections/results/2026-09-24-source-tui/core.json)의 5,908 B 코드 섹션과
+128 B 영역 구조체는 그대로이며, 소스 파서는 선택한 TUI 실행물에만 포함된다.
+
+[소스 CLI+TUI 묶음 검증](../../prototypes/connections/results/2026-09-24-source-tui/source-cli-tui-check.json)은
+다른 경로에 풀어 CLI의 수정된 `.pure` 응답과 TUI의 실제 PTY 문서 작업을
+확인했다. [고정 CLI+TUI 묶음](../../prototypes/connections/results/2026-09-24-source-tui/fixed-cli-tui-check.json)도
+별도로 이동 후 확인했다. 현재 162개 파일의 [소스 개발 묶음](../../prototypes/connections/results/2026-09-24-source-tui/pure-source-preview.tar.gz)은
+318,619 B이고, [깨끗한 디렉터리 검증](../../prototypes/connections/results/2026-09-24-source-tui/source-check.json)에서
+C 테스트·릴리스 검사·소스 TUI PTY 작업을 통과했다. 독립 재생성 해시도
+`6134ff966d09c76134b921008d16b828a349b7031bdf029379de6eea9e745eaa`로 일치했다.
+
+이 결과는 Linux AArch64의 문서 앱과 호환되는 `.pure` 정의에 한정된다.
+macOS의 터미널·입력기·파일 저장은 검증하지 못했다. 소스 TUI의 편집 경험은
+범용 UI 작성기나 실시간 정의 교체를 대신하지 않으며, 소스 묶음의 크기도
+런타임 상주 메모리를 뜻하지 않는다.