Files
Gartenvisualisierung/index.html
T
admGitAICDSandClaude Opus 5 1ac99b1660
Deploy App / deploy (push) Successful in 27s
Nordgrenze zum Nachbarn, Torbogen, einfacher Rundgang
Nordgrenze
- Sitzmauer und Travertinmauer waren vertauscht. Der Plan zeichnet aussen,
  auf der Terrasse der Nachbarn, die "Sitzmauer" (0.55 tief, rund 40 cm
  hoch: Terrasse -1.77, Krone -1.35) und direkt dahinter die
  "Travertinmauer", die jetzt bis auf das Niveau der Nachbarn hinunter-
  reicht - sie sehen Naturstein statt Beton.
- Terrasse der Nachbarn fest auf -1.77.
- Schotterwiese (Flaechen 4 und 5) eben: quer kein Hang mehr, laengs folgt
  sie der Feuerwehrzufahrt. Unter der Ligusterhecke fassen Winkelelemente
  den Garten der Nachbarn, so wie der Plan sie dort beschriftet. Wiesen mit
  fester Ebene werden jetzt plan gerendert statt dem Raster zu folgen.
- Eingang fuer die Nachbarn: Travertinstufe in der Luecke zwischen Hecke
  und Mauer ("Stufe" im Plan), darueber ein Torbogen aus Cortenstahl mit
  Kletterrose. Kein Tor.

Rundgang
- Klick auf den Boden laeuft dorthin, Ziehen dreht den Blick. Kein
  Mausfang mehr.
- Weiches Anfahren und Bremsen, gedaempftes Nachfuehren bei Stufen statt
  Fall-und-Aufprall, Rutschen an Hindernissen.
- Travertinmauern mit fester Krone sind begehbar; man steigt ueber die
  Sitzmauer vom Sitzplatz auf den Rasen, statt springen zu muessen.
- Gartentor oeffnet sich beim Naehertreten und schliesst hinter einem, E
  uebersteuert. Schwelle unter dem Tor schliesst die Luecke zum Podest.
- Blickrichtung blieb beim Wechsel Uebersicht/Rundgang nicht erhalten
  (Vorzeichenfehler in yawDegrees).
- mergeGeometries loest indizierte Geometrien vorher auf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 09:50:44 +02:00

66 lines
2.8 KiB
HTML

<!doctype html>
<html lang="de-CH">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, user-scalable=no" />
<meta name="theme-color" content="#2c3a2a" />
<meta name="description" content="Begehbare 3D-Visualisierung des geplanten Gartens an der Egglihaldenstrasse 9a in Abtwil, massstäblich aus dem Gartenplan der Garten Design AG." />
<title>Garten Egglihaldenstrasse 9a &middot; 3D-Visualisierung</title>
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ctext y='26' font-size='26'%3E%F0%9F%8C%B3%3C/text%3E%3C/svg%3E" />
</head>
<body>
<canvas id="view"></canvas>
<div id="loader">
<div class="loader-inner">
<div class="loader-title">Garten Egglihaldenstrasse 9a</div>
<div class="loader-bar"><span id="loader-fill"></span></div>
<div class="loader-note" id="loader-note">Gartenplan wird aufgebaut …</div>
</div>
</div>
<div id="hud" hidden>
<header id="topbar">
<div class="brand">
<strong>Garten Egglihaldenstrasse&nbsp;9a</strong>
<span>Abtwil SG &middot; Gartenplan 1, Garten Design AG</span>
</div>
<div class="topbar-actions">
<button id="btn-mode" type="button" title="Zwischen Rundgang und Übersicht wechseln">Übersicht</button>
<button id="btn-info" type="button" title="Informationen zum Plan">Info</button>
</div>
</header>
<nav id="views" aria-label="Standorte"></nav>
<div id="timebar">
<label for="time">Tageszeit <output id="time-out">14:00</output></label>
<input id="time" type="range" min="4" max="23" step="0.25" value="14" />
<label for="season">Datum <output id="season-out">21. Juni</output></label>
<input id="season" type="range" min="1" max="365" step="1" value="172" />
</div>
<div id="crosshair"></div>
<div id="hint">
<span class="desktop">Auf den Boden klicken: dorthin gehen &middot; Ziehen: umsehen &middot; <kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> gehen &middot; <kbd>Leertaste</kbd> springen</span>
<span class="touch">Auf den Boden tippen: dorthin gehen &middot; rechts wischen: umsehen</span>
</div>
<div id="joystick" hidden><div id="joystick-knob"></div></div>
<aside id="info" hidden>
<button id="info-close" type="button" aria-label="Schliessen">&times;</button>
<h2>Über diese Visualisierung</h2>
<div id="info-body"></div>
</aside>
</div>
<noscript>
<p style="padding:2rem;font:16px system-ui">Für die 3D-Visualisierung wird JavaScript benötigt.</p>
</noscript>
<script type="module" src="/src/main.ts"></script>
</body>
</html>