Add ESP32 Sim Example & Improve Charts
Added
Core package (@uigen-dev/core)
- Chart data pipeline - Data-aware chart preparation for
x-uigen-chartlist responsesChartDataPipeline- Maps rows, detects axis types, sorts time series, and samples for renderingChartQueryResolver- Resolves chart-specific list query params (query.limit, filter state,query.params)ChartAxisTypeDetector- Detects time, category, and number axes from schema metadata and sample valuesChartSampler- LTTB, bucket-mean, auto, and none sampling strategiesChartFilterStateResolver,ChartDateTimePresets, andChartDateTimeRangeResolverfor chart filter query binding- Extended
ChartConfigIR withquery,filters, andsampling ChartHandlervalidation/apply support for the new chart config fieldsListFieldResolver.resolveItemSchema()for chart axis detection from list item schemas
- List adapter utilities - Generalized list response handling in core
ListResponseExtractor,ListFieldResolver, andSchemaFieldFilter
@uigen-dev/core/configexport - Node-onlyConfigLoadermoved out of the browser bundle entrypoint
React package (@uigen-dev/react)
- Chart panel in List View - Built-in charts above paginated tables when
chartConfigis presentChartPanel,ChartVisualization, anduseChartFilters/useChartViewModel- Server-side chart filters:
ref,datetime-range,select, andnumber - React-only client-side X-axis range control for time-series charts (1m through 7d, applied before sampling)
- Dynamic preset list based on loaded data span, with point-ratio fallback when timestamps are identical
- Chart fetch limits stay independent from table pagination
- "Showing X of Y points" notes for sampling and selected x-axis ranges
- Navigation helpers -
resolveDashboardPath,resolveFormDismissPath, andresolveCreateFormOperation- Action-only resources redirect home instead of looping back to selection
/dashboardalias redirects to/when the landing page is disabled
Documentation
- Added
x-uigen-chartannotation reference - Updated List View, spec annotation overview, intermediate representation, and roadmap docs for built-in charts
- Rebuilt docs search index for the new chart page
Skills
- Updated
SKILLS/auto-annotate.mdRule 7 with chartquery,sampling, andfiltersheuristics
Examples
- ESP32 simulator config: telemetry chart with sensor filter, query limit, and sampling
Changed
- Package exports - Removed
@uigen-dev/core/libshim; browser entrypoint exports config types only - Centered layout - Auth and action pages keep centered width constraints while composing inside
AppShellso the theme toggle stays aligned - Read-only sections - Removed hardcoded placeholder descriptions from detail and singleton list views
Fixed
- Chart query limit binding -
ChartQueryResolverno longer treats the first integer query param as the limit param - X-axis range effectiveness - Time window now filters raw fetched rows before downsampling instead of after LTTB sampling
- List field resolver tests - Restored
resolveColumnscoverage and addedresolveItemSchematests
Tests
- Core chart pipeline, filter resolver, list adapter, and chart handler coverage
- React chart utils, chart panel, axis window, and
useChartViewModelcoverage