diff --git a/src/components/lighting/LightingEffectModal.tsx b/src/components/lighting/LightingEffectModal.tsx index 059bdfa2..beee8f8b 100644 --- a/src/components/lighting/LightingEffectModal.tsx +++ b/src/components/lighting/LightingEffectModal.tsx @@ -229,7 +229,7 @@ const RIM_LIGHT_STOPS: LightControlPoint[] = [ const DEFAULT_RIM_LIGHT_POSITION = { x: 0, y: 0, z: -1 }; const VIEW_ROTATION: Record = { - perspective: { pitch: -18, yaw: 0 }, + perspective: { pitch: -28, yaw: 0 }, front: { pitch: 0, yaw: 0 }, }; @@ -382,7 +382,11 @@ function buildVisualGlobeLines( }; }); - const longitudeLines = LONGITUDE_DEGREES.map((longitude) => { + const longitudeLines = LONGITUDE_DEGREES.filter((longitude) => { + // In front view, 0° and 180° project as a straight vertical line through + // the center with no visible curvature — skip them. + return !(isFront && (longitude === 0 || longitude === 180)); + }).map((longitude) => { const points: Array<{ left: number; top: number; depth: number }> = []; for (let i = 0; i < SAMPLES_PER_LINE; i++) { const latitude = -90 + (i / SAMPLES_PER_LINE) * 180; @@ -665,6 +669,20 @@ function LightingPreview({ })()} )} + {LATITUDE_DEGREES.flatMap((latitude) => + LONGITUDE_DEGREES.map((longitude) => { + const pt = projectSpherePoint(latitude, longitude, settings.viewMode); + return ( + + ); + }) + )} {MAIN_LIGHT_STOPS.map((stop) => { @@ -770,7 +788,7 @@ function LightingPreview({ {settings.rimLight && (