Nach erneutem Detailstudium des Gartenplans und der Referenzbilder darin:
- Sichtschutz ist nicht durchgehend: 28 aufrechte Travertinstelen (50x6 cm,
Dreiergruppen, Positionen direkt aus dem Plan) wechseln sich mit
Eibengruppen ab, alle in einem Dekorkiesbett. Hoehe 1.80 m gegen den
Suednachbarn, 1.50 m gegen Zollet auf der unteren Ebene.
- Zwei schwebende Travertinstufen fuehren vom gedeckten Sitzplatz (-0.02)
auf den Hauptsitzplatz hinunter, als auskragende Platten mit Schattenfuge.
- Hoehenprofil auf zwei klare Ebenen gebracht: untere Ebene -0.33,
Travertinsitzmauer mit 31 cm Ansicht, obere Ebene -0.02. Die Niveaus stehen
fest in LEVELS statt aus streuenden Koten geschaetzt zu werden.
- Jede Hoehenkote gehoert neu zu genau einer Flaeche, der kleinsten, die sie
enthaelt - sonst kippen benachbarte Ebenen ineinander.
- Der schmale Streifen am Sichtschutz ist Kiesbett, nicht Plattenbelag.
- Travertin nach den Referenzbildern deutlich heller, eigene Steintextur fuer
die Stelen; Flammengrill als Stahlkubus mit Holzfach und Feueroeffnung.
- Stirnflaechen der Hecken hatten entartete UVs und zeigten Strahlenmuster.
- tools/plan-bilder.mjs zieht die Referenzfotos aus dem Plan-PDF.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
busybox-wget loest localhost nach ::1 auf, nginx lauschte nur auf IPv4. Der
Healthcheck schlug damit dauerhaft fehl, der Container blieb 'starting', und
Traefik nimmt Container ohne 'healthy'-Status nicht in die Routing-Tabelle auf.
Daher 404 trotz korrekter Labels.
- Healthcheck auf 127.0.0.1
- nginx lauscht zusaetzlich auf IPv6
- Workflow wartet auf 'healthy' und prueft den Router
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Traefik lieferte fuer garten.aicds.ch 404, also kein passender Router.
Zusaetzliches Service-Port-Label entfernt und einen Diagnoseschritt
angehaengt, der Containerstatus, Logs, Netzwerk und Traefik-Labels ausgibt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Nach der Plankontrolle ueberarbeitet:
- Belaege sind eben. Je Belag wird aus den Hoehenkoten eine Ebene bestimmt
(Gefaelle <= 5 %, am Kotenschwerpunkt aufgehaengt, nur Koten derselben
Gelaendezone). Das Raster wird darauf gezwungen und dort nicht geglaettet.
Jeder Belag bekommt eine senkrechte Sichtkante zum Gelaende.
- Mauern sind Bauteile: Travertin-Schichtmauerwerk mit versetzten Stossfugen
und Abdeckplatte, einzelne Winkelelemente mit Fussplatte, Ortbeton in
Schaltafelfeldern.
- Sichtschutz: die Eibenreihen des Plans werden zu geschnittenen Hecken
verkettet, ebenso die Ligusterhecke. Lamellenwand im Planrhythmus.
- Der Plan zeichnet die Travertinplatten 40x60 einzeln im Dekorkies - jetzt
30 erhabene Platten an den Planpositionen statt geschlossenem Belag.
- Normalmaps aus dem Fugenbild fuer Platten, Pflaster, Holzschalung und Laub.
- Nachbarhaus Zollet richtig platziert (stand auf dem Nachbargarten) und
wie Haus 9a ausgebildet.
Behobene Fehler: boxGeometry erzeugte Seiten und Deckel mit umgekehrtem
Wickelsinn - saemtliche Boxen waren innen nach aussen gekehrt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Geometrie massstaeblich aus dem Gartenplan-PDF (1:100) extrahiert: Belaege,
Mauern, Pflanzenstandorte und 46 Hoehenkoten. Wohnhaus nach Gartenplan und
den Fassadenplaenen von EHLE Architekten.
- tools/: Pipeline PDF -> Szenenmodell (MuPDF, Node)
- src/: three.js-Szene mit prozeduralen Texturen, Rundgang und Uebersicht
- Docker/Traefik fuer garten.aicds.ch, Gitea-Workflow auf main
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>