Files
LanMountainDesktop/.trae/specs/pdc-incremental-migration/tasks.md
lincube b71687cecd Introduce render gate and chart caching
Replace UI DispatcherTimer polling with a StudySnapshotRenderGate across multiple widgets to queue and apply only the latest analytics snapshot; components updated include StudyDeductionReasonsWidget, StudyEnvironmentWidget, StudyInterruptDensityWidget, StudyNoiseCurveWidget. Add StudySnapshotRenderGate implementation to coordinate rendering and monitoring leases and update subscription/lease lifecycle handling (subscribe/unsubscribe, Acquire/Dispose leases, Clear/Dispose gate). Rewrite chart controls (StudyNoiseCurveChartControl and StudyNoiseDistributionScatterChartControl) to use stable logical-time origins, split series into static vs dynamic tails, add geometry/sample caching, stable jitter/coordinate mapping helpers, and expose internal helpers & counts for testing. Add unit tests (StudyComponentRenderingTests) covering the render gate and chart behaviors (layer counts, logical X mapping, stable jitter, cache rebuild). These changes improve rendering correctness and performance by avoiding redundant renders and enabling deterministic chart layout.
2026-05-06 16:00:45 +08:00

1.6 KiB

Tasks

  • Remove VeloPack packaging from release workflow.
  • Keep signed FileMap path as interim compatibility fallback.
  • Remove launcher/runtime Velopack branching.
  • Add phainon.yml for PDCC publish configuration.
  • Add PDCC installation + publish steps in release.yml (deferred; active path is GitHub Actions PloNDS static publish).
  • Upload app payload artifacts for PloNDS delta generation in release build jobs.
  • Publish PloNDS metadata + sha256 object repo to S3 path root lanmountain/update/.
  • Mirror installers to lanmountain/update/installers/<platform>/<version>/.
  • Keep update source compatibility (pdc/stcn normalize to active PloNDS source).
  • Add PloNDS static payload model into host update check result.
  • Add host download path for PloNDS payload (plonds-filemap.json + signature + object repo).
  • Add launcher PloNDS FileMap apply path with rollback-compatible semantics.
  • Keep old files.json + update.zip path behind compatibility fallback.
  • Keep rollback deployment directories after successful apply and prune by bounded retention.
  • Return structured failure when manual rollback snapshot source is missing.
  • Verify static S3 layout, filemap/signature, distribution, latest pointer, and at least one object in CI workflows.
  • Add regression tests for PloNDS success rollback, hash-failure auto rollback, missing rollback source, static NS3 manifest, and manifest field mapping.
  • Attach live CI run proving the full release matrix passes.
  • Verify N-1 -> N incremental update on Windows x86 and Linux x64 in release artifacts.