- JSONRenderer(slim=True): null·기본값·빈 attributes 필드 제거
- EmojiMarkupRenderer: CTTree → 이모지 마크업 텍스트 왕복 변환 지원
- title_mark / section_marks 커스터마이징 가능
- names_per_line 옵션으로 줄당 이름 수 제한
- EmojiMarkupParser: 구분자를 생성자 파라미터로 주입 가능
- section_marks 길이 제한 없음 (임의 깊이 섹션 지원)
- 긴 마커 우선 매칭으로 prefix 충돌 방지
- 테스트 39개 추가 (커스텀 구분자·렌더러·slim 검증)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ✅ → root title, 🔹 → SECTION(level=1), 🔸 → SECTION(level=2)
- (카테고리) 이름들 → LIST with category attribute + LIST_ITEM children
- 카테고리 없는 이름 줄은 빈 줄/새 섹션 전까지 동일 LIST로 묶음
- 22개 테스트 추가 (구조, 명단, 엣지케이스)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CTNode에 6개 신규 필드 추가
- header : 머리글 (노드 블록 앞 텍스트)
- footer : 꼬리글 (노드 블록 뒤 텍스트)
- prefix : 접두사 (content 직전 인라인)
- suffix : 접미사 (content 직후 인라인)
- data_type : 값의 자료형 힌트 (DataType enum)
- value : 해석된 값 (Any — str/int/float/bool/list/dict 등)
- types.py: DataType enum 추가 (UNSET, STRING~CODE, CUSTOM)
- node.py: full_text() 메서드 추가 (6개 필드 순서대로 조합)
- tree.py: to_dict / from_dict 직렬화에 신규 필드 포함
- 테스트: test_node_fields.py 신규 추가 (15개 케이스)
- 전체 테스트 42/42 통과