From d5c5ed788888423e7d1e7552a7dc6a59af97de36 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Fri, 25 Sep 2026 12:58:38 +0100 Subject: Allow 32 inputs per module A text editor needs more keys than the workbench-era limit of 8: typing, four arrows, Backspace, Delete, Home, End and a mark already make 10. Event numbers stay 1 + 2i and 2 + 2i; the module grows by the input name tables. --- docs/design/008-module-format.md | 2 +- prototypes/connections/module.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/design/008-module-format.md b/docs/design/008-module-format.md index 4286ceb..684f5f7 100644 --- a/docs/design/008-module-format.md +++ b/docs/design/008-module-format.md @@ -81,7 +81,7 @@ v3은 **text 상태와 커서**, text 상수, text 입력, text 보기를 더한 ## 로드할 때 검증하는 것 -- 머리말, 예약 바이트, 명령 패딩이 0인지. 한도(상태 32, 입력 8, 보기 24, 핸들러 64, 명령 512, +- 머리말, 예약 바이트, 명령 패딩이 0인지. 한도(상태 32, 입력 32, 보기 24, 핸들러 64, 명령 512, 필드 32, 컬렉션 1, 문자열 32 KiB)와 정확한 파일 크기. - 이름은 ASCII 식별자 1–31바이트이고, 상태·컬렉션·입력·보기가 한 이름공간을 쓴다. 필드 이름은 메시지 안에서 유일하다. 키 입력의 키는 정해진 목록(`Space Enter` 화살표 `Backspace Delete Home End Tab Escape PageUp PageDown KeyA–Z Digit0–9`) diff --git a/prototypes/connections/module.h b/prototypes/connections/module.h index e66f6dd..c728fa8 100644 --- a/prototypes/connections/module.h +++ b/prototypes/connections/module.h @@ -12,7 +12,7 @@ * operand types (including which text a cursor belongs to), stack heights, * forward-only branches, names, constants and effects. */ enum { - PURE_MODULE_STATES = 32, PURE_MODULE_INPUTS = 8, PURE_MODULE_VIEWS = 24, + PURE_MODULE_STATES = 32, PURE_MODULE_INPUTS = 32, PURE_MODULE_VIEWS = 24, PURE_MODULE_HANDLERS = 64, PURE_MODULE_CODE = 512, PURE_MODULE_STACK = 64, PURE_MODULE_NAME = 32, PURE_MODULE_STRINGS = 32768, PURE_MODULE_HEADER = 40, PURE_MODULE_FIELDS = 32, PURE_MODULE_COLLECTIONS = 1, PURE_MODULE_CONSTANTS = 64, -- cgit v1.2.3