# -*- coding: utf-8 -*- """종단 새 창 최대화 — 같은 꼴 나머지(계획서 230-2) 회귀검증. 230-1 과 같은 까닭 — 메인 창 전역 화면 틀 · 시계는 새 창 최대화로 메인 창이 가려지면 멈추거나 늦게 돎. 새 창으로 가는 종단 패널(종단도 · 표 · 유토곡선 · 배수유역도)의 틀 · 시계는 공용 `viewOf` · `frameOf`(common_util_view_window) 로 그 요소가 놓인 창에서 받음. `helper_230_2_popout_frames.cjs` 가 메인 창을 「가려짐」(틀 · 시계 멈춤)으로 두고 실제 함수 본문을 돌림. 옛 코드로는 아래 다시 그리기가 모두 0 번. """ import json import os import re import subprocess import pytest HERE = os.path.dirname(os.path.abspath(__file__)) ROOT = os.path.dirname(os.path.dirname(HERE)) # 새 창으로 가는 종단 패널의 화면 코드 POPOUT_FILES = [ "A00_Common/design/design_profile.ts", "A00_Common/design/design_profile_viewport.ts", "B05_Profile/B05_Profile_UI_Profile_Wheel.ts", "B05_Profile/B05_Profile_UI_Profile_Heights.ts", "B05_Profile/B05_Profile_UI_Profile_MassHaul.ts", "B05_Profile/B05_Profile_UI_Profile_TableOverlay.ts", "B05_Profile/B05_Profile_UI_Profile_Drag.ts", "B05_Profile/B05_Profile_UI_Profile_Edit.ts", "B05_Profile/B05_Profile_UI_Profile_Panel_Tools.ts", "B05_Profile/B05_Profile_UI_Drainage_Panel.ts", "B05_Profile/B05_Profile_UI_Structures_Marks.ts", "common_util/common_util_mass_haul_view.ts", ] # 메인 창 전역 틀 · 시계 — `x.requestAnimationFrame` 처럼 창을 짚은 것은 제외 MAIN_WINDOW_CLOCK = re.compile( r"(?