diff --git a/src/components/simulator/Simulator.jsx b/src/components/simulator/Simulator.jsx
index d873049f..283bdbc8 100644
--- a/src/components/simulator/Simulator.jsx
+++ b/src/components/simulator/Simulator.jsx
@@ -226,7 +226,7 @@ export default function Simulator() {
{/* 연간예측발전량 */}
{getMessage('simulator.title.sub4')}
-
{chartData[chartData.length - 1]}
+
{chartData[chartData.length - 1] != null ? `${chartData[chartData.length - 1]} kWh` : ''}
diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js
index 71ee6123..b652492b 100644
--- a/src/hooks/module/useTrestle.js
+++ b/src/hooks/module/useTrestle.js
@@ -3291,6 +3291,7 @@ export const useTrestle = () => {
// 가대 설치 완료 전,후 모든 surface의 isComplete를 변경
const setAllModuleSurfaceIsComplete = (bool) => {
+ if (!canvas) return
const surfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
surfaces.forEach((surface) => {
surface.isComplete = bool
@@ -3299,6 +3300,7 @@ export const useTrestle = () => {
// 배치면 전체에 가대 설치 여부
const isAllComplete = () => {
+ if (!canvas) return false
const surfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
if (surfaces.length === 0) {
return false
diff --git a/src/hooks/usePolygon.js b/src/hooks/usePolygon.js
index 73999863..2a9405d3 100644
--- a/src/hooks/usePolygon.js
+++ b/src/hooks/usePolygon.js
@@ -416,9 +416,8 @@ export const usePolygon = () => {
while (a > 180) a -= 360
while (a < -180) a += 360
const i = Math.round(a / 22.5) // -8 ~ 8
- // [方位 追加要請 2026-07-03] 124~134°는 西北西/東北東 표시(北西/北東 시작을 135°로) — 북면 판정 ±135°와 표시 경계 일치
- if (i === 6 && a <= 134) return positive[5] // 北西 → 西北西
- if (i === -6 && a >= -134) return negative[5] // 北東 → 東北東
+ // [方位 再修正 2026-07-10] 124~134°는 표준 16방위대로 北西/北東 표시(2026-07-03 西北西/東北東 오버라이드 철회).
+ // 표시 경계(124°)와 북면 판정 경계(±135°)는 다시 분리 — 판정은 판매전략 연관으로 ±135° 고정.
return i >= 0 ? positive[i] : negative[-i]
}