|
|
fea15e61c8
|
fix: resolve 11 P1 bugs from audit (leaderboard, SQL, coop, jump, lifecycle, schematics, config)
- leaderboard: parse M:SS.mmm/H:MM:SS(.mmm), switch TIME sort to long (п.25)
- sql: single Hikari pool, non-blocking connect, adaptive init order, settings JSON round-trip (п.27-30)
- coop: remove unregister recursion via session-only leave + reentrancy guard (п.24)
- jump: perpendicular jitter for diagonal heading, valid safety-fallback on retry exhaustion (п.32-33)
- lifecycle: fall threshold relative to course, lead via generated-blocks counter, one-time rewards once (п.35-37)
- schematics: catch RuntimeExceptions, validate size, 10MB file limit (п.31)
- config merge: preserve block-sequence lists and ignored sections, fix path reversal (п.26)
- tests: +31 (score, jump, schematics, config merge) = 72 total
|
2026-08-06 10:49:05 +02:00 |
|
|
|
de47bce56e
|
refactor: apply 'one folder = one purpose' rule to overflowed packages
- Split by sub-purpose: storage/sql -> schema/+query/+repo/, adaptive/core ->
calc/+metrics/+model/, command/admin -> ops/+support/, api/event ->
session/+score/+generation/, menu/core -> screen/, config/core -> merge/,
config/options -> section/, player/service -> ui/, hook/papi -> resolver/
(done), mode/impl -> solo/+multi/+barrier/ (done)
- Move util/gui migration stubs -> menu/gui; lpschem POJOs -> pojo/
- Cross-package classes made public (signatures unchanged); fixed imports
- docs/ARCHITECTURE.md + TODO.md updated
- Build green: checkstyle 0 errors, PMD 34
|
2026-08-05 18:50:39 +02:00 |
|
|
|
81788e71ed
|
refactor: decompose god-classes, add lint gates, restructure packages
- Decompose all 11 god-classes (>200 lines) into facade + collaborators
(command/, schematic/, config/, generator/, mode/, papi/, adaptive/,
storage/, player/, leaderboard/) — every file is now <=200 lines
- Add PMD 7 (report-only) + stricter checkstyle rules (NPath, IllegalCatch,
NestedDepth, Whitespace, MissingOverride); fix real bugs found
(printStackTrace, resource leaks in ConfigLoader/SQLStatsStorage)
- docs/ARCHITECTURE.md: target structure + 'one folder = one purpose' rule
- Pilot restructure: command/core|util/, mode/impl/solo|multi|barrier/,
hook/papi/resolver/; cross-package classes made public
- TODO.md: track warning cleanup (132-138) + restructure progress
|
2026-08-05 18:33:21 +02:00 |
|