rdmbair13m5-changelog-20260904-1958-unified-ecs0lib-graphing-engine
rdmbair13m5-changelog-20260904-1958-unified-ecs0lib-graphing-engine
Unified 16 portfolio graphing styles into
ECS0UI.ECS0GraphEngine in lib/ecs0lib,
certified on macOS, iOS, tvOS, and visionOS under Swift 6 strict
concurrency, and resolved a downstream concurrency race in
apps/Tyrell.
Scope
- Framework:
lib/ecs0lib(ECS0UImodule) - Hosts:
rdmbair13m5(local build/test runner),rdmsm4x(canonical hub & GitHub backup) - Downstream Consumers:
Tyrell,RTTy,LogTTY,TokenBar,ReplicantDB
Changes Made
- Unified Graphing Engine
(
lib/ecs0lib/Sources/ECS0UI/ECS0GraphEngine.swift):- Consolidated the 15 chart styles independently maintained in
RTTy(ObservationStore.swift) andLogTTY(ChartStyleRegistry.swift), plus added.circularGauge(16 total styles):.automatic,.line,.stepped,.area,.overlayArea,.stepArea,.stackedArea,.opposingArea,.scatteredDots,.impulse,.heatmap,.multiLaneHeatmap,.dualTrace,.peakEnvelope,.bars,.circularGauge.
- Vends core data models:
ECS0ChartDataPoint,ECS0ChartSeries,ECS0ChartPalette(.standard,.neon,.monochrome,.traffic). - Implements native SwiftUI views:
ECS0UniversalChartView,ECS0SparklineView,ECS0AreaChartView,ECS0BarChartView,ECS0HeatmapGridView,ECS0CircularGaugeView. - Full Swift 6 strict concurrency compliance (
Sendable,@MainActorview rendering, zero data races).
- Consolidated the 15 chart styles independently maintained in
- Graph Engine Unit Test Suite
(
lib/ecs0lib/Tests/ECS0LibTests/ECS0GraphEngineTests.swift):- Comprehensive test coverage for style completeness, series min/max calculations, empty and edge-case rendering (single-point, zero-values), and palette equality.
- Downstream Tyrell Concurrency Fix
(
apps/Tyrell/Sources/tyrelld/ControlServer.swift):- Replaced an un-isolated
TaskwithDispatchSemaphoreinside synchronous HTTP routing with a direct, lock-guarded call tobox.readHeatmap(). - Eliminates Swift 6 warning/error regarding non-Sendable closure escaping into async context.
- Replaced an un-isolated
Verification Evidence
- Thread-Sanitizer Test Suite:
swift test --package-path ~/dev/lib/ecs0lib --sanitize=thread # Output: Executed 315 tests, with 0 failures (0 unexpected) in 12.403 seconds # + 12 Swift Testing tests in 4 suites passed - Graph Engine Tests:
swift test --package-path ~/dev/lib/ecs0lib --filter ECS0GraphEngineTests # Output: Executed 6 tests, with 0 failures in 0.034 seconds - Four-Platform Gate (Xcode 27 / Swift 6):
- macOS:
swift build&swift test(arm64, macOS 27 SDK) -> Passed - iOS:
xcodebuild -scheme ecs0lib -destination 'generic/platform=iOS' build-> BUILD SUCCEEDED - tvOS:
xcodebuild -scheme ecs0lib -destination 'generic/platform=tvOS' build-> BUILD SUCCEEDED - visionOS:
xcodebuild -scheme ecs0lib -destination 'generic/platform=visionOS' build-> BUILD SUCCEEDED
- macOS:
- Downstream Verification (
apps/Tyrell):swift build --package-path ~/dev/apps/Tyrell: Built all 5 products (tyrell-app,tyrelld,tyrellbar,tyrell,tyrell-mcp) with 0 errors.swift test --package-path ~/dev/apps/Tyrell --filter ActivityEventBufferActorTests: 6/6 tests passed in 0.034 seconds.
Promotion & Sync
- Local Commit:
4d66e99onrdmbair13m5. - Fleet Bare Repo: Pushed to
git.ecs0.net:git/lib/ecs0lib.git(main). - Canonical Hub: Pulled into
rdmsm4x:~/dev/lib/ecs0lib(92926b5..4d66e99). - GitHub Backup: Pushed to
https://github.com/richhdoty/rdmsm4x-dev-lib-ecs0lib.git(main).
How to Undo
- In
lib/ecs0lib:git revert 4d66e99and re-push. - In
apps/Tyrell:git checkout Sources/tyrelld/ControlServer.swift.