maniator / maniator/verticopolis
[Feature]: [P3] Finance Window equivalent (two-ledger income/maintenance report)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Imported from the engineering backlog (
_bmad-output/implementation-artifacts/backlog.md, storyfinance-1010).
Priority P3 (do-first order) | Severity: n/a | Status: idea | Epic: OpenSkyscraper docs | Type: feature-request | Recorded: 2026-07-07
Problem / motivation
Owner-requested 2026-07-08 (saw the real game's Finance Window and wants an equivalent in our UI): a two-column Total Income / Total Maintenance sheet with a Population + Income column per facility line and a Maintenance Expense column, plus Net Revenues / Other Income / Construction Costs / Last Quarter's Balance / Total Balance rows, hiding zero lines ("Items with no income or expenses are not displayed"). This validates §9's layout AND the per-line population semantics (see population-census-parity: the real window shows Fast Food population 175, Office 48, Condo 45). Ready: S–M. Align the income report with the original's finance taxonomy (docs/canon/tdt-format.md §9): 10 income + 10 maintenance categories. Extend LedgerCat additively (hotel single/double/suite split; parking/metro/service maintenance lines; Ledger.restore's sanitizeDay drops unknown keys so no version bump), rework buildIncomeHtml as a two-ledger Income | Maintenance layout keeping our net-summary line; dim zero rows; stacks on phone. Patch bump if lines change.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read docs/canon/tdt-format.md §9, then trace LedgerCat, Ledger.restore’s sanitizeDay handling, and buildIncomeHtml. Confirm the two-ledger taxonomy and population semantics against the stated facility examples. Done means the report has the requested income and maintenance lines, summary rows, zero-line treatment, and phone stacking without breaking ledger restoration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100