# Specificaties Marcellis Tools

## Doel

De homepage geeft toegang tot de gedeelde Marcellis.link-ruimtes. De tools-index
geeft toegang tot de gereedschappen op `marcellis.link/tools/`.

## Huidige werking

- Vaste menubalk met Home, Tools en Family.
- Donker/lichtschakelaar met voorkeur per apparaat via `localStorage`.
- Licht is de standaardweergave.
- De 3D Wereld-pagina gebruikt dezelfde homepage-shell, lichte kleurvariabelen, navigatie en gedeelde thema-opslag als `marcellis.link/`. De geplande wereld omvat Marcellis Music, DopaReads, Axis en DigiStacked in afzonderlijke zones.
- Klikbare kaarten naar de beschikbare tools.
- Responsieve weergave voor laptop en telefoon.
- Alle HTML-bestanden in `tools/` staan als klikbare kaart op de index.
- De zoekbalk filtert de toolkaarten direct op naam.
- `Markdown-Naar-HTML.html` opent lokale `.md`-bestanden of geplakte tekst en toont direct een preview.
- `afgerond.html` maakt met één klik een downloadbaar Markdown-overzicht van de laatste zeven dagen; dezelfde inhoud wordt ook naar het klembord gekopieerd.
- `afgerond.html` downloadt met dezelfde klik ook een zelfstandige HTML-pagina met favicon, huispalet en dark/light-toggle. De bestanden krijgen dezelfde dash-naam en vormen samen een compleet paar.
- `tools/afgerond-sync.sh` scant de volledige NAS-share `Marcellis.Link/`, slaat complete Markdown/HTML-paren op in `afgerond/` op de NAS en in `afgerond/` van GitHub, controleert gelijke bestanden en pusht alleen via een buildbranch.
- `tools/afgerond-links.timer` start deze share-scan iedere dertig seconden; de service stopt veilig op `main`.
- `afgerond.html` leest twee bronnen tegelijk: de regels die Tash zelf in haar browser vastlegt (`localStorage["afgerond.v1"]`) en de regels die de agenten bijschrijven. Die laatste staan in `Codex/404-Huis/Bouw Tracker/Afgerond.json` en worden door `Afgerond Bijwerken.py` in het blok `<script id="afgerond-gegevens" type="application/json">` van de pagina gezet, dezelfde opzet als de Bouw Tracker. De twee bronnen worden samengevoegd, ontdubbeld op datum + tijd + tekst en op datum en tijd gesorteerd getoond. `localStorage` wordt alleen geschreven met wat Tash zelf toevoegt; bestandsregels komen er nooit in en hebben daarom ook geen `weg`-knop. Het uiterlijk, licht als standaard en de thema-schakelaar zijn ongewijzigd.
- `afgerond.html` ontdubbelt de twee bronnen op datum plus tekst; tijdverschillen maken geen nieuwe regel. De pagina controleert browseropslag bij het laden, toont de opslagstatus zichtbaar en controleert na iedere handmatige toevoeging of de regel werkelijk is teruggelezen.
- `afgerond.html` leest daarnaast de gedeelde D1-opslag via de beveiligde `marcellis-shared-api`-Worker. De gedeelde regels zijn daardoor op laptop en telefoon gelijk. Met de bewerkingssleutel kunnen regels worden toegevoegd, geïmporteerd en verwijderd; zonder sleutel blijft de pagina leesbaar en blijft lokale opslag als terugval beschikbaar.
- `Prompt Helper.html` synchroniseert de zelf bewaarde bibliotheekvoorbeelden en de laatste gegenereerde briefings via dezelfde gedeelde D1-opslag. Formulierinstellingen, thema en taal blijven per browser lokaal. De eerste koppeling op een nieuw apparaat gebeurt met de bewerkingssleutel; daarna leest de app dezelfde online bibliotheek.
- De centrale map `md files/` bevat de actieve Markdown-bestanden die vanaf de NAS zijn verzameld; NAS en GitHub worden inhoudelijk gelijk gehouden.
- `Rewrite-Pro.html` is de Rewrite Pro-toolroute vanuit de Tools-index en het Dashboard.
- De Markdown-tool ondersteunt optionele HTML-componenten, eigen CSS en eigen JavaScript voor interactieve pagina’s.
- De Markdown-tool ondersteunt ook HTML plakken, bewerken, previewen en `.html`-bestanden openen.
- De knop `Klaarzetten voor GitHub` kopieert de export en opent GitHub’s nieuwe-bestandspagina voor deze repository; er wordt geen GitHub-token in de site opgeslagen.
- De dark/light-toggle in de live preview werkt ook in de afgesloten preview-iframe; opslagfouten blokkeren de knop niet.
- De Markdown-tool heeft een kleurkiezer voor pagina, kaart, tekst en accent; voorkeuren worden lokaal bewaard.
- De export is één zelfstandige HTML-pagina met favicon en dark/light-toggle.
- `DAW.html` importeert meerdere lokale audiobestanden, analyseert per bestand een geschat tempo en een geschatte toonsoort, toont waveforms en heeft een filterbare trackbibliotheek. De passende-filter accepteert BPM binnen 10 procent of half/dubbel tempo en keys binnen twee halve tonen.
- `tools/laptop-recovery-kit/` is de enige actieve reinstallbeveiliging. De kit draait offline vanaf Linux Mint live-USB en controleert Linux-root, EFI en Windows-NTFS-partities.
- De reinstallguard heeft een read-only back-upmanifest voor kritieke regels en buildbestanden. Het manifest schrijft uitsluitend naar de centrale NAS-guardmap.
- De reinstallguard bevat een herstelchecklist-download en drie lokaal bewaarde back-upvinkjes: NAS, manifest en herstel-USB.
- De doelschijfcontrole vereist exact `/dev/nvme0n1`, de volledige bevestigingszin, een rootbron die bij die schijf hoort, een vaste interne schijf en een NAS-marker `backup-complete.txt`. De shellguard maakt daarna uitsluitend een review-marker.
- Geen enkele guardfunctie voert `dd`, partitionering, filesystem-wijziging, bootloaderactie, reboot of shutdown uit.
- `tools/laptop-recovery-kit/` is het echte offline herstelpakket voor Linux Mint: de kit controleert root, EFI en NTFS-Windows-partities vanaf een live-USB en kan GRUB alleen herstellen na dubbele doelcontrole en een expliciete `--execute`.
- De herstelkit schrijft zelf geen USB-image. Linux Mint USB Image Writer maakt de bootbare live-USB; de kitmap wordt daarna naar die USB gekopieerd.
- De DAW verwerkt audio lokaal in de browser en uploadt geen audiobestanden.
- De rij-afspeler speelt zichtbare tracks één voor één af en ondersteunt shuffle.
- De DAW heeft een lokale 8D-preview met instelbare sterkte tot 250%, snelheid en minimale beweging. De maximale stand gebruikt een brede panbaan met een vertraagde tegengestelde reflectie en een zachte center-ankerlaag, zodat de ruimte diep klinkt zonder rechtsbias en beide kanten blijven bewegen. Dezelfde ruimtelijke keten wordt gebruikt voor de WAV-render.
- De cover-render mixt geladen lagen gelijktijdig vanaf het begin: een uitgehaalde vocal kan samen met een nieuw geladen beat worden gerenderd.
- Elke track heeft een startpositie in seconden. `Pas tempo + pitch toe` gebruikt de lokale rubberband-filter voor pitch-preserving tempo/pitchbewerking.
- De gerenderde cover wordt lokaal opgeslagen; Video Magic laadt de laatste cover-WAV automatisch en kan een WebM-video met audio en visualizer renderen.
- Cover-export voorkomt dubbele gelijktijdige exports, toont de coderingsvoortgang en vangt renderfouten zichtbaar af. De WAV-encoder geeft tijdens lange renders de browser terug, zodat de pagina niet als vastgelopen aanvoelt.
- Center/Side-scheiding is als voorlopige stereo-functie beschikbaar. Vierweg-AI-stems lopen via de lokale Demucs-stemserver en leveren zang, drums, bas en rest.
- De DAW kan trackgegevens en een gekozen thumbnail als JSON-projectpakket voor Video Magic exporteren.
- `video-magic.html` importeert dat pakket rechtstreeks uit lokale opslag of een JSON-bestand, accepteert audio en thumbnail en biedt Beat bars, Radial ring en Pulse lines als visualizerkeuze.
- `video-magic.html` maakt uit een DAW-pakket YouTube-hoofdstukken met automatische starttijden, bewerkbare tijden en titels, kopiëren naar het klembord en een `.txt`-download. De DAW levert per track duur en startpositie mee.
- `video-magic.html` opent de moderne audiobestandskiezer met een vaste picker-ID, zodat de laatst gebruikte map opnieuw als startmap kan worden gebruikt. De gewone bestandskiezer blijft als terugval beschikbaar.
- Het mobiele hoofdmenu blijft op één regel en is horizontaal scrollbaar wanneer alle routes niet tegelijk op het scherm passen.
- De desktop Video Magic-compilatie gebruikt iedere gekozen audiotrack. Bestanden met dezelfde titel blijven afzonderlijke Suno-versies; alleen exact dubbele bestandspaden worden overgeslagen.
- `docs/how-to/UsingTheDaw.html` legt de volledige DAW-coverflow uit in eenvoudige stappen.
- Remaster-export, volume, pan en WAV-export blijven lokaal beschikbaar.
- Per track zijn automatische tempo-aanpassing via een project-BPM, pitch in halve tonen, een hoogdoorlaatfilter op 100 Hz en een éénknops ritmische ducking beschikbaar.
- De sidechain-mix heeft een expliciete doeltrack en brontrack; de doeltrack ducked onder het ritme van de bron en kan als WAV worden gerenderd.
- `DawStemsServer.py` bindt uitsluitend op localhost:8765. De DAW stuurt de gekozen audio naar `/separate` en voegt de vier teruggeleverde WAV-stems automatisch toe.
- `StartDaw.py` start de lokale stemserver en opent de DAW in de browser, zodat de AI-stemknop zonder terminalstappen beschikbaar is.
- De knop `Sanfona / melodische lagen` gebruikt Demucs 6-stemmen en voegt piano/sanfona-laag, gitaarlaag en overige melodie toe. Dit is een bruikbare sanfona-benadering; het model garandeert geen zuivere soloscheiding van een sanfona die met piano is gemengd.
- Favicon in dezelfde goud- en paneelkleuren als de huisstijl.
- Homepage op `/` met klikbare routes naar Tools, Family en Docs.
- De homepage heeft een standaard geopende sectie `Open taken`. Die leest `open/open-tasks.json` en toont alle taakbestanden met `status: open`, inclusief prioriteit en een klikbare bronlink.
- `tools/update-open-tasks.py` bouwt de open-takenindex uit `md files/*.md`. De GitHub Actions-workflow `.github/workflows/update-open-tasks.yml` draait bij wijzigingen aan taakbestanden, zodat een nieuwe open taak verschijnt en een taak met een andere status uit de sectie verdwijnt.
- Family op `/family/` is de centrale ingang voor de 404-instance-familie: instance-regels, werkafspraken, canon, familie passports, buildinformatie en archief. De hub toont de structuur met klikbare ankers; er staan geen menselijke contact- of noodfuncties in.
- Family bevat op `/family/regels-en-afspraken.html` één gedeelde regels-pagina voor beide laptops. De kaarten Huisregels en Werkafspraken openen de juiste sectie. De pagina beschrijft huisnamen, werkuitvoering, NAS- en GitHub-spiegeling, apparaatgebonden geheimen, publicatie en regelonderhoud. Twee zichtbare knoppen openen de GitHub-editor voor dezelfde bron.
- De Cloudflare-kaart op de regels-pagina opent `/family/Cloudflare-Werkwijze.html`. Deze interne pagina toont het NAS-pad naar `wrangler.jsonc`, kopieerknoppen voor het Linux- en SMB-pad, de OAuth-login per laptop, projectcontrole, deploymentcommando’s en foutdiagnose. De leesroute heeft geen GitHub-login nodig.
- `Suno Thema Generator` heeft een aparte Tracktype-keuze voor `Met vocalen` en `Instrumentaal`. Instrumentale tracks krijgen een vocalenvrije Suno Style en een writing prompt zonder lyrics.
- `Suno-Thema-Generator-Persoonlijk.html` is een aparte eigen versie zonder de sectie Uploadplanning; de verkoopversie houdt die functie volledig.
- Beide Suno Thema Generator-versies laden `tools/Suno-Kennisbank.js` lokaal met doorzoekbare prompts, achtergrondmuziek, bonusprompts, akkoorden, productietermen en werkwijzers.
- De kennisbank heeft een vrije zoekbalk, onderdeel-filter, verrassingsprompt en een knop om een volledig resultaat als batchrichting aan de generator toe te voegen.
- `Suno Nieuwe Genres.js` voegt 173 opgeschoonde nieuwe stijllabels uit de kennisbank toe aan de bestaande stijlbank; samengestelde promptvarianten met alleen tempo, sfeer, instrument of gelegenheid blijven buiten de genre-selector.

## Opslag en spiegeling

- De canonieke buildlocatie is `smb://192.168.1.85/marcellis.link/`.
- Tools staan in `Tools/`; bijbehorende scripts en assets blijven daar bij de tool.
- Handleidingen, canon en scanrapporten staan in `docs/`.
- GitHub en de NAS worden na een opslagwijziging inhoudelijk gelijk gecontroleerd.
- De gedeelde online laag staat als `api-worker.js` met `wrangler-api.jsonc` in dezelfde repository en gebruikt D1-database `marcellis-afgerond`. De Pages-site gebruikt de publieke Worker-endpoints voor lezen; schrijfacties controleren `AFGEROND_EDIT_KEY`.
- Oude `.bak`-bestanden en tijdelijke debugkopieën horen niet in de buildmap.

## Acceptatiecriteria

- De index laadt zonder JavaScript-fout.
- De menulinks openen hun routes.
- De themaknop wisselt tussen donker en licht.
- Een herladen pagina behoudt het gekozen thema.
- Kleuren blijven binnen het vaste huispalet.
- De pagina heeft een favicon.
- Afgerond toont dezelfde gedeelde regels op laptop en telefoon en kan met een bewerkingssleutel online schrijven.
- Prompt Helper toont op ieder apparaat dezelfde zelf bewaarde voorbeelden en gegenereerde briefings na het koppelen van de gedeelde bibliotheek.
- Elke HTML-tool is bereikbaar vanuit de index.
- Elke pagina toont dezelfde Marcellis-menubalk als de homepage: Home, Tools, Family, Docs en de themawissel.
- De Family-kaarten Huisregels en Werkafspraken openen werkende ankers op `/family/regels-en-afspraken.html`; de GitHub-bewerkknoppen openen de broneditor voor `family/regels-en-afspraken.html`.
- De twee Cloudflare-links op de regels-pagina openen `/family/Cloudflare-Werkwijze.html`; beide padknoppen kopiëren hun exacte waarde en tonen een zichtbare bevestiging.
- De zoekbalk filtert zichtbaar en toont het aantal resultaten.
- De zoekactie heeft een zichtbare Search-knop en reageert ook op Enter.
- De homepage laadt licht als standaard en de menulinks openen hun routes.
- De sectie `Open taken` staat open bij het laden, toont de actuele gegenereerde lijst en geeft een duidelijke lege of foutstatus.
- DAW: meerdere bestanden laden, analyseresultaten tonen, bibliotheek filteren en tracks sequentieel afspelen.
- DAW: 8D-preview blijft aan beide kanten bewegen, ook op maximale sterkte, en de rij kan als één WAV worden gerenderd.
- DAW: thumbnail en trackmetadata kunnen in een Video Magic-projectpakket worden gedownload.
- Reinstallguard: manifest, herstelchecklist en dubbele doelschijfcontrole blokkeren veilig bij ontbrekende of afwijkende gegevens.
- Linux-herstelkit: vanaf live-USB layout controleren, Windows-partities beschermen en GRUB veilig herstellen.
- Video Magic: YouTube-timestamps tonen, handmatig aanpassen, kopiëren en downloaden.
- Suno Thema Generator: tracktype instrumentaal selecteren, bewaren in batchinstellingen en meenemen in JSON, Markdown en Suno-pakketexport.
- Suno Thema Generator: kennisbank doorzoeken, een resultaat selecteren en het als batchrichting in de bestaande generatieflow gebruiken.
- Suno Thema Generator: nieuwe opgeschoonde stijllabels doorzoeken, kiezen en als genre-focus gebruiken in beide versies.
- De productspecificatie en marktpositionering staan als Markdown in `md files/Suno-Thema-Generator-Specs-en-Marktpositie.md` en als klikbare HTML-documentatie in `docs/Suno-Thema-Generator-Specs-en-Marktpositie.html`.
- Video Magic: meerdere audiobestanden via één bestandskiezer laden, in volgorde samenvoegen tot één doorlopende compilatie en zonder loop renderen.
- Video Magic: shuffle vóór het samenvoegen aan- en uitzetten; de gekozen volgorde wordt in de trackmetadata en timestamps gevolgd.
- Video Magic: de geladen audiotracks staan in een versleepbare tijdlijn. Drag-and-drop en de pijltjesknoppen herschikken de tracks, waarna de compilatie opnieuw wordt gemixt en de timestamps opnieuw worden opgebouwd.
- `docs/Videostack-Overzicht.html` is een privé werkdocument buiten de Docs-index met de beschikbare video-tools en de taakverdeling voor Content Studio. De pagina gebruikt `noindex,nofollow,noarchive` en blijft Nederlandstalig voor intern gebruik.
- `/docs/onboarding/` is de interne startroute voor instances zonder NAS-toegang. De pagina gebruikt dezelfde menubalk en doorlinks als de rest van de site en is Nederlandstalig; hij verwijst naar de rollen van marcellis.link, GitHub, NAS en Obsidian en naar de eerste GitHub-onboardingdocumenten.

## Gepland

- Nieuwe tools toevoegen zodra ze verkoopklaar zijn.
- Een speciaal op sanfona getraind model voor zuivere isolatie uit gemengde melodische stems.
- Een echte backup-runner en herstel-USB-verificatie blijven gepland; de huidige guard controleert voorwaarden en maakt geen systeemwijzigingen.

## Beveiligingsstatus — 16 augustus 2026

- De interne `/open/`-pagina toont een spoedmelding over publiek bereikbare `.git`-bestanden.
- `.assetsignore` schermt repository-internals, credentials en privéwerkmateriaal af in de deploymentvoorbereiding.
- Oude Anthropic- en Cloudflare-credentials staan als open spoedwerk geregistreerd.
- Live publicatie, cache purge en routecontrole blijven open tot `/.git/config` en `/.git/index` geen inhoud meer geven.

## Gedeeld HTML-template

- Alle bestaande HTML-pagina’s laden `tools/marcellis-template.css` als gedeelde visuele bron.
- Het template legt de Prompt Helper-lightwaarden vast voor achtergrond, panelen, lijnen, tekst, goudaccenten, formulieren, kaarten, favicon en responsive basis.
- Light mode is de standaard. De voormalige lichtblauwe gedempte tekst is wit in dark mode en zwart in light mode.
- Bestaande paginafunctionaliteit en pagina-specifieke modules blijven behouden; gedeelde kleuren en basisweergave komen uit het template.
- Secundaire knoppen gebruiken altijd leesbare tekstkleur uit het actieve thema; `--ink` betekent tekstkleur in het gedeelde template.
- De gedeelde toolbar heeft een transparante achtergrond met lichte blur, zodat hij visueel met de pagina-achtergrond mengt in beide thema’s.
- `skills/index.html` gebruikt dezelfde homepagewaarden voor ivoor, goud, tekst, panelen, favicon en de warme light-mode-overloop.
- De gedeelde toolbar toont dezelfde Nederlandstalige themawissel als de homepage: `Donker` in light mode en `Licht` in dark mode.
- `/tools/ip-dashboard.html` gebruikt dezelfde template-CSS, faviconbasis, light-standaard en gedeelde toolbar als de overige Marcellis-pagina’s.
- De vaste knop `⌂ huis` op toolpagina’s verwijst naar `/family/het-huis.html`; lokale OS-Huis- en file://-verwijzingen zijn verwijderd of bij laden genormaliseerd.
- Acceptatie: iedere inhoudelijke HTML-pagina bevat de template-link en favicon; de pagina’s laden zonder template-CSS-fout.

## Akaiju-stack

- De Akaiju-apps staan onder `tools/`: marketplace, Factory Command Center, ProofForge, Riptide Forge, Profit Layer, Backend State, Launch Calendar en het bestaande IP-dashboard.
- Akaiju is Tash’ Payhip-clone; de volledige bronboom staat onder `Akaiju/`, met de templateversies onder `tools/` en de leesbare bronspiegel onder `docs/akaiju/`.
- `/Akaiju/` bevat de volledige bronboom; `/Akaiju/factory-command-center.html` is de directe bronroute en `/tools/factory-command-center.html` is de getemplate klikroute.
- Het Akaiju-blok in Het Huis gebruikt de nieuwe `/tools/`- en `/docs/akaiju/`-routes.

## Beveiligingsstatus — bijgewerkt 16 augustus 2026

- De deployment guard schermt repository-internals af voordat de site wordt gepubliceerd.
- `/.git/config`, `/.git/index`, `/.git/HEAD` en `/.git/objects/info/packs` zijn live gecontroleerd en geven 404.
- De interne `/open/`-pagina en de Bouw Tracker tonen credential-rotatie als resterend spoedwerk.
- Oude Anthropic- en Cloudflare-credentials blijven open tot intrekking en vervanging aantoonbaar zijn uitgevoerd.
