From 5d2283cb47d9f1fada6ca43bfa66cba85e8a67b7 Mon Sep 17 00:00:00 2001 From: DDD1542 Date: Thu, 7 May 2026 11:05:42 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=99=94=EC=9E=AC=20=EC=95=8C=EB=9E=8C?= =?UTF-8?q?=20=EB=8D=B0=EB=AA=A8=20=EA=B1=B4=EB=AC=BC=EB=B3=84=20=EC=83=89?= =?UTF-8?q?=EC=83=81=20=EB=B6=84=EB=A5=98=20+=20=EB=9D=BC=EB=B2=A8/?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98=20=EA=B0=80=EB=8F=85=EC=84=B1=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 건물 4종(utility/service/factory1/office)에 배경 그라디언트 분기 - zone 영역도 같은 톤 색상 클래스 (za-utility/service/factory1/office) - room-label 폰트 5.7 → 7.5, zone-label 10 → 13.5 키움 - 센서/manual-call 아이콘 26 → 34, 18 → 24 로 확대 + 위치 보정 Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/public/fire-alarm-demo/index.html | 219 ++++++++++++--------- 1 file changed, 125 insertions(+), 94 deletions(-) diff --git a/frontend/public/fire-alarm-demo/index.html b/frontend/public/fire-alarm-demo/index.html index 8733d0b8..411bd325 100644 --- a/frontend/public/fire-alarm-demo/index.html +++ b/frontend/public/fire-alarm-demo/index.html @@ -1,4 +1,4 @@ - + @@ -713,6 +713,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -777,7 +800,11 @@ .road-dash { fill: none; stroke: #d6ecff; stroke-width: 1.05; stroke-dasharray: 8 6; opacity: .58; } .route { fill: none; stroke: rgba(234,250,255,.65); stroke-width: .9; stroke-dasharray: 4 4; } - .building { fill: url(#building-bg); stroke: #f3fbff; stroke-width: 1.45; filter: url(#soft-shadow); } + .building { fill: url(#building-bg); stroke: #f3fbff; stroke-width: 1.45; filter: url(#soft-shadow); } + .building.bg-utility { fill: url(#building-bg-utility); } + .building.bg-service { fill: url(#building-bg-service); } + .building.bg-factory1 { fill: url(#building-bg-factory1); } + .building.bg-office { fill: url(#building-bg-office); } .building-inset { fill: none; stroke: rgba(255,255,255,.36); stroke-width: .9; } .room-core { fill: url(#core-room); stroke: rgba(255,255,255,.58); stroke-width: .8; } .wall { stroke: #edf9ff; stroke-width: 1; opacity: .66; } @@ -786,16 +813,20 @@ .detail-light { stroke: #dff4ff; stroke-width: .45; opacity: .31; } .hatch { stroke: #dff4ff; stroke-width: .55; opacity: .28; } - .zone-area { fill: rgba(27,146,63,.12); stroke: rgba(255,255,255,.26); stroke-width: .78; cursor: pointer; } + .zone-area { fill: rgba(27,146,63,.12); stroke: rgba(255,255,255,.26); stroke-width: .78; cursor: pointer; } + .zone-area.za-utility { fill: rgba(40,170,200,.16); } + .zone-area.za-service { fill: rgba(220,140,40,.18); } + .zone-area.za-factory1 { fill: rgba(150,90,210,.18); } + .zone-area.za-office { fill: rgba(140,160,190,.14); } .zone:hover .zone-area { fill: rgba(255,255,255,.075); } .zone.warn .zone-area { fill: rgba(255,207,78,.32); stroke: #ffe595; } .zone.alarm .zone-area { fill: rgba(255,56,82,.42); stroke: #ffffff; animation: alarmPulse .82s infinite; } .building-name { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 18px; font-weight: 900; fill: #ffffff; text-anchor: middle; paint-order: stroke; stroke: rgba(0,0,0,.58); stroke-width: 3px; } .building-sub { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 8px; font-weight: 800; fill: #e8fff1; text-anchor: middle; letter-spacing: .55px; } - .room-label { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 5.7px; font-weight: 700; fill: rgba(240,255,248,.82); text-transform: uppercase; } - .room-label.dim { fill: rgba(240,255,248,.54); } - .zone-label { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 10px; font-weight: 900; fill: #ffffff; text-anchor: middle; paint-order: stroke; stroke: rgba(0,0,0,.68); stroke-width: 3px; } + .room-label { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 7.5px; font-weight: 700; fill: rgba(240,255,248,.88); text-transform: uppercase; } + .room-label.dim { fill: rgba(240,255,248,.6); } + .zone-label { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 13.5px; font-weight: 900; fill: #ffffff; text-anchor: middle; paint-order: stroke; stroke: rgba(0,0,0,.78); stroke-width: 3.4px; } .small-note { font-family: Arial, 'Noto Sans KR', sans-serif; font-size: 5.5px; font-weight: 700; fill: rgba(237,252,255,.58); } .sensor-outer { fill: #0e1826; stroke: #ffffff; stroke-width: 1.4; } @@ -851,31 +882,31 @@ - - + + - WASTEWATER - - + WASTEWATER + + ZONE 01 - - + + - SBG TREATMENT - - + SBG TREATMENT + + ZONE 02 - + UTILITY BUILDING @@ -894,31 +925,31 @@ - - ZONE 03 - - + + ZONE 03 + + - - ZONE 04 - - + + ZONE 04 + + - - ZONE 05 - - + + ZONE 05 + + - - ZONE 06 - - + + ZONE 06 + + @@ -929,13 +960,13 @@ - - + + - CAFETERIA - - + CAFETERIA + + ZONE 07 @@ -943,13 +974,13 @@ - - + + - SAFETY CENTER - - + SAFETY CENTER + + ZONE 08 @@ -1007,58 +1038,58 @@ - ZONE 09 - - + ZONE 09 + + - ZONE 10 - - + ZONE 10 + + - ZONE 11 - - + ZONE 11 + + - ZONE 12 - - + ZONE 12 + + - ZONE 13 - - + ZONE 13 + + - ZONE 14 - - + ZONE 14 + + - ZONE 15 - - + ZONE 15 + + - ZONE 16 - - + ZONE 16 + + @@ -1069,23 +1100,23 @@ - + - OFFICE BLDG + OFFICE BLDG - - ZONE 17 - - + + ZONE 17 + + - - ZONE 18 - - + + ZONE 18 + + @@ -1093,7 +1124,7 @@ - + FACTORY 1 @@ -1118,31 +1149,31 @@ - - ZONE 19 - - + + ZONE 19 + + - - ZONE 20 - - + + ZONE 20 + + - - ZONE 21 - - + + ZONE 21 + + - - ZONE 22 - - + + ZONE 22 + +