Mondkarte jetzt voll

This commit is contained in:
2026-04-13 11:54:18 +02:00
parent 10f363c48c
commit eac408fc21
2 changed files with 38 additions and 28 deletions
+12 -10
View File
@@ -2191,7 +2191,8 @@ body.moonphase-page.has-modal {
grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
gap: 8px;
align-items: stretch;
min-height: calc(100vh - 190px);
height: calc(100dvh - 180px);
min-height: 400px;
}
.moon-visual,
@@ -2203,6 +2204,7 @@ body.moonphase-page.has-modal {
.moon-visual {
align-self: stretch;
min-height: 0;
}
.moon-side {
@@ -2243,6 +2245,7 @@ body.moonphase-page.has-modal {
.moon-stage {
position: relative;
flex: 1;
min-height: 0;
background: rgba(3,3,14,.72);
border: 1px solid rgba(200,168,75,.08);
border-radius: 10px;
@@ -2251,12 +2254,14 @@ body.moonphase-page.has-modal {
align-items: center;
justify-content: center;
overflow: hidden;
container-type: size;
}
#moonCanvas {
width: min(100%, 980px);
height: auto;
aspect-ratio: 1 / 1;
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
cursor: grab;
touch-action: none;
@@ -2268,12 +2273,9 @@ body.moonphase-page.has-modal {
#moonCraterOverlay {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: min(100%, 980px);
height: auto;
aspect-ratio: 1 / 1;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
}
+26 -18
View File
@@ -187,10 +187,6 @@ try {
<span class="moon-stat-label">Libration</span>
<span class="moon-stat-value" id="librationValue">-</span>
</div>
<div class="moon-stat info-card moon-stat-wide">
<span class="moon-stat-label">Ausgew&auml;hlt</span>
<span class="moon-stat-value" id="selectedValue">-</span>
</div>
</div>
<div class="moon-controls">
@@ -317,7 +313,6 @@ const phaseName = document.getElementById('phaseName');
const illuminationValue = document.getElementById('illuminationValue');
const distanceValue = document.getElementById('distanceValue');
const ageValue = document.getElementById('ageValue');
const selectedValue = document.getElementById('selectedValue');
const librationValue = document.getElementById('librationValue');
const timeLabel = document.getElementById('timeLabel');
const dateLabel = document.getElementById('dateLabel');
@@ -907,7 +902,7 @@ async function buildMoonSceneFromUrls(url1, url2) {
moonSceneState = { renderer, scene, camera, moonMesh, sunLight, ambientLight, rimLight };
resizeMoonScene();
resizeMoonCanvas();
applyMoonZoom();
renderer.render(scene, camera);
}
@@ -966,16 +961,30 @@ async function ensureMoonScene() {
return moonSceneInitPromise;
}
function resizeMoonScene() {
if (!moonSceneState) {
return;
}
function resizeMoonCanvas() {
const rect = moonCanvas.getBoundingClientRect();
const size = Math.round(Math.max(360, rect.width || 900));
moonSceneState.renderer.setSize(size, size, false);
moonSceneState.camera.aspect = 1;
moonSceneState.camera.updateProjectionMatrix();
const dpr = Math.min(window.devicePixelRatio || 1, 3);
const w = Math.round(Math.max(360, rect.width || 900));
const h = Math.round(Math.max(360, rect.height || 900));
if (moonSceneState) {
// 3D: Three.js setzt canvas.width/height intern
moonSceneState.renderer.setSize(w, h, false);
moonSceneState.camera.aspect = w / h;
moonSceneState.camera.updateProjectionMatrix();
} else {
// 2D: canvas-Intrinsic-Größe manuell an die Darstellungsgröße anpassen
const pw = Math.round(w * dpr);
const ph = Math.round(h * dpr);
if (moonCanvas.width !== pw || moonCanvas.height !== ph) {
moonCanvas.width = pw;
moonCanvas.height = ph;
}
}
}
function resizeMoonScene() {
resizeMoonCanvas();
}
async function renderMoon3D(phaseData, libration) {
@@ -1590,7 +1599,6 @@ async function updateMoon() {
day: '2-digit', month: '2-digit', year: 'numeric',
hour: '2-digit', minute: '2-digit', timeZone: 'UTC'
});
selectedValue.innerHTML = `${formatDateTime(selectedDate)} ${getBrowserTimeZone()}<br>${utcString} UTC`;
librationValue.textContent = formatLibration(libration);
} catch (error) {
if (requestSerial !== moonDataRequestSerial) {
@@ -1602,7 +1610,6 @@ async function updateMoon() {
illuminationValue.textContent = '-';
distanceValue.textContent = '-';
ageValue.textContent = '-';
selectedValue.innerHTML = `${formatDateTime(selectedDate)} ${getBrowserTimeZone()}<br>-- UTC`;
librationValue.textContent = '-';
}
}
@@ -1752,7 +1759,7 @@ function attachCanvasListeners() {
attachCanvasListeners();
window.addEventListener('resize', () => {
resizeMoonScene();
resizeMoonCanvas();
updateMoon();
});
moonExportCloseBtn.addEventListener('click', closeMoonExportDialog);
@@ -1787,6 +1794,7 @@ document.addEventListener('keydown', event => {
updateMoonExportCustomVisibility();
setNow();
updatePlaybackButton();
resizeMoonCanvas();
updateMoon();
updateCraterButtons();
</script>