windpacer 9bcba0a317 feat: 웹UI Phase 4 완료 — CSS 분리, pane 중첩 버그 수정, app.js 제거
Phase 4 — CSS 분리:
- style.css(2,230→670줄)에서 탭별 스타일을 css/<tab>.css 8개로 분할
  (t2s:437, pid:236, pb:106, hist:100, evt:50, opcsvr:14, llmchat:501, kbadmin:109)
- 크로스탭 공유 스타일(nm-*, hist-status, dt-picker 등)은 style.css 잔류
- index.html head에 11개 CSS link 태그 (1 style.css + 8 tab + 2 lib)

app.js 제거:
- index.html에서 <script src=/js/app.js> 참조 제거
- app.js → 10줄 placeholder (이미 Phase 0-3에서 모든 로직 이전 완료)

Pane wrapper 버그 수정:
- 16개 pane 파일에서 <section class=pane id=pane-xxx> wrapper 제거
- activateTab이 innerHTML로 주입 시 중첩 section + display:none 발생
- 내용이 전혀 안 보이는 문제 해결

문서 갱신:
- AGENTS.md: Frontend Architecture 섹션 추가
- 웹UI-개선플랜-byOPUS.md: Phase 0-4 완료 상태로 갱신, 결과 검증 추가

MCP:
- server.py: timestamp 정밀도 개선 등
2026-05-24 18:47:25 +09:00
2026-05-09 04:28:10 +09:00
2026-05-09 04:28:10 +09:00

ExperionCrawler

Honeywell Experion OPC UA 서버를 위한 웹 기반 데이터 수집 도구.

아키텍처

ExperionCrawler/
└── src/
    ├── Core/
    │   ├── Domain/Entities/          # ExperionTag, ExperionRecord, ExperionServerConfig ...
    │   ├── Application/
    │   │   ├── Interfaces/           # IExperionCertificateService, IExperionOpcClient ...
    │   │   ├── Services/             # ExperionCrawlService
    │   │   └── DTOs/                 # ExperionServerConfigDto, ExperionCrawlRequestDto ...
    │   └── (Domain 은 Infrastructure 에 의존하지 않음)
    │
    ├── Infrastructure/
    │   ├── Certificates/             # ExperionCertificateService (pki/ 폴더 관리)
    │   ├── OpcUa/                    # ExperionOpcClient, ExperionStatusCodeService
    │   ├── Csv/                      # ExperionCsvService (CsvHelper)
    │   └── Database/                 # ExperionDbContext + ExperionDbService (EF Core / SQLite)
    │
    └── Web/
        ├── Controllers/              # ExperionC
Description
No description provided
Readme 55 MiB
Languages
C# 43.4%
Python 31.1%
JavaScript 16.2%
HTML 4.6%
CSS 4%
Other 0.7%