No description
Find a file
Trentin Davide 512ca35d8b
Some checks failed
CI / build (push) Has been cancelled
feat(app): portfolio showcase app — 7 scenes demoing all capabilities
Multi-scene Compose app demonstrating chart-realtime v0.5.0 features
end-to-end. Single Activity, sealed Screen enum + mutableStateOf for
nav (no nav library dep).

Scenes:
- LiveSensor — synthetic waveform sandbox with full control panel
  (relocated from DemoScreen.kt; behavior unchanged)
- Ecg — single-signal 250Hz ECG with P/QRS/T complex synthesis, dark
  theme, UnitAxisFormatter("mV"), MinMaxLttbLodStrategy
- StressTest — 8 signals @ 200Hz (1600 samples/sec total), MinMaxLod
  for peak preservation, live push-rate readout
- HistoryScrubber — preloads 300k samples in coroutine, then pauses
  production; demonstrates tiered buffer (Tier0 60s full-rate +
  Tier1/Tier2 LoD-decimated history) and interaction History mode
- CustomRenderer — ships AreaSignalRenderer + ScatterSignalRenderer
  in app/demo/renderers/ to demo SignalRenderer extensibility (~30
  LoC each, no library code change)
- Formatters — 4 stacked mini-charts, same data, 4 different
  AxisFormatter impls (Time / Decimal / DateTime / Unit("Hz"))
- ThemeGallery — 4 ChartTheme presets side-by-side (Light, Dark,
  Cyberpunk, Newspaper)

Material3 NavigationBar + TopAppBar. Unicode emoji as nav icons
(skips material-icons-extended dep). enableEdgeToEdge() with Scaffold
inset handling. Dark mode toggle in TopAppBar actions.

Files:
- app/demo/ShowcaseApp.kt — root composable, Screen enum, nav
- app/demo/{LiveSensor,Ecg,StressTest,HistoryScrubber,
  CustomRenderer,FormattersShowcase,ThemeGallery}Screen.kt
- app/demo/renderers/{AreaSignalRenderer,ScatterSignalRenderer}.kt
- app/demo/generators/EcgGenerator.kt
- app/demo/MainActivity.kt — hosts ShowcaseApp + dark-mode state
- app/demo/DemoScreen.kt — deleted (content moved to
  LiveSensorScreen.kt)

Preserved (used by LiveSensorScreen):
- ControlPanel.kt, DemoConfig.kt, SignalGenerator.kt,
  WaveformType.kt, PushCounter.kt

Build: assembleDebug green, APK 11.1 MB. No new Maven deps. No
library code changes. iosSimulatorArm64Test still 207/207 green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 11:02:19 +02:00
.github chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
.paul chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
app feat(app): portfolio showcase app — 7 scenes demoing all capabilities 2026-05-22 11:02:19 +02:00
chart-realtime chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
docs chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
gradle feat(chart): v0.5.0 architecture + interaction 2026-05-22 00:05:43 +02:00
samples/ios/ChartRealtimeDemo chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
.gitignore Initial commit: chart-realtime KMP library v0.4.1-SNAPSHOT 2026-05-21 01:48:51 +02:00
build.gradle.kts feat(chart): v0.4.0 portfolio hardening 2026-05-21 16:27:15 +02:00
CHANGELOG.md chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
CONTRIBUTING.md chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
gradle.properties chore(portfolio): v1.0.0 prep — docs, CI, demos 2026-05-22 10:54:26 +02:00
gradlew Initial commit: chart-realtime KMP library v0.4.1-SNAPSHOT 2026-05-21 01:48:51 +02:00
LICENSE feat(chart): v0.4.0 portfolio hardening 2026-05-21 16:27:15 +02:00
settings.gradle.kts Initial commit: chart-realtime KMP library v0.4.1-SNAPSHOT 2026-05-21 01:48:51 +02:00