From 84d9a392db4d7639b3de6c26926a3dc53490d477 Mon Sep 17 00:00:00 2001 From: Samuel Zielke Date: Wed, 21 Oct 2026 13:52:18 +0200 Subject: [PATCH] docs: mark milestone 0 as passed Co-Authored-By: Claude Opus 5.5 --- docs/04-fahrplan.md | 18 +++++++++++++----- docs/05-testplan-hardware.md | 8 ++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docs/04-fahrplan.md b/docs/04-fahrplan.md index 02251f6..99ae77f 100644 --- a/docs/04-fahrplan.md +++ b/docs/04-fahrplan.md @@ -14,11 +14,11 @@ Jeder Meilenstein endet mit einem Abnahmetest. Erst wenn er bestanden ist, begin | M7 | Generalprobe | nein – braucht ZowieBoxen, Switches, Dante, Ui12 | ## M0 – Grundgerüst -- [ ] Xcode-Projekt „Musubi“, macOS 14, Universal Build (arm64 + x86_64), Bundle-ID `studio.zielke.musubi` -- [ ] Modulstruktur laut `02-architektur.md` -- [ ] NDI SDK eingebunden (Modulemap), Version wird beim Start geloggt -- [ ] `design/Theme.swift` übernommen, leeres Hauptfenster mit Quellenliste -- [ ] Swift-Testing-Target mit erstem Test für `MusubiCore` +- [x] Xcode-Projekt „Musubi“, macOS 14, Universal Build (arm64 + x86_64), Bundle-ID `studio.zielke.musubi` +- [x] Modulstruktur laut `02-architektur.md` +- [x] NDI SDK eingebunden (Modulemap), Version wird beim Start geloggt +- [x] `design/Theme.swift` übernommen, leeres Hauptfenster mit Quellenliste +- [x] Swift-Testing-Target mit erstem Test für `MusubiCore` - **Abnahme:** Release-Build startet auf MacBook **und** Mac mini 2018; die Quellenliste zeigt eine NDI-Testquelle aus dem Netz. ## M1 – Bild @@ -68,3 +68,11 @@ Jeder Meilenstein endet mit einem Abnahmetest. Erst wenn er bestanden ist, begin ## Erkenntnisse _(nach jedem Meilenstein ergänzen)_ + +### M0 – Grundgerüst (bestanden 2026-10-21) +- Abnahme: Release-Build auf Mac Studio (Apple Silicon, Entwicklungsrechner) und Mac mini 2018 (i5-8500B, macOS 15.7.7) gestartet; beide zeigen „NDI Test Patterns“ in der Quellenliste. Das MacBook nutzt denselben arm64-Teil und wurde nicht separat geprüft. +- Xcode 27 baut weiterhin x86_64 für macOS 14. +- NDI SDK 6.3.2: `libndi.dylib` ist universal und hat `@rpath/libndi.dylib` als Install-Name; Einbetten nach `Contents/Frameworks` reicht. +- Hardened Runtime + Ad-hoc-Signatur → dyld lehnt die eingebettete `libndi.dylib` ab („different Team IDs“). Vorerst aus; mit echter Team-ID für die Notarisierung wieder einschalten. +- Mac mini im Leerlauf mit Quellensuche: ca. 2 % CPU, ca. 52 MB RAM. +- Mac mini ist per SSH erreichbar (Entfernte Anmeldung + Bildschirmfreigabe): App per `scp` verteilen, Quarantäne entfernen, Logs mit `log stream` mitlesen. diff --git a/docs/05-testplan-hardware.md b/docs/05-testplan-hardware.md index 975cf99..626e884 100644 --- a/docs/05-testplan-hardware.md +++ b/docs/05-testplan-hardware.md @@ -26,10 +26,10 @@ Sobald die bestellte Hardware da ist, wird der echte Aufbau zu Hause nachgestell ## Phase B – mit Musubi (je nach Meilenstein) -- [ ] M0: Release-Build erzeugen (Xcode → Product → Archive oder `xcodebuild -scheme Musubi -configuration Release`), `lipo -info Musubi.app/Contents/MacOS/Musubi` zeigt `x86_64 arm64` -- [ ] M0: App auf MacBook starten; in Console.app (Filter `studio.zielke.musubi`) steht die NDI-Version -- [ ] M0: App auf Mac mini 2018 kopieren, per Rechtsklick → Öffnen starten (ad-hoc signiert, Gatekeeper fragt); Rückfrage „Lokales Netzwerk“ erlauben -- [ ] M0: NDI Tools Test Patterns (oder OBS + DistroAV) auf einem anderen Gerät starten → Quelle erscheint auf beiden Macs in der Quellenliste +- [x] M0: Release-Build erzeugen (Xcode → Product → Archive oder `xcodebuild -scheme Musubi -configuration Release`), `lipo -info Musubi.app/Contents/MacOS/Musubi` zeigt `x86_64 arm64` +- [x] M0: App auf MacBook starten; in Console.app (Filter `studio.zielke.musubi`) steht die NDI-Version +- [x] M0: App auf Mac mini 2018 kopieren, per Rechtsklick → Öffnen starten (ad-hoc signiert, Gatekeeper fragt); Rückfrage „Lokales Netzwerk“ erlauben +- [x] M0: NDI Tools Test Patterns (oder OBS + DistroAV) auf einem anderen Gerät starten → Quelle erscheint auf beiden Macs in der Quellenliste - [ ] M1: Mac mini zeigt PGM + Multiview 4 h ohne Aussetzer; CPU-Last: ___ % - [ ] M1: Latenz Multiview messen (Uhr mit Millisekunden vor Kamera → ATEM → ZowieBox → Musubi): ___ ms