aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/005-field-connections.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/design/005-field-connections.md
parentd34f9426d5317a1948f12f229439946728bc342a (diff)
downloadpure-b1ce1927022d374198441afafeb27199fc8a052a.tar.gz
pure-b1ce1927022d374198441afafeb27199fc8a052a.zip
Establish native micro runtime checkpoint
Diffstat (limited to 'docs/design/005-field-connections.md')
-rw-r--r--docs/design/005-field-connections.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/design/005-field-connections.md b/docs/design/005-field-connections.md
new file mode 100644
index 0000000..0993567
--- /dev/null
+++ b/docs/design/005-field-connections.md
@@ -0,0 +1,28 @@
+# 필드와 실제 입력 값으로 정하는 연결
+
+2026-09-23 착수 기준:
+
+- 바꿀 결정: 작성자가 바이트 위치를 직접 관리하지 않고 필드의 배치·접근과 데이터에 따른 범위를 준비한다.
+- 남은 질문: 이름·타입을 붙인 뒤에도 입력을 객체로 재구성하지 않고 실제 요청 값으로 저장·응답을 선택할 수 있는가?
+- 최소 확인: 문서와 선택 시작·길이를 받는 실제 요청에서 선택한 내용을 저장·응답한다. 잘린 입력·잘못된 범위는 저장 전에 거절한다.
+- 중단 기준: 이 경로가 검증되면 새 범용 직렬화 형식·타입 VM·동적 그래프 실행기로 범위를 늘리지 않는다.
+
+`layout`은 경계의 바이트 배치 선언이다. 저장소 스키마나 Pure 전체의 RAM 객체 모델이 아니다.
+첫 필드 종류는 `u32le`, 고정 `bytes[N]`, 마지막 가변 길이 `bytes`다. 패딩 없이 선언 순서로
+배치하며 숫자는 명시한 바이트 순서로 읽는다. 기존 바이트 경로에는 선언을 강제하지 않는다.
+
+`view(Layout, source)`는 복사·할당 없이 타입이 있는 참조를 준비한다. 필드는 이름으로 선택한다.
+고정 필드는 지정한 폭을 요구하며 마지막 bytes는 나머지 구간이다. 고정 필드만 있는 선언은
+접두부를 해석하고 여분의 바이트를 무시한다. 필드 의미·텍스트 인코딩·버전 변환까지 보장하지 않는다.
+
+`range`는 상수 또는 `u32le` 필드를 시작·길이로 사용한다. 상수만 필요한 연결은 기존처럼
+준비 단계에서 합친다. 실제 입력 값에 의존하는 범위만 요청 시 계산하며, 별칭은 실행 단계를
+추가하지 않는다. 쓰지 않는 동적 범위도 검사해 오류를 보존한다. 모든 검사가 저장 효과보다 앞선다.
+
+첫 동적 범위는 PUT 입력에 한정한다. GET의 이름 기반 고정 필드·나머지 구간 선택은 가능하나
+파일 내용의 숫자로 결정하는 동적 GET은 시작 시 거절한다. 후자는 같은 파일 버전에서 필요한
+숫자와 본문을 읽는 접근 계획이 추가로 필요하며, 전체 매핑으로 조용히 대체하지 않는다.
+
+배치 선언은 최대 4개, 선언당 필드는 16개, 입력 값에 의존하는 범위는 8단계로 제한한다.
+가변 필드 뒤의 필드·중첩 배치·동적으로 선택한 바이트 위의 새 배치 해석은 아직 지원하지 않는다.
+소비 완료까지 원본의 수명을 유지하며 입력의 일부만 선택해도 수신 할당 전체를 계상한다.