Files
Gnuboard7/templates/_bundled/gnuboard7-hello_user_template/docs/editor-spec.md
T
HeuJung 3a0aba85bc feat(core,extensions): 확장 문서 호칭 통일과 레이아웃 편집기 문서 축 신설
확장 문서의 제품 호칭을 「그누보드7」로 통일했다. 가 지적한 두 문구는
개별 오타가 아니라 생성기가 찍는 정형 문구여서, 산출물이 아니라 방출 지점
세 곳을 먼저 고쳤다 — 그러지 않으면 21번째 확장부터 다시 샌다. 정리 범위는
확장 문서와 그 생성기까지이며, 코어 docs 와 언어팩 표시명은 의도적으로 남긴다.

레이아웃 편집기 대응 문서가 없던 문제는 확장마다 docs/editor-spec.md 를
두어 닫았다. 실측은 EditorSpecCollector 가 유지하며, 합본에 런타임과 같은
EditorSpecAssembler 를 써서 문서가 말하는 스펙과 편집기가 읽는 스펙이
갈라질 경로를 두지 않았다. 스펙을 두지 않은 확장에도 문서를 둔다 — 미보유가
정상일 수 있고, 그 정상 여부를 적을 자리가 없으면 다음 사람이 부재를 누락으로
오해하거나 필요한 시점을 놓친다.

초안이 낸 수치 다섯 건이 틀렸고 전부 오류 없이 "사실" 로 실릴 값이었다.
블록 최상위 키를 세어 팔레트가 79 대신 3 이 되던 것, `_` 접두 일괄 배제가
실제 항목을 삼키던 것 등을 정정했다.

게이트를 인위적으로 깨뜨려 점검한 결과 사각 하나가 드러났다 — 채워 넣으라는
표시만 지우고 서술을 쓰지 않으면 검사를 통과해, 빈 문서가 완비로 집계됐다.
미채움을 두 축으로 만들어 닫았고 되돌림으로 검산했다. 편집기 스펙 편집 시
규정이 주입되지 않던 것과 스캐폴딩 안내가 새 문서를 빠뜨리던 것도 함께 고쳤다.
2026-09-01 12:02:55 +09:00

4.5 KiB

Hello 사용자 템플릿 — 레이아웃 편집기 스펙

레이아웃 편집기에 선언한 팔레트·컨트롤·샘플 데이터 · 진입점: AGENTS.md

선언 요약

이 확장은 편집기 스펙(editor-spec.json)을 두지 않습니다. 편집기는 코어 기본 팔레트와 활성 템플릿의 스펙만으로 이 확장의 화면을 다룹니다.

학습용 사용자 템플릿이라 편집기 스펙을 두지 않았습니다. 실제 사용자 템플릿이 무엇을 선언하는지는 sirsoft-basic 의 같은 문서를 봅니다 — 팔레트 45 · 상태 범위 17 이 그 규모입니다.

선언 블록

선언된 편집기 스펙 블록이 없습니다.

선언한 블록이 없습니다. 팔레트·중첩을 선언하지 않았으므로 이 템플릿을 활성화한 상태에서는 편집기가 놓을 수 있는 컴포넌트가 없습니다.

컴포넌트 팔레트

이 확장은 편집기 팔레트에 항목을 추가하지 않습니다.

컴포넌트를 만드는 것은 템플릿의 일이므로, 이 확장이 팔레트에 얹을 것은 원래 없습니다. 편집기 팔레트는 활성 템플릿의 스펙이 정합니다 — 이 확장에 편집기 스펙이 생기더라도 componentPalette 는 여전히 비어 있을 것입니다.

샘플 데이터와 페이지 상태

이 확장은 편집기 스펙을 두지 않아 선언된 샘플 데이터·페이지 상태가 없습니다.

프리뷰 샘플이 없는 data_source 1개 — 편집기 캔버스에서 이 자리만 빈 화면이 됩니다. 실제 화면은 정상이라 오류도 경고도 남지 않습니다.

memos

memos 가 미커버입니다. 이 템플릿은 gnuboard7-hello_module 의 메모 목록을 화면에 그리는데, 그 데이터의 프리뷰 샘플을 어느 쪽도 선언하지 않았기 때문입니다.

이 한 건이 모듈과 템플릿의 역할 분담을 그대로 보여 줍니다 — 데이터를 주는 것은 모듈이고 그리는 것은 템플릿이라, 샘플을 어느 쪽에 둘지 판단이 필요합니다. memos 를 이 템플릿만 쓴다면 템플릿 스펙에, 여러 템플릿이 쓴다면 모듈 스펙에 둡니다.

수정 시 동반 의무

이 확장은 아직 편집기 스펙을 두지 않습니다. 아래 변경이 생기면 editor-spec.json 을 신설합니다.

이런 변경을 했다면 편집기 스펙에서 함께 할 일
컴포넌트를 새로 만들었다 componentPalette 에 항목 추가 · componentCapabilities 에 편집 역량 선언 · nesting 에 담길 자리 규정
레이아웃에 data_sources 를 추가했다 sampleData 에 같은 ID 로 프리뷰 응답 추가 (없으면 편집기 캔버스만 빈 화면)
_global.* 을 새로 읽는다 sampleGlobal 에 baseline 값 추가
빈 목록·오류 같은 화면 변종을 추가했다 states 에 변종 추가 · stateLabels 에 친화 명칭
새 액션·조건 패턴을 도입했다 actionRecipes / conditionRecipes 에 친화 명칭 등록

이 템플릿을 실제 사용 템플릿으로 발전시킨다면 편집기 스펙 신설이 필요합니다. 템플릿 스펙은 컴포넌트 어휘(팔레트·중첩·역량·컨트롤)를 담고, 거기에 이 템플릿이 그리는 화면의 sampleData 를 더합니다.

신설 순서는 componentPalette → nesting → componentCapabilities → controls 입니다. sirsoft-basic/editor-spec/ 의 13개 블록 파일이 완성된 형태의 선례입니다.