/** 홈 탭 — 도면층 패널 명령 (조사표 3절) */ import type { CadCommand } from './command.types'; import { Tool } from '../tools'; import { layerCurrentToolStateMachine, layerDeleteToolStateMachine, layerFreezeToolStateMachine, layerIsolateToolStateMachine, layerLockToolStateMachine, layerMatchToolStateMachine, layerMergeToolStateMachine, layerOffToolStateMachine, layerStateRestoreToolStateMachine, layerStateSaveToolStateMachine, layerToCurrentToolStateMachine, layerUnlockToolStateMachine, openLayerManager, restorePreviousLayers, thawAllLayers, turnAllLayersOn, unisolateLayers, walkLayers, } from '../tools/utility/layer-tools'; export const LAYER_COMMANDS: CadCommand[] = [ { id: 'LAYER', label: '레이어 특성', aliases: ['LA'], glyph: '▤', hint: '레이어를 만들고 이름·표시·잠금을 관리한다', run: openLayerManager, }, { id: 'LAYCURSET', label: '현재 레이어 설정', glyph: '◉', hint: '선택한 객체의 레이어를 현재 레이어로 지정한다', tool: Tool.LAYER_CURRENT, machine: layerCurrentToolStateMachine, }, { id: 'LAYOFF', label: '레이어 끄기', glyph: '◐', hint: '선택 객체가 속한 레이어를 숨긴다', tool: Tool.LAYOFF, machine: layerOffToolStateMachine, }, { id: 'LAYON', label: '모두 켜기', glyph: '◉', hint: '모든 레이어를 표시한다', run: turnAllLayersOn, }, { id: 'LAYFRZ', label: '동결', glyph: '❄', hint: '레이어를 표시·재생성 대상에서 뺀다', tool: Tool.LAYFRZ, machine: layerFreezeToolStateMachine, }, { id: 'LAYTHW', label: '동결 해제', glyph: '☀', hint: '모든 레이어의 동결을 푼다', run: thawAllLayers, }, { id: 'LAYLCK', label: '잠금', glyph: '🔒', hint: '레이어 객체를 편집할 수 없게 한다', tool: Tool.LAYLCK, machine: layerLockToolStateMachine, }, { id: 'LAYULK', label: '잠금 해제', glyph: '🔓', hint: '레이어 잠금을 푼다', tool: Tool.LAYULK, machine: layerUnlockToolStateMachine, }, { id: 'LAYISO', label: '분리', glyph: '◫', hint: '선택 객체의 레이어만 남기고 나머지를 숨긴다', tool: Tool.LAYISO, machine: layerIsolateToolStateMachine, }, { id: 'LAYUNISO', label: '분리 해제', glyph: '◻', hint: '레이어 분리 이전 상태로 되돌린다', run: unisolateLayers, }, { id: 'LAYERP', label: '이전 상태', glyph: '↺', hint: '직전 레이어 설정으로 되돌린다', run: restorePreviousLayers, }, { id: 'LAYERSTATE', label: '레이어 상태 저장', aliases: ['LAS'], glyph: '💾', hint: '현재 레이어 설정을 이름으로 저장한다', tool: Tool.LAYERSTATE, machine: layerStateSaveToolStateMachine, }, { id: 'LAYERSTATERESTORE', label: '레이어 상태 복원', glyph: '⭯', hint: '저장한 레이어 설정을 되돌린다', tool: Tool.LAYERSTATE_RESTORE, machine: layerStateRestoreToolStateMachine, }, { id: 'LAYMCH', label: '레이어 일치', glyph: '⇄', hint: '선택 객체를 대상 객체의 레이어로 옮긴다', tool: Tool.LAYMCH, machine: layerMatchToolStateMachine, }, { id: 'LAYCUR', label: '현재 레이어로', glyph: '⇥', hint: '선택 객체를 현재 레이어로 옮긴다', tool: Tool.LAYCUR, machine: layerToCurrentToolStateMachine, }, { id: 'LAYMRG', label: '레이어 병합', glyph: '⊎', hint: '한 레이어의 객체를 다른 레이어로 옮기고 원래 레이어를 지운다', tool: Tool.LAYMRG, machine: layerMergeToolStateMachine, }, { id: 'LAYDEL', label: '레이어 삭제', glyph: '🗑', hint: '선택한 레이어와 그 객체를 삭제한다', tool: Tool.LAYDEL, machine: layerDeleteToolStateMachine, }, { id: 'LAYWALK', label: '레이어 탐색', glyph: '👣', hint: '부를 때마다 다음 레이어만 표시한다', run: walkLayers, }, ];