Commit Graph

  • 08daee3258 Feat: render cache debug tooling with per-frame stats and review fixes phranck 2026-02-05 14:40:58 +01:00
  • 773bb15f2b Feat: render performance phase 2 — cache invalidation fix + Equatable conformances phranck 2026-02-05 14:21:12 +01:00
  • 3e870335ef Chore: add 2026-02-05 completed items and render performance backlog entry phranck 2026-02-05 13:05:50 +01:00
  • f59f5330d4 Chore: finalize social-lookup plan and update status files phranck 2026-02-05 13:05:38 +01:00
  • 64fe55eda2 Feat: replace Branches stat card with Open Issues on dashboard phranck 2026-02-05 12:17:39 +01:00
  • 631d451eca Feat: optimize social lookup with GitHub Social API, instance validation, and timeouts phranck 2026-02-05 12:17:33 +01:00
  • cca0f242fa Docs: update plan status markers for completed and superseded features phranck 2026-02-05 02:01:00 +01:00
  • 60c8edf795 Fix: pad heatmap to full year and update activity cache with 52 weeks phranck 2026-02-05 01:27:16 +01:00
  • 3ca22e1944 Fix: cap heatmap cell size via MIN_COLUMNS to prevent oversized cells phranck 2026-02-05 01:10:39 +01:00
  • c77142ede6 Fix: add missing useEffect import and fix AvatarMarquee overflow phranck 2026-02-05 01:02:30 +01:00
  • 32b30b7387 Reapply "feat: fall back to cached weeklyActivity from weekly-activity-cache.json when /stats/commit_activity is unavailable" phranck 2026-02-04 22:04:31 +01:00
  • 59b2a303ce Reapply "perf: preload stargazer avatars for instant Stargazers panel" phranck 2026-02-04 22:04:31 +01:00
  • b89c78f014 Revert "feat: fall back to cached weeklyActivity from weekly-activity-cache.json when /stats/commit_activity is unavailable" phranck 2026-02-04 21:59:49 +01:00
  • 15633047bc Revert "perf: preload stargazer avatars for instant Stargazers panel" phranck 2026-02-04 21:59:49 +01:00
  • e9cea4b2bf perf: preload stargazer avatars for instant Stargazers panel phranck 2026-02-04 21:57:19 +01:00
  • c891e6ca6e feat: fall back to cached weeklyActivity from weekly-activity-cache.json when /stats/commit_activity is unavailable phranck 2026-02-04 21:54:39 +01:00
  • 4f57e49d0b Fix: Marquee hover stops only for visible avatars; prevent heatmap popover flicker phranck 2026-02-04 21:42:22 +01:00
  • abfc3a05e9 feat(dashboard): add iOS-like swipe/drag with momentum to marquee phranck 2026-02-04 21:28:42 +01:00
  • a6930f17be feat(dashboard): add stargazer avatar marquee with horizontal scroll phranck 2026-02-04 21:23:15 +01:00
  • c78d439c4d feat(dashboard): add social account lookup for stargazers phranck 2026-02-04 20:09:55 +01:00
  • 304860ba37 Add stargazer Mastodon lookup plan, translate dashboard plan to English phranck 2026-02-04 18:38:53 +01:00
  • 51e02fb306 Add Ko-fi donation link to README phranck 2026-02-04 18:15:37 +01:00
  • 3cedf75376 Update README, added Copilot instructions file phranck 2026-02-04 17:16:14 +01:00
  • c6b4b3c77c Chore: Add project docs, plans, and Gource visualization phranck 2026-02-04 16:47:04 +01:00
  • df564fba42 Perf: Preload hard-drive-boot audio for faster playback phranck 2026-02-04 16:11:12 +01:00
  • cfc81d6172 Redeploy: Remove exposed token from build phranck 2026-02-04 15:22:25 +01:00
  • d58796f7ea Trigger redeploy without exposed token phranck 2026-02-04 15:12:06 +01:00
  • 756f23bc1f Fix: Disable StatePropertyWrapperTests on Linux due to Swift runtime race condition phranck 2026-02-04 14:56:48 +01:00
  • 3b1f25855e Fix: Only add Authorization header when token is non-empty phranck 2026-02-04 14:49:54 +01:00
  • 60e241699e update README phranck 2026-02-04 14:37:37 +01:00
  • 668029077d update README by adding a warning message phranck 2026-02-04 14:35:34 +01:00
  • a0f31a4e5e Merge pull request #73 from phranck/feat/project-dashboard phranck 2026-02-04 14:32:17 +01:00
  • f9b106e509 Feat: Unified IconBadge component for SF Symbols phranck 2026-02-04 14:18:54 +01:00
  • 5b3f23b213 Merge pull request #72 from phranck/feat/project-dashboard phranck 2026-02-04 03:24:24 +01:00
  • 5855f10154 add dashboard page phranck 2026-02-04 03:20:39 +01:00
  • a930f9ffa8 Chore: Update test count badge to 503 tests [skip ci] Frank Gregor 2026-02-03 23:43:34 +00:00
  • f2f88a7a8f Merge pull request #71 from phranck/feat/subtree-memoization phranck 2026-02-04 00:28:11 +01:00
  • 443aad2a90 Fix: Remove global RenderNotifier mutation from EquatableView test to prevent Linux race condition phranck 2026-02-04 00:17:15 +01:00
  • a705414c82 Feat: Add subtree memoization via EquatableView (render pipeline phase 5) phranck 2026-02-03 23:08:17 +01:00
  • 2973d11cb9 Merge pull request #70 from phranck/refactor/palette-consolidation phranck 2026-02-03 22:33:44 +01:00
  • cb00b29d56 Refactor: Nest PalettePreset as SystemPalette.Preset phranck 2026-02-03 22:31:33 +01:00
  • ea44f1fd13 Refactor: Consolidate 6 palette structs into PalettePreset enum + SystemPalette phranck 2026-02-03 22:27:59 +01:00
  • 3f83562b69 Chore: Update test count badge to 485 tests [skip ci] phranck 2026-02-03 21:16:59 +00:00
  • 476b23a0f4 Merge pull request #69 from phranck/refactor/extension-separation phranck 2026-02-03 22:14:46 +01:00
  • 7cfa99f6f6 Fix: SwiftLint empty_count violation — use isEmpty instead of count > 0 phranck 2026-02-03 22:07:54 +01:00
  • df9cb27c88 Refactor: Apply extension separation rule to all 35 Swift source files — move ~135 functions from type bodies into access-level-prefixed extensions (public/internal/private) phranck 2026-02-03 22:05:46 +01:00
  • df4ee3253b Feat: AppHeader — framework-managed header bar rendered outside the view tree phranck 2026-02-03 21:21:41 +01:00
  • f77cd8bdec Chore: Unified file headers across all Swift files phranck 2026-02-03 20:48:29 +01:00
  • 55fbfb0f4f Refactor: Dimmed overlay background with palette colors, ANSI-aware compositing, centered overlays phranck 2026-02-03 20:48:14 +01:00
  • 7be9c05343 Refactor: Single-line bracket buttons, palette-based styles, brighter elevated background phranck 2026-02-03 18:27:04 +01:00
  • db03e4e41c Refactor: HSL-based color system for all palettes — lighter/darker preserve hue, unified baseHue architecture phranck 2026-02-03 18:11:39 +01:00
  • dc6e3b6437 Merge pull request #68 from phranck/feat/focus-sections phranck 2026-02-03 17:12:47 +01:00
  • 55ff393682 Test: Focus sections, Color.lerp, PulseTimer, StatusBar cascading, border indicator phranck 2026-02-03 17:03:59 +01:00
  • 93958e0308 Feat: Modal/Alert as focus sections — replace focusManager.clear() with section activation phranck 2026-02-03 16:59:57 +01:00
  • b078661e7e Feat: StatusBar cascading — .statusBarItems(.merge/.replace) composition API phranck 2026-02-03 16:58:33 +01:00
  • 818fc5d198 Feat: Breathing focus indicator — pulsing ● in active section border phranck 2026-02-03 16:52:50 +01:00
  • b7f51e1b85 Fix: Preserve focus state across render passes phranck 2026-02-03 16:47:20 +01:00
  • 8ebda6371e Feat: Section-aware navigation — Up/Down cycles within active section phranck 2026-02-03 16:43:34 +01:00
  • 2a3c96e782 Feat: Add FocusSection registration — section-aware FocusManager and .focusSection() modifier phranck 2026-02-03 16:41:37 +01:00
  • 384ebeb7f7 Merge pull request #67 from phranck/feat/overlays-demo-redesign phranck 2026-02-03 13:46:57 +01:00
  • 5975820ed4 Test: Fix flaky state tests by eliminating global RenderNotifier mutation phranck 2026-02-03 13:45:08 +01:00
  • 186e444fcc Fix: ESC closes modal via StatusBar context switching phranck 2026-02-03 12:35:07 +01:00
  • ca9a0cf49c Fix: Modal focus isolation, ESC dismiss, footer layout, palette colors phranck 2026-02-03 12:28:39 +01:00
  • 7e69b9e924 Fix: Right-align dismiss buttons in all overlay demo variants phranck 2026-02-03 02:22:46 +01:00
  • 44895b59cc Feat: Redesign OverlaysPage with interactive demo menu phranck 2026-02-03 02:19:12 +01:00
  • 8f8d823ffc Chore: Update test count badge to 456 tests [skip ci] phranck 2026-02-03 01:08:21 +00:00
  • c1d83ef915 Merge pull request #66 from phranck/chore/dead-code-cleanup phranck 2026-02-03 02:06:59 +01:00
  • d26dc795ce Merge pull request #65 from phranck/feat/swiftui-presentation-api phranck 2026-02-03 02:06:29 +01:00
  • 82c8eaf4b2 Fix: Enforce absolute SwiftUI API parity for .alert() modifier phranck 2026-02-03 02:03:39 +01:00
  • d25705f219 Fix: Remove redundant content rendering when isPresented is false phranck 2026-02-03 01:58:07 +01:00
  • cece3aab68 Fix: Replace Button with Text in presentation modifier tests to avoid FocusManager pollution phranck 2026-02-03 01:44:18 +01:00
  • f9488e839c Chore: Remove 19 dead production symbols and 12 dead tests phranck 2026-02-03 01:40:35 +01:00
  • 45503c0d80 Feat: Add SwiftUI-style presentation API with .alert() and .modal(isPresented:) phranck 2026-02-03 01:34:30 +01:00
  • 3f73327ca2 Refactor: Self-review fixes — early return, test correctness, doc completeness phranck 2026-02-03 01:11:09 +01:00
  • f07feb1ed6 Merge pull request #64 from phranck/refactor/render-pipeline-phase4 phranck 2026-02-03 01:06:47 +01:00
  • 71ec79d34a Refactor: Render Pipeline Phase 4 — remove terminal from RenderContext, update docs phranck 2026-02-02 22:30:20 +01:00
  • 1cb2d35696 Merge pull request #63 from phranck/refactor/render-pipeline-phase3 phranck 2026-02-03 01:02:40 +01:00
  • ed797ac054 Chore: Update test count badge to 455 tests [skip ci] phranck 2026-02-03 00:00:41 +00:00
  • 176cfc0db3 Refactor: Cache FrameBuffer.width, eliminate redundant regex and ioctl calls phranck 2026-02-02 22:10:37 +01:00
  • 8c2e545fed Merge pull request #62 from phranck/refactor/render-pipeline-phase1 phranck 2026-02-03 00:58:55 +01:00
  • 0d6f4a7bf3 Fix: CI concurrency group was static — runs cancelled each other phranck 2026-02-02 21:55:39 +01:00
  • a26582bfd8 Refactor: Frame-buffered output — collect all writes per frame, flush in one syscall phranck 2026-02-02 21:52:32 +01:00
  • 5a2c8109c9 Refactor: Self-review fixes — deduplicate diff logic, fix redundant buildEnvironment call phranck 2026-02-02 21:38:18 +01:00
  • dc34b0fa55 Refactor: Line-level diff rendering — only write changed terminal lines phranck 2026-02-02 21:33:43 +01:00
  • 45222115cd Merge pull request #61 from phranck/feat/spinner-view phranck 2026-02-02 20:59:59 +01:00
  • 1c3057df54 Fix: Align last trail opacity with inactive dot opacity (0.15) phranck 2026-02-02 20:59:34 +01:00
  • 020afa75b0 Refactor: Use uniform dot character (●) for bouncing spinner with 6-step fade trail phranck 2026-02-02 20:53:12 +01:00
  • 2cdb0dd3db Refactor: Simplify Spinner API — remove speed, track width, and trail length enums phranck 2026-02-02 20:25:38 +01:00
  • c6ee32f02d Fix: Replace CFAbsoluteTimeGetCurrent with Date for CI portability phranck 2026-02-02 20:10:12 +01:00
  • dec8c7c29f Feat: Add Spinner view with dots, line, and bouncing styles phranck 2026-02-02 19:57:58 +01:00
  • 40e78ebdf3 Chore: Update test count badge to 424 tests [skip ci] phranck 2026-02-02 17:46:21 +00:00
  • 62e83598f9 Merge pull request #60 from phranck/refactor/state-storage-identity phranck 2026-02-02 18:44:27 +01:00
  • bb6b23f0da Fix: Rename @State var count to countValue to avoid SwiftLint empty_count false positive phranck 2026-02-02 18:36:59 +01:00
  • 50825d61da Feat: Structural identity for @State — persistent state across view reconstruction phranck 2026-02-02 18:31:53 +01:00
  • e2f654423a Fix: Cache scene in RenderLoop to preserve @State across render passes phranck 2026-02-02 17:41:58 +01:00
  • 6b6d4e8945 Merge pull request #59 from phranck/refactor/eliminate-appstate-singleton phranck 2026-02-02 17:37:58 +01:00
  • 1877ae65e6 Refactor: Eliminate AppState singleton via RenderNotifier and constructor injection phranck 2026-02-02 17:31:52 +01:00
  • 45e00e43db Merge pull request #58 from phranck/fix/flaky-state-test phranck 2026-02-02 17:12:04 +01:00
  • baa7912874 Fix: Isolate AppState tests to prevent race condition on Linux phranck 2026-02-02 17:09:58 +01:00
  • 7884949a17 Merge pull request #57 from phranck/chore/weak-test-rewrites phranck 2026-02-02 17:01:04 +01:00