diff --git a/A05_EduDetail/guide/E01/00_설명서.md b/A05_EduDetail/guide/E01/00_설명서.md index 05d9e7ade..3cf10ea14 100644 --- a/A05_EduDetail/guide/E01/00_설명서.md +++ b/A05_EduDetail/guide/E01/00_설명서.md @@ -23,6 +23,6 @@ 1. **대상 임도 프로젝트** 칸에서 평가할 임도를 고름. 2. **프로젝트명** 칸을 확인함. 바꾸고 싶으면 원하는 이름으로 고쳐 씀. 3. [등록]을 누름. -4. 복사가 끝나면 첫 단계 「지반 조건」 화면이 열림 — [지반 조건](E02/00_설명서)으로 이어짐. +4. 복사가 끝나면 첫 단계 「지반 조건」 화면이 열림 — [지반 조건](E02/00_설명서)으로 이어짐. 거기서 [해석 시작] 한 번이면 2D · 3D · 암반 · 광역 · 보고서까지 차례로 돎. > 참고: 만드는 순간의 임도 자료를 복사해 쓰므로, 만든 뒤에 임도를 고쳐도 이 안정성평가는 바뀌지 않음. [복사하는 자료](03_복사하는_자료)에서 자세히 설명. diff --git a/A05_EduDetail/guide/E01/03_복사하는_자료.md b/A05_EduDetail/guide/E01/03_복사하는_자료.md index 0cc7b2e83..a24bec1bb 100644 --- a/A05_EduDetail/guide/E01/03_복사하는_자료.md +++ b/A05_EduDetail/guide/E01/03_복사하는_자료.md @@ -23,7 +23,7 @@ | 원본 설계에 쓰인 지형 격자 하나 | | | 최신 노선 3D 면 · 배수 편집분 | | -- 횡단 파일이 없는 측점이 있으면 다음 화면 위에 **「횡단 없는 측점 N 개 — 해석에서 빠짐」** 띠가 보임. 띠를 누르면 빠진 측점의 누가거리가 펼쳐짐. +- 횡단 파일이 없는 측점이 있으면 다음 화면 위에 **「횡단 없는 측점 N 개 — 해석에서 빠짐」** 띠가 보임. 띠를 누르면 빠진 측점이 측점 번호 + 거리(예: 3+20.0)로 펼쳐짐. 번호는 이 프로젝트의 측점 간격에 맞춰 매겨짐. > 주의: 만든 뒤 원본 임도를 고쳐도 안정성평가는 바뀌지 않음. 고친 설계로 다시 평가하려면 이 화면에서 새로 만들 것. diff --git a/A05_EduDetail/guide/E01/E01_00_overview.webp b/A05_EduDetail/guide/E01/E01_00_overview.webp index 77fed5b45..c47cd1f36 100644 Binary files a/A05_EduDetail/guide/E01/E01_00_overview.webp and b/A05_EduDetail/guide/E01/E01_00_overview.webp differ diff --git a/A05_EduDetail/guide/E01/E01_01_source.webp b/A05_EduDetail/guide/E01/E01_01_source.webp index e192426ea..82aa6b066 100644 Binary files a/A05_EduDetail/guide/E01/E01_01_source.webp and b/A05_EduDetail/guide/E01/E01_01_source.webp differ diff --git a/A05_EduDetail/guide/E01/E01_02_name_typed.webp b/A05_EduDetail/guide/E01/E01_02_name_typed.webp index 72490f237..59084c4da 100644 Binary files a/A05_EduDetail/guide/E01/E01_02_name_typed.webp and b/A05_EduDetail/guide/E01/E01_02_name_typed.webp differ diff --git a/A05_EduDetail/guide/E01/E01_04_help_modal.webp b/A05_EduDetail/guide/E01/E01_04_help_modal.webp index d4061ca6a..3e64a12e9 100644 Binary files a/A05_EduDetail/guide/E01/E01_04_help_modal.webp and b/A05_EduDetail/guide/E01/E01_04_help_modal.webp differ diff --git a/A05_EduDetail/guide/E02/00_설명서.md b/A05_EduDetail/guide/E02/00_설명서.md index ee2335249..fc4212719 100644 --- a/A05_EduDetail/guide/E02/00_설명서.md +++ b/A05_EduDetail/guide/E02/00_설명서.md @@ -13,13 +13,13 @@ | 번호 | 구역 | 하는 일 | | --- | --- | --- | -| 1 | 왼쪽 안내 글 · 상태 글 | 「문헌 추정치 · 현장 시험 없음」 안내와 「저장 안 된 변경이 있습니다.」 등 상태 | +| 1 | 왼쪽 안내 글 · 상태 글 | 「문헌 추정치 · 현장 시험 없음」 안내와 「해석 전 — 바뀐 값은 [해석 시작] 때 저장됩니다.」 등 상태 · 해석이 돌면 진행 막대와 단계 줄 | | 2 | 지반물성치 카드 | 지층별 단위중량 · 점착력 · 내부마찰각 — [지반물성치](01_지반물성치) | | 3 | 기준안전율 카드 | 조건(건기 · 우기 · 지진 시 · 단기)별 기준 — [기준안전율](02_기준안전율) | | 4 | 노면 하중 · 지진 카드 | 노면 하중 · 지진 검토 켬/끔 — [노면 하중 · 지진](03_노면하중_지진) | | 5 | 지하수 카드 | 건기 지하수 · 우기 규칙 — [지하수](04_지하수) | | 6 | 층 두께 · 구간 덮어쓰기 카드 | 구간별 지층 · 두께 바꾸기 + 측점별 적용 지층 표 — [층 두께 · 구간 덮어쓰기](05_층두께_구간덮어쓰기) | -| 7 | 왼쪽 아래 단추 줄 | [?] · [<] · [>] · [초기화] · [저장] — [저장과 초기화](06_저장과_초기화) | +| 7 | 왼쪽 아래 단추 줄 | [?] · [<] · [>] · [초기화] · [해석 시작] — [해석 시작과 초기화](06_저장과_초기화) | ## 작업 순서 @@ -27,8 +27,8 @@ 2. 같은 카드 아래 「B06 지반 → 지층」 줄에서 횡단 설계의 토사 · 리핑암 · 발파암 · 성토체가 어느 지층으로 계산될지 고름. 3. **기준안전율** · **노면 하중 · 지진** · **지하수** 카드를 차례로 확인함. 4. 특정 구간만 지층이나 두께를 바꿀 것이 있으면 **층 두께 · 구간 덮어쓰기** 카드에서 [구간 추가]. -5. 왼쪽 아래 [저장]을 누름 — 저장한 값만 다음 단계 [2D 해석](E03/00_설명서)에 쓰임. +5. 왼쪽 아래 [해석 시작]을 누름 — 지반 값이 저장되고 지반 → 2D → 3D → 암반 → 광역 → 보고서 차례로 한 번에 돎. 입력이 같은 단계는 건너뜀. 돌아가는 동안 다른 단계 화면으로 가도 계속 돎. > 주의: 지반물성치 기본값은 문헌 추정치이고 현장 시험 값이 아님. 현장 조사 값이 있으면 꼭 바꿔 넣을 것. -> 참고: 값을 바꾸면 이 브라우저 탭에만 임시로 남음. [저장]을 눌러야 해석에 쓰임. +> 참고: [저장] 단추는 없음. 값을 바꾸면 이 브라우저 탭에 임시로 남고, [해석 시작]을 누르거나 다른 단계 화면으로 떠날 때 저장됨. diff --git a/A05_EduDetail/guide/E02/01_지반물성치.md b/A05_EduDetail/guide/E02/01_지반물성치.md index 5b253f548..8d4c288c0 100644 --- a/A05_EduDetail/guide/E02/01_지반물성치.md +++ b/A05_EduDetail/guide/E02/01_지반물성치.md @@ -34,7 +34,7 @@ ## 보이는 것 - 칸 위에 마우스를 올리면 **기본값과 근거**(지식DB · KDS 11 70 05 등)가 뜸. 사용자가 더한 지층은 「사용자 지층 — 출처 없음」. -- 틀린 값은 칸 테두리가 빨갛게 되고 마우스를 올리면 까닭이 뜸 — [저장과 초기화](06_저장과_초기화). +- 틀린 값은 칸 테두리가 빨갛게 되고 마우스를 올리면 까닭이 뜸 — [해석 시작과 초기화](06_저장과_초기화). ### B06 지반 → 지층 diff --git a/A05_EduDetail/guide/E02/04_지하수.md b/A05_EduDetail/guide/E02/04_지하수.md index 759f7b956..dcd37dcad 100644 --- a/A05_EduDetail/guide/E02/04_지하수.md +++ b/A05_EduDetail/guide/E02/04_지하수.md @@ -46,6 +46,6 @@ - 규칙은 2D 해석의 안전율 계산과 횡단 그림의 지하수위 점선에 함께 반영됨. - r_u를 고르면 수위선 없이 횡단 그림 아래에 「지하수 = 간극수압비 r_u …」 글만 보임. -> 주의: 규칙을 바꾸고 [저장]한 뒤에는 [2D 해석](E03/00_설명서)에서 [해석]을 다시 누를 것. +> 주의: 규칙을 바꾼 뒤에는 [해석 시작]을 다시 누를 것 — 값이 바뀐 단계부터 다시 계산함. > 참고: 3D 해석은 우기를 「지표까지 포화」 한 가지로 셈 — 이 카드의 규칙은 3D에 쓰이지 않음. diff --git a/A05_EduDetail/guide/E02/05_층두께_구간덮어쓰기.md b/A05_EduDetail/guide/E02/05_층두께_구간덮어쓰기.md index 1f401e96d..9dd361c68 100644 --- a/A05_EduDetail/guide/E02/05_층두께_구간덮어쓰기.md +++ b/A05_EduDetail/guide/E02/05_층두께_구간덮어쓰기.md @@ -11,7 +11,7 @@ | 번호 | 칸 | 뜻 | | --- | --- | --- | | 1 | [구간 추가] | 덮어쓸 구간 한 줄을 더함 | -| 2 | 측점별 적용 지층 | 측점마다 실제로 해석에 들어갈 지층 · 두께 (읽기만 가능) | +| 2 | 측점별 적용 지층 | 측점마다(측점 번호 + 거리, 예: 3+20) 실제로 해석에 들어갈 지층 · 두께 (읽기만 가능) | ## 단계 diff --git a/A05_EduDetail/guide/E02/06_저장과_초기화.md b/A05_EduDetail/guide/E02/06_저장과_초기화.md index 17a1d074b..965389142 100644 --- a/A05_EduDetail/guide/E02/06_저장과_초기화.md +++ b/A05_EduDetail/guide/E02/06_저장과_초기화.md @@ -1,6 +1,6 @@ -# 저장과 초기화 +# 해석 시작과 초기화 -바꾼 값을 작업본으로 저장하거나 처음 값으로 되돌리는 왼쪽 아래 단추 줄. +지반 값을 정한 뒤 [해석 시작]으로 안정성평가 전체를 한 번에 돌리거나, 처음 값으로 되돌리는 왼쪽 아래 단추 줄. ## 여는 길 @@ -12,29 +12,50 @@ | --- | --- | --- | | 1 | [?] | 이 설명서를 엶 | | 2 | [<] | 이전 단계로 이동 | -| 3 | [>] | 다음 단계(2D 해석)로 이동 | +| 3 | [>] | 다음 단계(2D 해석)로 이동 — 바뀐 값이 있으면 이동하면서 저장함 | | 4 | [초기화] | 처음 값(만들 때 기본값 + B06 측점)으로 되돌림 | -| 5 | [저장] | 화면 값을 검사한 뒤 저장함 | +| 5 | [해석 시작] | 화면 값을 검사 · 저장한 뒤 2D → 3D → 암반 → 광역 → 보고서를 차례로 돌림 | + +> 참고: 이 화면에는 [저장] 단추가 없음. 바뀐 값은 [해석 시작]을 누를 때, 또는 다른 단계 화면으로 떠날 때 저장됨. ## 단계 | 단계 | 할 일 | | --- | --- | -| 1 | 값을 고침. 칸을 고치면 왼쪽에 「저장 안 된 변경이 있습니다.」가 보임. | +| 1 | 값을 고침. 칸을 고치면 왼쪽에 「해석 전 — 바뀐 값은 [해석 시작] 때 저장됩니다.」가 보임. | | 2 | 틀린 칸이 있으면 테두리가 빨갛게 되고 왼쪽에 「입력값을 확인하세요 — 틀린 칸 N」이 뜸. 마우스를 올려 까닭을 읽고 고침. | -| 3 | [저장]을 누름. 틀린 칸이 없으면 「저장했습니다.」 알림이 뜸. | -| 4 | 처음으로 되돌리려면 [초기화]를 누르고 확인 창에서 [초기화]를 한 번 더 누름. 취소하려면 [취소]. | +| 3 | [해석 시작]을 누름. 틀린 칸이 없으면 지반 값이 저장되고 곧바로 해석이 돎. | +| 4 | 진행 막대와 단계 줄을 보며 기다림. 다른 단계 화면으로 가도 서버에서 계속 돌고, 이 화면에 돌아오면 이어서 보임. | +| 5 | 중간에 멈추려면 [끊기]를 누름. 지금 계산 중인 조각이 끝나면 멈추고, 끝난 단계는 저장되어 남음. | +| 6 | 처음으로 되돌리려면 [초기화]를 누르고 확인 창에서 [초기화]를 한 번 더 누름. 취소하려면 [취소]. | ![틀린 값을 쓴 모습](E02_13_invalid.webp) ![초기화 확인 창](E02_15_reset_confirm.webp) +## 진행 막대와 단계 줄 + +![해석이 도는 모습](E02_16_run_progress.webp) + +| 번호 | 칸 | 뜻 | +| --- | --- | --- | +| 1 | 진행 막대 | 전체 진행률(%) | +| 2 | 「해석 중」 글 | 지금 계산 중인 일(예: 3D 구간 해석 조각 수) | +| 3 | 단계 줄 | 2D 측점 해석 · 3D 구간 해석 · 암반 해석 · 광역 위험 · 보고서 — 줄마다 「기다림」 · 「도는 중」 · 「끝남」 · 「최신 · 건너뜀」 · 「실패」 · 「끊음」과 걸린 시간 | +| 4 | [끊기] | 해석을 중간에 멈춤. 돌고 있을 때만 보임 | + +- 단계 차례는 지반 저장 → 2D → 3D → 암반 → 광역 → 보고서. 3D는 모든 구간의 건기 · 우기를 모두 돎. +- 입력이 지난번과 같은 단계는 「최신 · 건너뜀」으로 바로 지나감. 지반 값 하나만 바꿔도 영향받는 단계부터 다시 돎. +- 1.2 km 정도 노선은 처음 전체를 돌리는 데 25~30 분쯤 걸림(3D가 대부분). + ## 보이는 것 -- 틀린 값이 있으면 저장되지 않고 알림만 뜸. +- 틀린 값이 있으면 저장 · 해석이 시작되지 않고 알림만 뜸. +- 해석이 끝나면 「해석을 마쳤습니다.」, 끊으면 「해석을 끊었습니다 — 끝난 단계는 저장됨.」, 실패하면 까닭이 알림으로 뜸. +- 해석이 도는 동안에는 [해석 시작] · [초기화]가 꺼짐. - [초기화]를 확인하면 저장한 값이 사라지고 「초기값으로 되돌렸습니다.」가 뜸. - 공유받은 회사(보기만)는 칸과 단추가 꺼지고 「보기만 허용된 프로젝트입니다.」가 보임. > 주의: [초기화]는 저장한 값까지 되돌림. 되돌리기 전에 꼭 필요한 값은 따로 적어 둘 것. -> 참고: 저장 뒤 [2D 해석](E03/00_설명서)에서 [해석]을 다시 누르면 값이 바뀐 측점만 다시 계산함. +> 참고: 결과는 [2D 해석](E03/00_설명서) 이후 화면에서 바로 열어 볼 수 있음. 마지막 단계 [보고서](E05/00_설명서)까지 한 번에 만들어짐. diff --git a/A05_EduDetail/guide/E02/E02_00_overview.webp b/A05_EduDetail/guide/E02/E02_00_overview.webp index ac6319a19..b2ff7045c 100644 Binary files a/A05_EduDetail/guide/E02/E02_00_overview.webp and b/A05_EduDetail/guide/E02/E02_00_overview.webp differ diff --git a/A05_EduDetail/guide/E02/E02_01_materials.webp b/A05_EduDetail/guide/E02/E02_01_materials.webp index 6b497053c..6ebcce95a 100644 Binary files a/A05_EduDetail/guide/E02/E02_01_materials.webp and b/A05_EduDetail/guide/E02/E02_01_materials.webp differ diff --git a/A05_EduDetail/guide/E02/E02_02_material_added.webp b/A05_EduDetail/guide/E02/E02_02_material_added.webp index 1b2c3ab4c..55629119b 100644 Binary files a/A05_EduDetail/guide/E02/E02_02_material_added.webp and b/A05_EduDetail/guide/E02/E02_02_material_added.webp differ diff --git a/A05_EduDetail/guide/E02/E02_03_b06_map.webp b/A05_EduDetail/guide/E02/E02_03_b06_map.webp index 082f77c16..d9833d44b 100644 Binary files a/A05_EduDetail/guide/E02/E02_03_b06_map.webp and b/A05_EduDetail/guide/E02/E02_03_b06_map.webp differ diff --git a/A05_EduDetail/guide/E02/E02_04_safety.webp b/A05_EduDetail/guide/E02/E02_04_safety.webp index e5ec6636d..035a754be 100644 Binary files a/A05_EduDetail/guide/E02/E02_04_safety.webp and b/A05_EduDetail/guide/E02/E02_04_safety.webp differ diff --git a/A05_EduDetail/guide/E02/E02_05_loads.webp b/A05_EduDetail/guide/E02/E02_05_loads.webp index 6afe4127d..9015a1b60 100644 Binary files a/A05_EduDetail/guide/E02/E02_05_loads.webp and b/A05_EduDetail/guide/E02/E02_05_loads.webp differ diff --git a/A05_EduDetail/guide/E02/E02_06_seismic_on.webp b/A05_EduDetail/guide/E02/E02_06_seismic_on.webp index 96020c07d..526cb4e02 100644 Binary files a/A05_EduDetail/guide/E02/E02_06_seismic_on.webp and b/A05_EduDetail/guide/E02/E02_06_seismic_on.webp differ diff --git a/A05_EduDetail/guide/E02/E02_07_water.webp b/A05_EduDetail/guide/E02/E02_07_water.webp index 023d6a8d7..9c516ad09 100644 Binary files a/A05_EduDetail/guide/E02/E02_07_water.webp and b/A05_EduDetail/guide/E02/E02_07_water.webp differ diff --git a/A05_EduDetail/guide/E02/E02_08_water_line.webp b/A05_EduDetail/guide/E02/E02_08_water_line.webp index 7c7714abb..257c1a8ad 100644 Binary files a/A05_EduDetail/guide/E02/E02_08_water_line.webp and b/A05_EduDetail/guide/E02/E02_08_water_line.webp differ diff --git a/A05_EduDetail/guide/E02/E02_09_water_ratio.webp b/A05_EduDetail/guide/E02/E02_09_water_ratio.webp index d50e4c567..38842271a 100644 Binary files a/A05_EduDetail/guide/E02/E02_09_water_ratio.webp and b/A05_EduDetail/guide/E02/E02_09_water_ratio.webp differ diff --git a/A05_EduDetail/guide/E02/E02_10_zones.webp b/A05_EduDetail/guide/E02/E02_10_zones.webp index 3b511c8bd..a0651391c 100644 Binary files a/A05_EduDetail/guide/E02/E02_10_zones.webp and b/A05_EduDetail/guide/E02/E02_10_zones.webp differ diff --git a/A05_EduDetail/guide/E02/E02_11_zone_added.webp b/A05_EduDetail/guide/E02/E02_11_zone_added.webp index 572b59ac4..1dc8490e9 100644 Binary files a/A05_EduDetail/guide/E02/E02_11_zone_added.webp and b/A05_EduDetail/guide/E02/E02_11_zone_added.webp differ diff --git a/A05_EduDetail/guide/E02/E02_12_hover_source.webp b/A05_EduDetail/guide/E02/E02_12_hover_source.webp index ddcaedf74..08ace9491 100644 Binary files a/A05_EduDetail/guide/E02/E02_12_hover_source.webp and b/A05_EduDetail/guide/E02/E02_12_hover_source.webp differ diff --git a/A05_EduDetail/guide/E02/E02_13_invalid.webp b/A05_EduDetail/guide/E02/E02_13_invalid.webp index 23a0444fd..94784d4df 100644 Binary files a/A05_EduDetail/guide/E02/E02_13_invalid.webp and b/A05_EduDetail/guide/E02/E02_13_invalid.webp differ diff --git a/A05_EduDetail/guide/E02/E02_14_buttons.webp b/A05_EduDetail/guide/E02/E02_14_buttons.webp index 6bfb7bd7f..dea516a72 100644 Binary files a/A05_EduDetail/guide/E02/E02_14_buttons.webp and b/A05_EduDetail/guide/E02/E02_14_buttons.webp differ diff --git a/A05_EduDetail/guide/E02/E02_15_reset_confirm.webp b/A05_EduDetail/guide/E02/E02_15_reset_confirm.webp index 8a04a3b5e..a8a635cd3 100644 Binary files a/A05_EduDetail/guide/E02/E02_15_reset_confirm.webp and b/A05_EduDetail/guide/E02/E02_15_reset_confirm.webp differ diff --git a/A05_EduDetail/guide/E02/_scenes.json b/A05_EduDetail/guide/E02/_scenes.json index af4bd466d..8bf913a04 100644 --- a/A05_EduDetail/guide/E02/_scenes.json +++ b/A05_EduDetail/guide/E02/_scenes.json @@ -13,6 +13,7 @@ {"name": "E02_11_zone_added", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"click": ".e02-cards > .e02-card:nth-child(5) .e02-card__actions button:nth-child(1)"}, {"wait_ms": 400}], "clip": ".e02-cards > .e02-card:nth-child(5)", "callouts": [{"n": 1, "sel": ".e02-cards > .e02-card:nth-child(5) .e02-table:not(.e02-table--read) tbody tr:last-child"}]}, {"name": "E02_12_hover_source", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"hover": "[data-path='materials.0.c']"}, {"wait_ms": 600}], "clip": null, "callouts": []}, {"name": "E02_13_invalid", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"fill": "[data-path='materials.0.phi']", "value": "99"}, {"eval": "document.querySelector(\"[data-path='materials.0.phi']\").dispatchEvent(new Event('input',{bubbles:true}))"}, {"hover": "[data-path='materials.0.phi']"}, {"wait_ms": 600}], "clip": null, "callouts": [{"n": 1, "sel": "[data-path='materials.0.phi']"}, {"n": 2, "sel": ".e02-status"}]}, - {"name": "E02_14_buttons", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}], "clip": ".ui-workflow-overlay__panel .ui-sidebar-actions", "callouts": [{"n": 1, "sel": ".ui-workflow-overlay__panel .ui-help-btn"}, {"n": 2, "sel": ".ui-workflow-overlay__panel .ui-step-nav-btn[data-step-nav='-1']"}, {"n": 3, "sel": ".ui-workflow-overlay__panel .ui-step-nav-btn[data-step-nav='1']"}, {"n": 4, "sel": ".ui-workflow-overlay__panel .ui-btn--danger-ghost"}, {"n": 5, "sel": ".ui-workflow-overlay__panel .ui-btn--filled"}]}, - {"name": "E02_15_reset_confirm", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"click": ".ui-workflow-overlay__panel .ui-btn--danger-ghost", "confirm": true}, {"wait": ".ui-confirm"}], "clip": ".ui-confirm__panel", "callouts": [], "after": [{"click": ".ui-confirm__panel button:has-text(\"취소\")"}]} + {"name": "E02_14_buttons", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}], "clip": ".ui-workflow-overlay__panel .ui-sidebar-actions", "callouts": [{"n": 1, "sel": ".ui-workflow-overlay__panel .ui-help-btn"}, {"n": 2, "sel": ".ui-workflow-overlay__panel .ui-step-nav-btn[data-step-nav='-1']"}, {"n": 3, "sel": ".ui-workflow-overlay__panel .ui-step-nav-btn[data-step-nav='1']"}, {"n": 4, "sel": ".ui-workflow-overlay__panel .ui-sidebar-actions .ui-btn--danger-ghost"}, {"n": 5, "sel": ".ui-workflow-overlay__panel .ui-btn--filled"}]}, + {"name": "E02_15_reset_confirm", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"click": ".ui-workflow-overlay__panel .ui-sidebar-actions .ui-btn--danger-ghost", "confirm": true}, {"wait": ".ui-confirm"}], "clip": ".ui-confirm__panel", "callouts": [], "after": [{"click": ".ui-confirm__panel button:has-text(\"취소\")"}]}, + {"name": "E02_16_run_progress", "route": "#/e02-stab-ground", "project": "stab", "before": [{"wait": ".e02-cards"}, {"eval": "(() => { const f = window.fetch.bind(window); const prog = {running: true, percent: 46, stage: '3d', stage_name: '3D', steps: [{key: '2d', state: 'done', seconds: 88}, {key: '3d', state: 'run', seconds: 312}, {key: 'rock', state: 'wait', seconds: null}, {key: 'area', state: 'wait', seconds: null}, {key: 'report', state: 'wait', seconds: null}], message: '3D 구간 해석 7/22 조각', error: null, cancelled: false}; window.fetch = async (u, i) => { const s = String(u); if (/stab\\/run\\/progress/.test(s)) return new Response(JSON.stringify(prog), {status: 200}); if (/stab\\/run$/.test(s) && i && i.method === 'POST') { const g = await (await f(s.replace(/stab\\/run$/, 'stab/ground'), {credentials: 'include'})).json(); return new Response(JSON.stringify({...g, ...prog}), {status: 200}); } return f(u, i); }; })()"}, {"click": ".ui-workflow-overlay__panel .ui-btn--filled"}, {"wait": ".e02-run__steps .ui-list-row, .e02-run__steps > *"}, {"wait_ms": 1500}], "clip": ".e02-run", "callouts": [{"n": 1, "sel": ".e02-run > :nth-child(1)"}, {"n": 2, "sel": ".e02-run > :nth-child(2)", "pos": "tr"}, {"n": 3, "sel": ".e02-run__steps", "pos": "tr"}, {"n": 4, "sel": ".e02-run > button", "pos": "tr"}]} ]