/** 홈 탭 — 도면층 패널 명령 (조사표 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, }, ];