=== DruckNavi 3D Core ===
Contributors: craftdesign
Tags: woocommerce, stl, 3mf, obj, 3d-printing, configurator
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Kostenloser 3D-Modell-Konfigurator für STL, 3MF und OBJ mit lokaler Analyse, lokaler Kalkulation und WooCommerce-Integration. DruckNavi 3D Cloud kann optional LiveSlice und signierte Cloud-Kalkulation ergänzen.

== Installation ==

1. Vollständiges Datenbank- und wp-content-Backup erstellen.
2. ZIP unter Plugins > Installieren hochladen und aktivieren. Eine Lizenz ist für Core nicht erforderlich.
3. WooCommerce > 3D-Druck-Service öffnen, Werte prüfen und speichern.
4. Den Block „DruckNavi 3D Core“ oder den Shortcode
   [craftdesign_3d_print_service] auf einer Seite einfügen.
5. Das Plugin legt neue Uploads nach Möglichkeit außerhalb des öffentlichen Webroots ab. Falls der Systembericht den Legacy-Pfad wp-content/cd3d-private meldet, muss dieser bei Nginx weiterhin ausdrücklich gesperrt werden.
6. Testbestellung mit Sandbox-Zahlungsart und Testversandzone durchführen.

== Urheberrecht und Marken ==

Copyright © 2026 Craft & Design. Die Bezeichnung und das Logo „Craft & Design“ werden als Kennzeichen von Craft & Design verwendet. WordPress, WooCommerce, Bambu Lab und weitere genannte Produktnamen sind Kennzeichen ihrer jeweiligen Inhaber. Ihre Nennung dient ausschließlich der Kompatibilitäts- und Produktbeschreibung; es besteht keine behauptete Verbindung oder Empfehlung durch diese Inhaber.

Der vollständige Hinweis und die Bedingungen zur Kennzeichennutzung stehen in NOTICE.md. Der Plugin-Code ist unter GPL-2.0-or-later lizenziert. Eine kommerzielle Lizenz kann deshalb insbesondere den Zugang zu einem externen Kalkulationsdienst, signierten Updates, Support und die Nutzung der Craft-&-Design-Kennzeichen regeln, nicht jedoch bereits durch die GPL eingeräumte Rechte am Quellcode zurücknehmen.

== Changelog ==

= 1.0.0 =
* Eigenständige kostenlose Core-Ausgabe mit lokaler Kalkulation.
* Optionaler, updatefester Erweiterungspunkt für DruckNavi 3D Cloud.
* Übernimmt vorhandene Einstellungen und Shopdaten der bisherigen Installation.

= 0.12.0 =
* Erkennt mehrere Druckplatten in Bambu-3MF-Projekten und zeigt eine verständliche Plattenauswahl im Konfigurator.
* Filtert die Browser-Vorschau auf die gewählten Druckplatten und weist die Auswahl in Warenkorb und Bestellung aus.
* Sliced gewählte Platten getrennt und summiert Druckzeit, Modellmaterial, Spülmaterial und Stützanteile für die exakte Preiskalkulation.

= 0.11.1 =
* Neue primäre Lizenz-, Kalkulations- und Slicer-API unter api.drucknavi3d.studio.
* Bestehende Installationen der Version 0.11.0 bleiben über den bisherigen Endpunkt kompatibel.

= 0.11.0 =
* Lizenzgebundene Modelldateien werden über TLS an den privaten Slicer-Dienst übertragen und dort spätestens nach vier Stunden gelöscht.
* Bambu Studio liefert exakte Materialmengen und Druckzeiten; die im Shop gepflegten Preise, Maschinenkosten und Gewinnwerte bleiben Grundlage der Kalkulation.
* Technische P1S-Profile für PLA, PETG, TPU, ASA und ABS sowie automatische tarifabhängige Statusabfrage ergänzt.
* Ein Textbaustein für die WordPress-Datenschutzerklärung dokumentiert die zentrale Slicer-Verarbeitung.

= 0.10.0 =
* Preisformel aus dem verteilbaren Shopplugin entfernt und in einen getrennten Craft-&-Design-Kalkulationsdienst ausgelagert.
* Neuer Lizenz-Reiter prüft Lizenzschlüssel, Domain, Installation und Ed25519-signierte Antworten.
* Modellkennzahlen und minimierte Kalkulationseinstellungen werden ausschließlich serverseitig über TLS übertragen; in dieser Version wurde die Modelldatei noch nicht zentral gesliced.
* Ohne gültige Lizenz, erreichbaren Dienst oder passende Signatur bleibt der Konfigurator sicher gesperrt; es wird keine Ersatzformel verwendet.

= 0.9.44 =
* Eindeutige Urheberrechts-, Lizenz- und Markenhinweise im Plugin-Header, Backend, Readme und NOTICE ergänzt.
* Technisches Schutzkonzept für einen getrennten Lizenz- und Kalkulationsdienst dokumentiert; ungültige Lizenzen sollen die Kalkulation sperren und niemals Preise verfälschen.

= 0.9.43 =
* Modellanalysen werden über die WooCommerce-Warteschlange nacheinander verarbeitet; die bestehende Oberfläche bleibt erhalten.
* Sichere Statusabfrage stellt Analyse und Konfiguration nach einem Seitenneuladen wieder her.
* Download von Kundendateien verwendet eine eigene, standardmäßig nur Administratoren zugewiesene Berechtigung.
* 15 Minuten gültige Vorschaulinks sind zusätzlich an die WooCommerce- beziehungsweise Benutzersitzung gebunden.
* Der Browser-Sitzungsspeicher enthält nur noch Upload-ID, Dateiname, Dateigröße und Konfiguration.

= 0.9.42 =
* Neuer Vorlagen-Editor für wiederverwendbare Druckermasken und herstellerbezogene Materialmasken.
* Vorlagen speichern technische Werte, Kalkulationsparameter und bei Materialien auch Farben und Aufschläge.
* Gespeicherte Vorlagen können beim Anlegen neuer Drucker- oder Materialprofile ausgewählt und übernommen werden.

= 0.9.41 =
* Stützstruktur-Zeitwert schätzt jetzt ausschließlich die manuelle Arbeitszeit zum Entfernen der Stützen und verändert keine Maschinenstunden.
* Brim vollständig aus Konfigurator, Konfiguration und Preisberechnung entfernt.
* Ausgewählte Zusatzoptionen werden mit einzeln ausgewiesenem Nettobetrag in Kalkulation, Warenkorb und Bestellung gespeichert.
* Optionaler Erstattungshinweis für nicht benötigte Zusatzleistungen im Backend aktivierbar.
* Backend in Reiter gegliedert; Material- und Druckerkarten lassen sich einklappen.
* Druckerprofile mit Bauraum, Düse, Leistung, Maschinenkosten, Startzeit und Vorlagen für P1S, X1 Carbon, A1 und A1 mini ergänzt.

= 0.9.40 =
* Ergänzt im Backend einen prozentualen Stützstruktur-Zeitaufschlag.
* Berechnet den wirksamen Zeitaufschlag anhand des Stützvolumenanteils am gesamten gedruckten Volumen.
* Standardwert 0 % erhält nach dem Update die bisherige Zeit- und Preisberechnung.

= 0.9.39 =
* Schätzt Stützmaterial aus Überhangfläche und Abstand zum Druckbett serverseitig in Gramm.
* Bezieht die geschätzte Stützmenge in Materialgewicht, Druckzeit und Preis ein und zeigt sie im Konfigurator sowie Warenkorb an.
* Der vorhandene Stützstruktur-Faktor dient als Sicherheitskorrektur der geometrischen Schätzung; bei nicht zuverlässiger Geometrie bleibt die bisherige Pauschale als Rückfall erhalten.

= 0.9.38 =
* Prüft die vollständige Vorschaugeometrie in Originalausrichtung auf relevante, nach unten gerichtete Überhänge.
* Deaktiviert und leert „Stützmaterial entfernen“, wenn im Automatikmodus kein Stützbedarf erkannt wird.
* Bleibt bei reduzierten oder fehlenden Vorschaudaten vorsichtig und überlässt die Entscheidung dem Slicer.

= 0.9.37 =
* Berechenbare Zusatzleistungen lösen keine unnötige manuelle Machbarkeitsprüfung mehr aus.
* Freitext-Hinweise bleiben als individuelle Sonderwünsche prüfpflichtig und erhalten eine eindeutige Meldung.
* Modellabmessungen und Stützstruktur-Auswahl liefern verständliche Empfehlungen zu den Zusatzleistungen; eindeutig unnötiges Entfernen von Stützmaterial wird deaktiviert.

= 0.9.36 =
* Ergänzt eine Gewinnkalkulation als Prozentsatz oder festen EUR-Nettobetrag je Exemplar.
* Behandelt einfarbig bemalte 3MF-Dateien nicht mehr fälschlich als manuell zu prüfenden Mehrfarbdruck.
* Deaktiviert die allgemeine Farbauswahl bei echten Mehrfarbmodellen und färbt einfarbige Vorschauen live mit der gewählten Shopfarbe.

= 0.9.35 =
* Behebt einen PHP-Syntaxfehler in der Mehrfarben-Spülkostenberechnung, der unmittelbar nach dem Update eine weiße Seite verursachte.

= 0.9.34 =
* Erkennt in Bambu-3MF-Dateien verwendete Filament-Slots und Farben.
* Zeigt je erkanntem Slot eine eigene Farbauswahl und übernimmt sie in die 3D-Vorschau.
* Kalkuliert Spülmaterial und zusätzliche Druckzeit aus der eingebetteten Spülmatrix als ausgewiesene Schätzung.

= 0.9.33 =
* Akzeptiert speichersparend komplexe 3MF-Dateien bis 500.000 Eckpunkte, zeigt bis 750.000 Dreiecke vollständig und kennzeichnet Bambu-Farbbemalungen für die persönliche Abstimmung.

= 0.9.32 =
* Zeigt Modelle bis 500.000 Dreiecke vollständig und begleitet längere 3MF-Aufbereitungen mit einem Fortschrittsbalken im Vorschaufeld.

= 0.9.31 =
* Verteilt die Vorschaudreiecke fair auf alle Bauteile mehrteiliger 3MF-Dateien, sodass kein großes erstes Objekt die übrigen Teile ausblendet.

= 0.9.30 =
* Zeigt Konfiguratorpreise einschließlich der in WooCommerce hinterlegten Mehrwertsteuer an.

= 0.9.29 =
* Nutzt für Druckbett und Modell die vollständige Breite des Vorschaufeldes.

= 0.9.28 =
* Normalisiert unterschiedliche Browser-Binärformate und lädt den Vorschau-Worker mit einer eindeutigen Versionskennung ohne veralteten Cache.

= 0.9.27 =
* Erstellt die Vorschaugeometrie sehr großer 3MF-Modelle speichersparend und zeigt konkrete Parserfehler an.

= 0.9.26 =
* Neutralisiert ausschließlich einen sehr kleinen Anteil exakt gegenläufiger Doppelflächen, ohne echte oder umfangreiche Meshfehler freizugeben.

= 0.9.25 =
* Verbessert Material- und Druckzeitschätzung durch Oberfläche, Schalendicke, Infill und kalibrierbare P1S-Leistungswerte.
* Zeigt das Modell maßstäblich auf einem gerasterten 256 × 256-mm-P1S-Druckbett.
* Begrenzt den wirksamen Bauraum passend zum P1S auf 256 × 256 × 256 mm.

= 0.9.24 =
* Benennt den Uploadbereich formatneutral und führt STL, 3MF und OBJ direkt im Dateifeld auf.

= 0.9.23 =
* Trennt die verpflichtende Rechte- und Inhaltsbestätigung vom Hinweis zur technischen und inhaltlichen Auftragsprüfung.
* Erläutert eine mögliche Ablehnung und Erstattung verständlich außerhalb der Checkbox.

= 0.9.22 =
* Eine aus Leistungsgründen verkürzte Topologieprüfung erzwingt nicht länger automatisch eine manuelle Anfrage.
* Bestätigte Geometriefehler sowie Preis-, Zeit-, Bauraum- und Polygongrenzen bleiben prüfpflichtig.
* Der Konfigurator zeigt die konkreten Gründe einer manuellen Machbarkeitsprüfung an.
* Komplexe, sofort bestellbare Modelle erhalten einen transparenten Hinweis zur verkürzten Kantenprüfung.

= 0.9.21 =
* Unterstützt mehrteilige 3MF-Dateien der Production Extension, wie sie unter anderem Slicer-Projekte mit externen Modellteilen verwenden.
* Liest eingebettete Modellpfade mit standardmäßigen und Windows-Pfadtrennern robust aus.
* Erstellt die lokale 3D-Vorschau auch aus referenzierten 3MF-Modellteilen.

= 0.9.20 =

* Unterstützt Upload, Analyse und Vorschau für STL, 3MF und OBJ.
* Wertet 3MF-Einheiten, Build-Transformationen und verschachtelte Komponenten aus.
* Schützt komprimierte 3MF-Dateien mit festen Entpack-, Komplexitäts- und Rekursionsgrenzen.
* Leitet OBJ wegen der fehlenden verbindlichen Maßeinheit zur manuellen Prüfung weiter.

= 0.9.19 =

* Zeigt den geschützten Dateidownload direkt unter jeder 3D-Druck-Bestellposition an.
* Behält die zusätzliche Dateiübersicht in der WooCommerce-Bestellung bei.

= 0.9.18 =

* Schließt Manipulationsmöglichkeiten bei Menge, Skalierung, STL-Volumen und technischem Basisprodukt.
* Ergänzt echte REST-Benutzererkennung, atomare Anfrage-/Byte-Limits und zwischengespeicherte Datei-Integritätsprüfungen.
* Prüft die STL-Topologie und leitet unsichere oder zu komplexe Meshes in die manuelle Machbarkeitsprüfung.
* Speichert neue Dateien außerhalb des Webroots, migriert Bestandsdateien und erweitert Cleanup sowie Deinstallation.

= 0.9.17 =

* Konfigurierbare Mengenrabatt-Staffeln im Backend, standardmäßig 5:5, 10:10, 20:15 und 50:20.
* Der Rabatt gilt für mengenabhängige Fertigungskosten, während Grundgebühr und Mindestpreise geschützt bleiben.
* Kunden sehen die Staffel direkt am Mengenfeld und den tatsächlich wirksamen Rabatt in Kalkulation und Warenkorb.

= 0.9.16 =

* Lädt den vorhandenen WooCommerce-Session-Warenkorb in der eigenen REST-Route ausdrücklich, bevor ein weiteres Modell hinzugefügt wird.
* Verhindert, dass ein zweiter Upload die zuvor hinzugefügten 3D-Druck-Positionen ersetzt.
* Bricht mit einer verständlichen Meldung ab, falls WooCommerce keine verwendbare Warenkorbsitzung bereitstellen kann.

= 0.9.15 =

* Aktualisiert Mini-Warenkorb und Warenkorbanzahl unmittelbar nach dem erfolgreichen Hinzufügen.
* Unterstützt klassische WooCommerce-Fragmente und den blockbasierten Mini-Warenkorb.
* Bewahrt bei mehreren nacheinander hinzugefügten Modellen alle bereits gespeicherten 3D-Druck-Positionen.

= 0.9.14 =
* Sämtliche allgemeinen Backend-Einstellungen werden direkt unter dem Eingabefeld erklärt.
* Konkrete Rechen- und Anwendungsbeispiele machen Gebühren, Faktoren, Prüfschwellen und Aufbewahrungsfristen nachvollziehbar.
* Der Maschinenstundensatz heißt nun verständlicher „Maschinenkosten pro Druckstunde netto“.

= 0.9.13 =
* Materialien und Farben besitzen nun ein optionales Beschreibungsfeld im Backend.
* Die Erklärung der jeweils gewählten Option erscheint direkt im Frontend-Konfigurator.
* Leere Hilfetexte bleiben unsichtbar; vorhandene Einstellungen funktionieren unverändert weiter.

= 0.9.12 =
* Behebt einen leeren Warenkorb nach dem Neuladen der Seite.
* Eigene REST-Warenkörbe setzen das WooCommerce-Sitzungscookie jetzt explizit und speichern Sitzung sowie persistenten Kundenwarenkorb vor der Antwort.
* Ein separater, nicht cachebarer Kontrollaufruf bestätigt die übertragenen Positionsschlüssel.
* Lokale Modelle werden erst gelöscht, nachdem der neue HTTP-Aufruf den dauerhaft wiederhergestellten Warenkorb bestätigt hat.

= 0.9.11 =
* Uploadbegrenzung trennt Browsersitzung und Internetanschluss statt alle Besucher ausschließlich über eine IP zusammenzufassen.
* Shop-Administratoren können wiederholte Staging-Abnahmetests ohne Uploadsperre durchführen.
* Standard: 40 Uploadversuche je Sitzung und 120 je Internetanschluss pro Stunde.
* Die vorherige pauschale IP-Sperre wird durch neue Zähler ersetzt.

= 0.9.10 =
* Der 3D-Druck-Warenkorb ist ab dem zuletzt hinzugefügten Modell vier Stunden gültig.
* Ablaufzeit wird ausschließlich serverseitig in der WooCommerce-Sitzung gesetzt und geprüft.
* Nach Ablauf werden nur 3D-Druck-Positionen entfernt; normale Shoppositionen bleiben unberührt.
* Gültigkeitszeitpunkt erscheint in den Positionsdaten von Warenkorb und Cart Blocks.

= 0.9.9 =
* Nach erfolgreichem Warenkorbtransfer startet der Konfigurator direkt wieder im normalen Ausgangszustand.
* Die bisherige Zwischenansicht mit „Weiteres Modell hinzufügen“ und „Zum Warenkorb“ wurde entfernt.
* Der reguläre Button „In den Warenkorb“ bleibt sichtbar und wird erst nach einem neuen Upload wieder aktiv.
* Bereits hinzugefügte Modelle, Vorschauen, Warenkorbwerte und gemeinsamer Versand bleiben unverändert erhalten.

= 0.9.8 =
* Aktuelle 3D-Ansicht wird beim Warenkorbtransfer als optimierte Vorschau erfasst.
* Individuelles Vorschaubild im klassischen Warenkorb, Mini-Warenkorb sowie in Cart-/Checkout-Blocks.
* Vorschauen liegen privat, werden streng als WebP/PNG geprüft und nur über kurzlebig signierte URLs ausgeliefert.
* Vorschauen werden zusammen mit der zugehörigen STL nach der eingestellten Aufbewahrungszeit gelöscht.

= 0.9.7 =
* Technisches 3D-Druck-Basisprodukt kann im Frontend nicht als Produktseite aufgerufen werden.
* Jetpack-Teilen und automatische Jetpack-Social-Veröffentlichung sind für das Basisprodukt deaktiviert.
* Basisprodukt wird aus WordPress-/Jetpack-Sitemaps ausgeschlossen und mit noindex/noarchive gekennzeichnet.
* Normale Shopprodukte und Beiträge bleiben unverändert teilbar.

= 0.9.6 =
* Mehrmodell-Auswahl erscheint direkt nach dem Warenkorbtransfer und funktioniert auch mit Cart Blocks.
* Grammpreis eindeutig als Netto-Verkaufspreis gekennzeichnet.
* Korrekte Umrechnung für WooCommerce-Shops mit inklusive Steuer eingegebenen Produktpreisen.

= 0.9.5 =
* Vorschau verwendet ausschließlich die Originalausrichtung der STL.
* Kontakt-Hinweis für mehrfarbige Drucke und besondere Wünsche.
* Direkter Mehrmodell-Ablauf über denselben Warenkorb und gemeinsamen Versand.

= 0.9.4 =
* Automatisch aufgerichtete Präsentationsansicht anhand der Modellhauptachsen.
* Facettenbeleuchtung für besser erkennbare Geometrie.
* Umschalter für automatische und originale STL-Ausrichtung.
* Verbesserte mobile Ansichtssteuerung.

= 0.9.3 =
* Behebt fehlgeschlagene Warenkorbzugänge für Gäste.
* Das verborgene WooCommerce-Basisprodukt wird veröffentlicht und automatisch migriert.
* Zusätzliche Kaufbarkeitsprüfung für das technische Basisprodukt.

= 0.9.2 =
* Behebt abgelaufene Sicherheitstoken auf zwischengespeicherten Konfiguratorseiten.
* Token wird nicht cachebar geladen und bei Ablauf automatisch erneuert.
* Abgelaufene temporäre Konfigurationen werden verständlich entfernt.

= 0.9.1 =
* Selbsterklärende Material- und Farbkarten ersetzen die JSON-Eingabe.
* Farbvorschau, Aktivierung und Aufschlag je Farbe.
* Einbauhilfe für Gutenberg und Shortcode direkt im Administrationsbereich.

= 0.9.0 =
* Erster vollständiger Staging-Testkandidat.
* Sichere ASCII-/Binary-STL-Analyse, WebGL-Vorschau und Mehrmodell-Konfigurator.
* Serverseitige Kalkulation, WooCommerce-Warenkorb, HPOS und Bestellmetadaten.
* Anfrageworkflow, Auftragsstatus, Datenschutz-Cron und Diagnose.
