워드 입력셀상태기계 — 셀코어 연결층
개요
크라우니워드 입력 파이프라인(키입력→한글조합/영문입력/선택/드래그/명령팔레트)을
셀코어 상태기계(상태기계생성/이행추가/상태기계틱)로 모델링한 순수 한선씨 모듈.
무엇을 했는지
- 파일:
/Users/ef/crowny-word/연결/입력셀상태기계.한선(완전 한선씨, 셀코어 API 사용) - 상태 6종: 대기·한글조합·영문입력·선택확장·드래그·명령팔레트
- 셀 슬롯 설계: s0=마지막키(raw) s1=키종류(자모/영문/숫자/화살표/기능/확정) s2=쉬프트(0/1)
- 이행 13개 설치(
이행표설치) — 자모↔확정 진출입, 영문↔확정, 쉬프트(s2)↔선택확장, 드래그/드래그끝, 팔레트/확정 키종류판정(키): 두벌식 자모키 테이블(rRseEfaqQtTdwWczxvg) + 기능키/화살표키 판별 헬퍼입력틱(sm,db,셀id,키): 키셀갱신 후 상태기계틱 실행, 새 상태 문자열 반환시퀀스재생(sm,db,셀id,"키1 키2 ..."): 공백분리 키 순차 틱 → 최종 상태이행검증(sm): 시작상태 제외 모든 상태가 어떤 이행의 "끝"으로 등장하는지 검사 (도달가능성)- 자체시험 24 assert 전부 PASS (
검사: PASS 24/24)
실측 확인 사항 (재사용 가능한 지식)
- 맵(
맵생성/맵넣어)은 참조/핸들 타입 — 함수 내부에서 재대입 없이맵넣어(m,...)만 호출해도
.한선로 실측 확인). 기존 코드의
db = 셀씀(db,...) 재대입 관행은 안전을 위한 관습이지 필수는 아님.
함수()[0]즉시 인덱싱은 컴파일 에러() 기대, '[' 발견) — 반드시 임시변수로 받은 뒤 인덱싱.상태기계틱은 한 틱에 전이 1개만 실행(체이닝 없음) — 예: 선택확장 상태에서 쉬프트 해제 키가
크라우니코드
lookup/search HIT 2건(MISS 0, 기존 상태기계 패턴 재사용: fn_셀코어_상태기계생성/이행추가/틱/현재) /
LLM 생성 = 본 파일 전체(신규 도메인 로직) / learn 추가 4건 (워드입력_상태기계생성,
워드입력_키종류판정, 워드입력_입력틱, 워드입력_이행검증)
관련 파일
/Users/ef/crowny-word/연결/입력셀상태기계.한선(신규, 이번 작업 산출물)/Users/ef/CrownyOS/crownyc/apps/도구연결판정.한선(셀코어 API 사용 패턴 참조)/Users/ef/CrownyOS/crownyc/libs/셀코어.한선(상태기계생성/이행추가/상태기계틱/상태기계현재 정의)
잔여 이슈
키종류판정의 두벌식 자모 테이블은 지시받은 리터럴rRseEfaqQtTdwWczxvg19자 그대로 사용
- 도구/ 65파일(1635함수)은 읽기 전용 스캔만 했고 수정하지 않음 — 이 상태기계와 실제 편집기
도구/ 함수들) 배선은 다음 단계 과제.