fix(B07): 잠금 도면층을 집던 경로 다섯 곳을 마저 닫는다

앞선 감사가 불완전했다. 같은 부류로 도각·원지반을 건드리던 곳이 더 있었다.

- select-tool.helpers pickEntityAt: 클릭 선택 후보에 잠금 객체가 섞여
  도각을 물면 아무 일도 안 일어나는 죽은 클릭이 됐다.
- eraser-tool: 자르기의 교차점 계산이 도각 선을 절단 경계로 썼다.
- property-tools OVERKILL: 선택이 없으면 전체가 대상이라 도각까지 지웠다.
- text-tools 찾기/바꾸기: 도각 표제란 글자를 바꿔 버렸다.
- selection-tools 유형/유사 선택: 잠금 객체까지 세어 토스트 개수가 틀렸다.

전부 getPickableEntities()로 바꾼다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-31 15:48:08 +09:00
co-authored by Claude Opus 5
parent 008b0ede14
commit 9bf6de9b10
5 changed files with 27 additions and 11 deletions
@@ -5,7 +5,13 @@ import { getAnnotationScale } from '../../commands/dim-settings';
import { EntityName } from '../../entities/Entity';
import type { Entity } from '../../entities/Entity';
import type { TextEntity } from '../../entities/TextEntity';
import { addEntities, getActiveTextStyle, getEntities, setEntities } from '../../state';
import {
addEntities,
getActiveTextStyle,
getEntities,
getPickableEntities,
setEntities,
} from '../../state';
import { Tool } from '../../tools';
import { textEntity } from '../factories/entity-factory';
import { createSequenceTool } from '../factories/sequence-tool';
@@ -80,14 +86,18 @@ export const findToolStateMachine = createSequenceTool({
helpers: false,
steps: [
{ kind: 'text', instructions: '찾을 문자열을 입력하십시오.' },
{ kind: 'text', instructions: '바꿀 문자열을 입력하십시오 (그대로 두려면 ENTER).', defaultValue: '' },
{
kind: 'text',
instructions: '바꿀 문자열을 입력하십시오 (그대로 두려면 ENTER).',
defaultValue: '',
},
],
commit: (input) => {
const needle = input.text(0);
const replacement = input.text(1);
let found = 0;
let replaced = 0;
for (const entity of getEntities()) {
for (const entity of getPickableEntities()) {
if (entity.getType() !== EntityName.Text) continue;
const text = entity as TextEntity;
if (!text.getLabel().includes(needle)) continue;