S-CANVAS (Saman Corp.) — DXF + DEM + AI 기반 3D 조감도 생성 엔진. ~24k LOC Python (scanvas_maker.py 7072 LOC GUI + 구조물 파서/빌더 다수). 이 커밋은 7-iter cleanup이 적용된 상태로 import: - F821 8 + B023 6: 비동기 lambda + except/loop 변수 캡처 NameError (Py3.13에서 reproduce 확인된 진짜 버그) - RUF012 4 + RUF013 1: ClassVar / implicit Optional 명시화 - F811/B905/B904/F401/F841/W293/F541/UP/SIM/RUF/PLR 700+ cleanup/modernization 신규 파일: - ruff.toml: target=py313, Korean unicode/저자 스타일/도메인 복잡도 무력화 - requirements-py313.txt: pyproj>=3.7, scipy>=1.14, numpy>=2.0.2 (Py3.13 wheel) - .gitignore: gcp-key.json, 캐시, 백업, 생성 이미지 제외 검증: ruff 0 errors, py_compile 0 errors, import 33/33 OK on Py3.13.13. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
62 lines
1.7 KiB
Batchfile
62 lines
1.7 KiB
Batchfile
@echo off
|
|
REM ============================================================
|
|
REM S-CANVAS distribution build (PyInstaller onedir)
|
|
REM
|
|
REM Run: build.bat
|
|
REM
|
|
REM Output: dist\S-CANVAS\S-CANVAS.exe (zip the folder to ship)
|
|
REM ============================================================
|
|
|
|
setlocal enableextensions enabledelayedexpansion
|
|
chcp 65001 >nul
|
|
cd /d "%~dp0"
|
|
|
|
echo.
|
|
echo === [1/4] Check PyInstaller ===
|
|
python -m PyInstaller --version >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo PyInstaller not installed -- installing now
|
|
python -m pip install --upgrade pip
|
|
python -m pip install pyinstaller
|
|
if errorlevel 1 (
|
|
echo [ERROR] Failed to install PyInstaller. Try: pip install pyinstaller
|
|
exit /b 1
|
|
)
|
|
)
|
|
python -m PyInstaller --version
|
|
|
|
echo.
|
|
echo === [2/4] Generate window icon (scanvas_S.ico) ===
|
|
python _build_icon.py
|
|
if errorlevel 1 (
|
|
echo [WARN] Icon generation failed -- continuing with default PyInstaller icon
|
|
)
|
|
|
|
echo.
|
|
echo === [3/4] Clean previous build artifacts ===
|
|
if exist build rmdir /s /q build
|
|
if exist "dist\S-CANVAS" rmdir /s /q "dist\S-CANVAS"
|
|
|
|
echo.
|
|
echo === [4/4] Run PyInstaller (10-15 min) ===
|
|
python -m PyInstaller --clean --noconfirm scanvas_maker.spec
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo [ERROR] PyInstaller build failed. See logs above.
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo === DONE ===
|
|
if exist "dist\S-CANVAS\S-CANVAS.exe" (
|
|
echo Entry point: dist\S-CANVAS\S-CANVAS.exe
|
|
echo Distribution: zip the dist\S-CANVAS\ folder
|
|
echo User data: %%LOCALAPPDATA%%\S-CANVAS\
|
|
echo db, logs, cache live here at runtime.
|
|
) else (
|
|
echo [WARN] dist\S-CANVAS\S-CANVAS.exe not found. Check build output.
|
|
)
|
|
|
|
echo.
|
|
endlocal
|