TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Eine einzige HTML-Datei. Kein Backend. Deine Daten verlassen deinen Rechner nie. Öffnet die fertige Anwendung direkt – keine Installation, keine Anmeldung. Zum Mitnehmen: die index.html aus dem letzten Release – eine Datei, die auch ohne Netz läuft. Automatisch in deine Datei schreiben kann sie nur über https oder localhost , nicht per Doppelklick . Aufgabenübersicht – zoombarer Netzplan mit hervorgehobenem kritischem Pfad, darunter die angebundenen Ressourcen und Bedingungen, unten die Aufgabe zur Direktbearbeitung.README 전문 보기 ↗
Eine einzige HTML-Datei. Kein Backend. Deine Daten verlassen deinen Rechner nie.
Öffnet die fertige Anwendung direkt – keine Installation, keine Anmeldung. Zum Mitnehmen: die index.html aus dem letzten Release – eine Datei, die auch ohne Netz läuft. Automatisch in deine Datei schreiben kann sie nur über https oder localhost, nicht per Doppelklick.
Aufgabenübersicht – zoombarer Netzplan mit hervorgehobenem kritischem Pfad, darunter die angebundenen Ressourcen und Bedingungen, unten die Aufgabe zur Direktbearbeitung.
MPT plant Vorhaben von der ersten Aufgabe bis zur Auslastung der Beteiligten. Aufgaben werden verkettet, ihre Dauer als Spanne zwischen optimistisch und pessimistisch angegeben; Termine, kritischer Pfad und Puffer rechnet MPT daraus nach dem klassischen CPM-Verfahren – wahlweise für das eine oder das andere Szenario. Netzplan und Balkenplan zeigen denselben Plan aus zwei Blickwinkeln, vom Tagesraster bis zur Zehnjahressicht.
An denselben Aufgaben hängen die Ressourcen: Personen in Personentagen oder FTE, Budgets getrennt nach genehmigt, geplant und ausgegeben. Daraus entstehen Ganglinien über die gesamte Laufzeit, Auslastungswarnungen, bevor eine Person überbucht ist, und Auswertungen, die jede Summe bis auf die einzelne Position aufschlüsseln. Ein Warnzentrum sammelt, was nicht zusammenpasst – überfällige Aufgaben, offene Bedingungen, ausgeschöpfte Budgets. Dazu kommen Mandanten, Vorhaben, Tags und Bedingungen als Ordnung, ein Verlauf mit Wiederherstellungspunkten, Export nach CSV und PNG sowie ein Austauschformat, mit dem sich ein ganzer Plan von einem Sprachmodell umbauen lässt.
Eine Aufgabe anzulegen kostet einen Klick, sie zu verketten einen weiteren – im Netzplan über das grüne „+" an der Kante. Überall Auswahlfelder mit Autovervollständigung, Zahlen als Schieber, Ja/Nein als Schalter; Personen, Budgets und Tags entstehen beim Tippen ihres Namens. Jede Eingabe wirkt sofort und ist rücknehmbar: es gibt keinen Speichern-Knopf, kein Formular zum Absenden und keinen Dialog, der eine Entscheidung erzwingt. Jedes Eingabefeld erklärt beim Überfahren, was es setzt und was daraus folgt, jede Ansicht ist über die Tastatur erreichbar, und wer lieber tippt als klickt, kommt mit der Befehlspalette überall hin. Die Oberfläche zeigt in jedem Moment nur das, was zur Sache gehört – alles Weitere liegt einen Klick entfernt, nicht in einem Untermenü.
Datenschutz durch Bauweise, nicht durch Versprechen. MPT ist eine einzelne index.html, die
vollständig in deinem Browser läuft:
Das lässt sich in zehn Sekunden selbst nachprüfen – Entwicklertools öffnen, Reiter „Netzwerk", die Anwendung benutzen:
Das ist der gesamte Netzwerkverkehr: mpt/ – die Anwendung selbst, 120 kB – und ein fehlendes Favicon. Danach nichts mehr. Kein Analytics, keine Schriften, keine Telemetrie, kein Speichern „nach Hause". Planen, tippen, Datei schreiben: die Liste bleibt leer.
Damit ist MPT auch dort einsetzbar, wo eine Cloud-Lösung nicht in Frage kommt: Personalplanung, Budgets und Mandantendaten bleiben schlicht da, wo sie hingehören.
| Netzplan & Gantt | Automatisch gelayouteter Abhängigkeitsgraph, zoom- und verschiebbar, umschaltbar auf Balkenplan von Tag bis Jahr. |
| Kritischer Pfad | Klassische CPM-Berechnung inkl. Gesamtpuffer je Aufgabe – auf Knopfdruck hervorgehoben. |
| Verketten per Klick | Beim Überfahren einer Aufgabe erscheint links und rechts ein grünes „+" für Vorgänger bzw. Nachfolger. |
| Dauer als Spanne | Aufgaben dauern „4 bis 7 Tage". Ein Umschalter rechnet den ganzen Plan optimistisch oder pessimistisch. |
| Dauerläufer | Aufgaben ohne Enddatum wie „Betrieb Infrastruktur X" – laufen zehn Jahre weiter und bleichen im Gantt aus. |
| Meilensteine | Im Netzplan als Raute hervorgehoben, im Gantt als senkrechte Linie am Enddatum. |
| Ressourcen-Ganglinien | Auslastung aller Personen (FTE/PT) und Budgets (€), als gestapelte Balken je verursachender Aufgabe. Übersicht zweispaltig: links die Personen, rechts das Geld – je Spalte erst die Gesamtkurve, dann die Liste, dann die Einzelkurven. |
| Filterleiste | Zeitraum, Tags und Vorhaben an einer Stelle, in beiden Ansichten dieselbe – und darunter in einer Zeile, was gerade greift. Der Tag-Filter überlebt den Wechsel der Ansicht. |
| Warnzentrum | Alle Hinweise an einer Stelle, in einer Stufe: überfällige Aufgaben und überschrittene Grenzen. 100 % warnen nicht, 101 % warnen. |
| Parallelität | „Solange A läuft, müssen B und C laufen" – wird geprüft und gemeldet, ohne Termine zu verschieben. |
| Versionierung | Automatische Checkpoints (max. alle 10 Min, die letzten 50) plus sofortiges Undo/Redo per Strg+Z. |
| Auswertung | Öffnet man eine Ressource, steht die Aufstellung ihrer Positionen fest unter der Ganglinie – dieselbe Tabelle, kein Dialog. Die beiden Gesamtsichten zeigen dort alle Budgets bzw. alle Personen. Einzelposten zeigt jede Buchung mit Datum. Ein Klick auf einen Spaltenkopf sortiert (auf, ab, wieder wie vorher) – kopiert wird genau diese Reihenfolge, in Excel einfügbar. |
| Ein Knopf in der Ressourcenleiste: Ganglinie und Tabelle so, wie sie eingestellt sind. Leisten, Seitenleiste und Editor bleiben auf dem Bildschirm. |
Ressourcenübersicht – gestapelte Ganglinien je Person und Budget mit Grenzwertlinie, Tag-Filter und den Listen darunter.
npm install
npm run dev # Entwicklungsserver
npm test # Engine-, Migrations-, Sperr- und Exporttests
npm run build # erzeugt dist/index.html – die fertige Anwendung
Die gebaute dist/index.html lässt sich per Doppelklick öffnen, auf einen beliebigen Webserver
legen oder per E-Mail verschicken. Sie funktioniert ohne Internetverbindung.
Die Version steht an genau einer Stelle: version in package.json. Der Build spritzt sie in
die Anwendung ein, die sie klein unten rechts anzeigt.
# Version in package.json anheben, committen, dann:
git tag v1.6.0 && git push origin v1.6.0
Veröffentlicht wird ausschließlich über solche Tags. Die CI prüft, dass der Tag die Form vN.N.N
hat, auf main sitzt, zur Version in package.json passt und höher ist als der letzte Tag – erst
dann landet die gebaute Datei in GitHub Pages und im Release. dist/ steht in .gitignore; die
öffentlich abrufbare index.html kann damit nur aus einem sauberen, versionierten Lauf stammen.
Beim ersten Start erscheint eine bebilderte Kurzanleitung; sie lässt sich jederzeit über Hilfe in der Kopfzeile erneut öffnen.
Jedes Eingabefeld trägt eine Erklärung: kurz mit der Maus darüber stehen bleiben. Sie sagt, was der Wert setzt und was daraus folgt – etwa dass FTE in die Auslastung eingeht, aber nicht in die Kosten, oder dass eine Dauer von 0 „kein Enddatum" bedeutet. Dieselben Hinweise stehen gesammelt in der Kurzanleitung unter Hilfe.
Auf dem Mac gilt ⌘ statt Strg und ⌥ statt Alt; die Anwendung zeigt die Kürzel jeweils in der
Schreibweise des Systems, auf dem sie läuft.
| Kürzel | Wirkung | Kürzel | Wirkung | |
|---|---|---|---|---|
Strg+K | Command-Palette | Alt+1 | Aufgaben · Netzplan | |
Strg+Z / Strg+Y | Rückgängig / Wiederholen | Alt+2 | Aufgaben · Gantt | |
Strg+S | Sofort speichern | Alt+3 | Ressourcen | |
Strg+C / Strg+V | Aufgabe kopieren | |||
Alt+O | Datei öffnen | Alt+G | Netzplan ⇄ Gantt | |
Alt+N | Neue Aufgabe | Alt+W | Warnzentrum | |
Alt+V | Neues Vorhaben | Alt+H | Kurzanleitung |
Belegt werden nur Kombinationen, die dem Browser nicht gehören – mit zwei bewussten Ausnahmen:
Strg+S speichert die eigene Datei statt der Webseite, Strg+K öffnet die Befehlspalette.
Auf dem Mac entfällt ⌘Y (dort der Browser-Verlauf), wiederholt wird mit ⇧⌘Z.
Mandant ─┬─ Vorhaben ──── Aufgaben
├─ Personen (verfügbare FTE je Zeitraum)
├─ Budgets (Obergrenzen je Zeitraum)
├─ Tags (Farbe vergeben, zentral änderbar)
└─ Bedingungen (erfüllt / nicht erfüllt)
Eine Aufgabe startet entweder zu einem festen Datum oder ergibt ihren Start aus den Vorgängern (spätestes Ende + 1 Kalendertag). Sie bindet Personalressourcen über Personentage oder FTE und Kosten über einmalige oder wiederkehrende Beträge (alle N Tage/Wochen/Monate/Quartale/Jahre).
Termine sind Kalendertage – ein Beginn am 01.01. ist der 01.01., auch wenn das ein Samstag ist. Arbeitstage (Mo–Fr) zählen an genau einer Stelle: bei einer Dauer in AT, wo sie das Enddatum bestimmen. Kleinste Einheit ist ein Tag – keine Uhrzeiten. Eine Kette aus 4 + 8 Monaten ab dem 01.01. schließt damit auf den Tag am 31.12. ab.
Ein Budget ist entweder eine Beauftragung (BA) oder eine Investition (INV); die Marke
steht überall vor dem Namen, denn zwei Budgets dürfen gleich heißen. Bei den Obergrenzen gilt:
0 in einem gepflegten Zeitraum heißt null Euro genehmigt, und eine Gesamtobergrenze von 0
heißt „keine Grenze".
Zeiträume sind alles oder nichts. Sobald ein einziger gepflegt ist, gilt außerhalb aller Zeiträume null – 0 € beim Budget, 0 FTE bei einer Person. Der Standardwert (Gesamtobergrenze bzw. Standard-FTE) gilt nur, solange gar nichts gepflegt ist. Sonst wäre ein einzelner Zeitraum die großzügigste aller Angaben: für ihn sein Betrag, für alle übrigen Jahre der volle Rahmen. MPT weist am Feld darauf hin und meldet Lücken. Verfügbarkeiten und Obergrenzen funktionieren gleich: eine Scheibe je Kalenderjahr. Ein Eintrag ohne Enddatum verdeckt jeden späteren – es gilt der erste passende Zeitraum –, und auch das wird gemeldet. Die Zeiträume teilen dabei den Gesamtrahmen auf: summieren sie sich darüber hinaus, gilt der Gesamtrahmen und MPT meldet den Widerspruch.
Abgerufen wird je Fälligkeit – ganz oder gar nicht. Eine wiederkehrende Position zeigt ihre Termine als Reihe von Schaltern; angeklickt heißt abgerufen. MPT nimmt das nie von selbst an, auch nicht bei längst vergangenen Terminen: was geflossen ist, weiß nur, wer es einträgt.
Über der Ansicht steht ein Zeitraumwähler – Gesamt, Jahr, Quartal, Monat oder Kalenderwoche. Er begrenzt Summen und Auswertungen und bestimmt in Netzplan, Gantt und Ganglinien den Ausschnitt; die Auflösung der Diagramme ist immer eine Stufe feiner.
<name>.v<alt>.bak.json daneben abgelegt.Liegt die Datei an einem Ort, an den mehrere Leute herankommen, trägt MPT beim Öffnen einen Sperrvermerk in die Datei selbst ein und frischt ihn regelmäßig auf.
Das Zurückschreiben nutzt die File System Access API. Die gibt es nur in Chrome oder Edge am Rechner – und auch dort nur, wenn die Seite aus einem sicheren Kontext kommt:
| Aufruf | Automatisch speichern |
|---|---|
https://… (z. B. GitHub Pages) | ✅ ja |
http://localhost:… | ✅ ja |
file://… – die Datei per Doppelklick | ❌ nein |
http://192.168.… – anderer Rechner im Netz | ❌ nein |
| Safari, Firefox | ❌ nein |
Das ist die häufigste Verwechslung: Chrome kann es, die Seite darf es nur nicht. Wer die gebaute
index.html doppelklickt, landet auf file:// und bekommt deshalb keinen Dateizugriff – obwohl der
Browser stimmt.
MPT meldet den Fall direkt beim Start in einer Leiste unter der Kopfzeile und nennt dabei den konkreten Grund. Die Anwendung läuft in jedem Fall vollständig; der Bestand lässt sich über JSON herunterladen, automatisch gespeichert wird dann aber nichts.
Abhilfe für eine lokale Datei: über einen kleinen Webserver ausliefern statt doppelklicken, etwa
npx serve dist und dann http://localhost:3000 öffnen.
Über KI-Austausch → Export entsteht eine Markdown-Datei, die den vollständigen Datenbestand plus eine Beschreibung des Schemas und der Regeln enthält. Diese an ein LLM geben („Verschiebe alle Aufgaben mit Tag Extern um zwei Wochen"), die Antwort im Reiter Import einfügen – vor der Übernahme zeigt MPT genau, welche Objekte angelegt, geändert oder gelöscht werden. Auch das ist bewusst manuell: es geht nichts automatisch irgendwohin.
Der Einstiegspunkt in den Code ist ARCHITEKTUR.md – dort steht, welches Modul wofür zuständig ist und welche Regeln bei Erweiterungen gelten. Die fachlichen Anforderungen und alle getroffenen Entscheidungen stehen in agend.md.
src/
model/ Datenmodell, Migration, Factory
engine/ Arbeitstage, CPM-Terminierung, Ressourcen, Layout, Validierung
state/ Store mit Undo/Redo, Einstellungen, abgeleitete Daten
persistence/ Dateizugriff, Sperre und Checkpoints
export/ PNG der Visualisierungen, CSV des Datenbestands
ai/ Export/Import und Diff
ui/ Oberfläche (Design-System in ui/components)
CI baut bei jedem Push nach main die index.html, prüft Typen und Tests, stellt sicher, dass
dist/ genau eine Datei ohne externe Referenzen enthält, und veröffentlicht das Ergebnis über
GitHub Pages – das ist die Datei hinter dem Startknopf oben.
MIT
| Bild und Zahl verbunden | Überfährt man einen Zeitraum in der Ganglinie, leuchten die Zeilen darunter auf, die darin liegen – steht der Zeiger auf einer einzelnen Aufgabe im Balken, nur ihre. |
| Notizen im Netzplan | Freie Kacheln auf der Fläche – direkt beschreibbar, frei verschiebbar; leer geschrieben heißt gelöscht. |
| Zwei Fenster | Aufgaben und Ressourcen gleichzeitig auf zwei Bildschirmen – dieselbe Sitzung, dieselbe Datei, kein Abgleich. |
| Export | Netzplan, Gantt und Ganglinien als PNG, der gesamte Bestand als CSV für Excel – ohne Umweg über einen Dienst. |
| KI-Austausch | Exportiert den Bestand als Markdown mit Schema-Anleitung für ein LLM; der Import zeigt vor der Übernahme einen Diff. |
| Gemeinsame Ablage | Sperrvermerk in der Datei, damit auf SharePoint & Co. niemand versehentlich gleichzeitig schreibt. |
| Tastaturbedienung | Vollständig per Tab und Pfeiltasten bedienbar, mit Command-Palette auf Strg+K. |
| Hell & Dunkel | Beide Themes vollständig durchgestaltet, folgt auf Wunsch der Systemeinstellung. |