횡단설계(B06) 다음을 상세설계 → 수량산출 → 설계도서 순으로 재배열하고, 폴더 번호가 흐름과 일치하도록 이름을 맞바꾼다. - B08_DesignDetail → B07_DesignDetail, B07_Quantity → B08_Quantity (파일 접두어·식별자·라우트·locale 키 전량 스왑) - STAGE_KEYS 4=DESIGN_DETAIL, 5=QUANTITY 스왑 + 라우터 stage 리터럴 교체 - CAD 마운트 /b08-cad → /b07-cad (main.py·vite proxy·iframe URL), openwebcad Toolbar 라벨 B07로 수정 후 재빌드 - 유지: openwebcad postMessage 프로토콜 aislo:b08:*·패키지명(내부 식별자) - 기존 프로젝트 storage 폴더 rename + project_manifest 갱신, DB project_workflow_stages stage_no 4↔5 행 스왑 완료 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import {Point} from '@flatten-js/core';
|
|
import {Actor} from 'xstate';
|
|
import type {ScreenCanvasDrawController} from '../../src/drawControllers/screenCanvas.drawController';
|
|
import {InputController} from '../../src/inputController/input-controller';
|
|
import {setActiveToolActor, setEntities, setInputController, setScreenCanvasDrawController,} from '../../src/state';
|
|
import {Tool} from '../../src/tools';
|
|
import {TOOL_STATE_MACHINES} from '../../src/tools/tool.consts';
|
|
import {ScreenCanvasDrawController as ScreenCanvasDrawControllerMock} from '../mocks/drawControllers/screenCanvas.drawController';
|
|
import {CANVAS_HEIGHT, CANVAS_WIDTH} from './tests.consts';
|
|
|
|
export function initApplication(): InputController {
|
|
const inputController = new InputController();
|
|
setInputController(inputController);
|
|
setEntities([], true); // Creates the first undo entry
|
|
|
|
const canvasSize = new Point(CANVAS_WIDTH, CANVAS_HEIGHT);
|
|
|
|
const lineToolActor = new Actor(TOOL_STATE_MACHINES[Tool.LINE]);
|
|
lineToolActor.start();
|
|
setActiveToolActor(lineToolActor);
|
|
setScreenCanvasDrawController(
|
|
new ScreenCanvasDrawControllerMock(null, canvasSize) as unknown as ScreenCanvasDrawController
|
|
);
|
|
return inputController;
|
|
}
|