# Roadmap / Update Plan This chapter describes the overall direction and planned items for future EasyChart updates. - This file is **not split by version phases** (more detailed planning can be added inside each chart type chapter later) - This file is organized by "capability categories" (you can treat it as a roadmap table of contents) ## Free / Pro split (release strategy) ### Free (standalone package) - Positioning: cover the most common AssetStore use cases, forming a full loop of "configurable + previewable + runtime data injection". - Includes: existing basic 2D chart types, runtime injection (`ChartFeed` / `ApplyJson`), editor workflow such as `EasyChartLibraryWindow`. ### Pro (standalone package, includes all Free) - Positioning: provide clear differentiated capabilities and a long-term expansion path on top of Free. - Includes: everything in Free + Pro incremental features (advanced effects / new chart types / 3D / tooling, etc.). ### Compatibility strategy - When Free encounters Pro-only assets/configurations: it is allowed to fail with a direct error (no downgrade compatibility required). ### Pro initial selling points priority - A: new chart types - B: 3D charts - C: advanced 2D visual effects (e.g. texture UV animation, special rendering effects) --- ## Appendix: version plan (tentative timeline) > Note: the following is a tentative monthly/quarterly cadence. Specific dates can be refined after team capacity and release window are confirmed. ### 2026 Q1 (Jan–Mar): stabilization + complete Free loop - 2026-01 (Free v1.0.x): - Fix/finalize: stability of JSON Injection panel and example generation/parsing (based on current TODO) - Docs & samples: align with the latest data structures and panel capabilities - 2026-02 (Free v1.1.0): - 2D UX improvements (Free scope): Bar rounded corners, hover effects (if not implemented yet, land in this version) - Editor UX: small workflow improvements in LibraryWindow (no Pro dependencies) - 2026-03 (Free v1.1.x): - Regression fixes + performance/GC optimization (large data refresh, tooltip/interaction stability) ### 2026 Q2 (Apr–Jun): Pro v1.0 (new chart types first) Each series type adds an animation component collection, allowing effects such as Point blinking and TextureFill UV animation. - 2026-04 (Pro v1.0.0): - Finalize Pro package structure and release workflow (Pro includes all Free) - New chart types (batch 1): Gauge / Funnel (one or both depending on complexity) - 2026-05 (Pro v1.0.x): - New chart types (batch 2): BoxPlot / Candlestick (implement one with higher priority) - Improve Pro-only error hints and readable Editor-side error messages - 2026-06 (Free v1.2.0 + Pro v1.1.0): - Free: continue filling common 2D capabilities and stability - Pro: expand new chart types (Treemap / Sunburst research or first version) ### 2026 H2 (Jul–Dec): 3D roadmap and effects - 2026 Q3 (Jul–Sep) (Pro v2.0 or v1.2+): - 3D charts (batch 1): 3D Bar / 3D Scatter (prioritize one to complete an end-to-end workflow) - 3D rendering pipeline and interaction foundations (iterate by minimum viable slices) - 2026 Q4 (Oct–Dec): - 3D Surface (research/experimental) - Advanced 2D visual effects (Pro): texture UV animation (and more complex effects later) - Tooling improvements: Theme / direct networking / automated tests (pick one as the main quality track) --- ## 1. Chart type expansion plan (Chart Types) ### 1.1 2D charts (enhancements to existing system) - Goal: without adding too many `SerieType`, fill common expressions via settings/variants. - Candidate directions (examples): - Line: more line types/fills/annotations (richer markers/threshold lines, etc.), texture UV animation (Pro) - Bar: more stacking modes, percent stacking, waterfall modes, rounded bar caps (Free), hover effects (Free), texture UV animation (Pro) - Scatter: more mapping dimensions (size/color), density expressions (aggregation/gridding) - Pie: more layout/aggregation strategies, label strategies, interactions ### 1.2 New chart types (may add new `SerieType`) - Goal: support more common standalone chart categories in AssetStore. - Candidate directions (examples): - Gauge - Funnel - BoxPlot - Candlestick (OHLC) - Treemap / Sunburst (hierarchical visualization) - Sankey / Graph (more complex structural charts; later) ### 1.3 3D charts (3D Charts) - Goal: provide a 3D chart capability set (possibly a separate rendering pipeline). - Candidate directions (examples): - 3D Bar / 3D Column - 3D Scatter - 3D Surface (higher complexity; later) --- ## 2. Multi-axis & coordinate systems - Goal: enhance multi-axis scenarios while keeping semantics clear. - Directions: - more axis combinations (dual Y axes, top/bottom X, mixed left/right Y) - clearer axis binding strategy (which axis a Serie binds to, which axis tooltip/label formats with) - constraints and hints for switching/mixing coordinate systems (avoid confusing configs) --- ## 3. Font & text system - Goal: unify text rendering look and configurable options, reducing UI Toolkit cross-platform differences. - Directions: - more complete text styles (font, size, weight, color, outline/shadow, etc.) - text layout strategies (wrap, truncate, ellipsis, alignment, anchors) - enhanced number formatting (thousands separator, units, percent, scientific notation, etc.) --- ## 4. Time axis & log axis - Goal: improve expression for time series and wide-range values. - Directions: - time axis: ticks, formatting, interval strategies (day/week/month/year) - log axis: log10/log2 ticks and labels - integration with data injection (how to feed time data, handle missing points) --- ## 5. Theme / palette system - Goal: abstract "colors/fonts/default styles" from individual Profiles into reusable themes. - Directions: - Theme assets (Palette + fonts + default styles) - override strategy between Profile and Theme (theme defaults vs Profile overrides) - theme preview, switching, theme library --- ## 6. Direct networking / data binding - Goal: reduce integration cost from network API to chart. - Directions: - standard input protocol based on `ChartFeed` - optional API Envelope support (e.g. `{code,message,data}`) - samples: HTTP fetch -> parse -> Apply - caching, throttling, error hints, fallback strategies --- ## 7. Automated tests & QA - Goal: reduce iteration risk and make refactors safer. - Directions: - data migration tests (serialization compatibility) - rendering regression tests (screenshot diff/pixel tolerance, or key mesh assertions) - interaction tests (tooltip/hit test stability) - performance benchmarks (large data refresh, GC, frame time) --- ## 8. Editor workflow & tooling - Goal: make configuration, preview, injection, and reuse smoother. - Directions: - LibraryWindow: templates/copy/import-export/batch operations - JSON Injection: stronger protocol compatibility, better error localization, better example generation - clearer manual and sample project