Lesbare Wasserfaelle, Verkaufspreis-Abgleich, Erklaerung wirkungsloser Treiber
Deploy App / deploy (push) Successful in 59s
Deploy App / deploy (push) Successful in 59s
Die Wasserfall-Zahlen waren korrekt (residual exakt 0), die Darstellung nicht lesbar. Neu als eigene liegende HTML/CSS-Darstellung statt Recharts: - Verbindungslinien zwischen den Balken (ohne sie zerfaellt der Wasserfall in unverbundene Rechtecke) - Wertbeschriftung an jedem Schritt - Zwischenstand und Veraenderung optisch unterschieden - Abschnitte "Am Uebergang" / "Innerhalb der Phase" - aufklappbare Tabelle mit laufendem Zwischenstand - Nullposten werden nicht gezeichnet - Restposten neu als Fehlermeldung statt beilaeufiger Rundungsnotiz Verkaufspreis einer Immobilie wird beim Wechsel auf "Verkaufen" mit dem modellierten Verkehrswert vorbelegt (nur wenn noch keiner erfasst ist); Verkehrswert und Abweichung werden ausgewiesen, ab 10 % rot abgesetzt. Die beiden Groessen bleiben bewusst entkoppelt -- ein Verkauf unter Verkehrswert ist ein realer Fall. Tornado erklaert Nullbalken statt sie stumm zu zeigen. Wichtigster Fall: Wird die Immobilie vor Planende verkauft, ist die Wertsteigerung nachweislich wirkungslos, weil der Erloes am erfassten Verkaufspreis haengt und nicht am Verkehrswert. 11 Tests ergaenzt (92 -> 103), darunter residual === 0 ueber sieben Plankonstellationen. SPEZIFIKATION auf 0.12, neue Kapitel 3.5.8, 4.13.5, 4.14.2.1, 9.22. Keine Aenderung an der Berechnung. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -226,6 +226,8 @@ export function PlanView({
|
||||
derivedStart: ce?.baseValue ?? 0,
|
||||
derivedMortgage: ce?.mortgageStart ?? 0,
|
||||
mortgageEnd: ce?.mortgageEnd ?? 0,
|
||||
// Verkehrswert = Eigenkapital + Resthypothek (beides am Phasenende).
|
||||
propertyValueEnd: (ce?.endValue ?? 0) + (ce?.mortgageEnd ?? 0),
|
||||
deflatorStart: phase.cumulativeInflationStart,
|
||||
laterPhaseCount: laterPhaseCount(phase),
|
||||
ahvCareer: careerFor(element),
|
||||
@@ -246,6 +248,8 @@ export function PlanView({
|
||||
derivedStart: 0,
|
||||
derivedMortgage: 0,
|
||||
mortgageEnd: ce?.mortgageEnd ?? 0,
|
||||
// Verkehrswert = Eigenkapital + Resthypothek (beides am Phasenende).
|
||||
propertyValueEnd: (ce?.endValue ?? 0) + (ce?.mortgageEnd ?? 0),
|
||||
deflatorStart: fromPhase.cumulativeInflationStart,
|
||||
laterPhaseCount: laterPhaseCount(fromPhase),
|
||||
ahvCareer: careerFor(element),
|
||||
@@ -1107,6 +1111,7 @@ function AddElementDialog({
|
||||
derivedStart: 0,
|
||||
derivedMortgage: 0,
|
||||
mortgageEnd: 0,
|
||||
propertyValueEnd: 0,
|
||||
deflatorStart: firstPhase.cumulativeInflationStart,
|
||||
laterPhaseCount: 0, // beim Anlegen bewusst kein Warnhinweis
|
||||
ahvCareer: null,
|
||||
|
||||
Reference in New Issue
Block a user