[P3] Support raw Vega-Lite specs in Dataface YAML
Problem
Dataface's chart abstraction layer covers common visualization patterns but cannot express every Vega-Lite capability, leaving power users with no escape hatch when they need a custom encoding, transform, or interaction that the abstraction doesn't support. Today the only workaround is to abandon Dataface entirely and build the chart outside the dashboard system, losing query integration, variable binding, and consistent styling. Supporting raw Vega-Lite spec blocks inline within Dataface YAML would let advanced users drop down to the full Vega-Lite grammar while still participating in the Dataface pipeline for data, theming, and layout.
Context
- Dataface needs an escape hatch for Vega-Lite features the higher-level chart abstraction does not yet expose.
- That escape hatch must coexist with the rest of the YAML contract without making the authored model or validation behavior incoherent.
- The first step should define exactly how raw Vega-Lite enters the system and what Dataface-level features still apply around it.
Possible Solutions
- A - Refuse raw Vega-Lite entirely and wait for the chart abstraction to catch up: safest contract, but blocks advanced use cases.
- B - Recommended: support a bounded raw Vega-Lite embedding path in YAML: make the escape hatch explicit, validate what can be validated, and document the features authors give up when they use it.
- C - Let any arbitrary raw payload pass through unchecked: flexible, but too weak as a supported authoring contract.
Plan
- [ ] Define YAML syntax for raw spec blocks and interaction with Dataface fields.
- [ ] Implement validation and fallback error messages for malformed specs.
- [ ] Integrate raw spec handling into render and export pipelines.
- [ ] Add test fixtures for mixed dashboards and failure scenarios.
- [ ] Document when to use raw specs vs native Dataface chart definitions.
Implementation Progress
- GitHub issue: https://github.com/fivetran/dataface/issues/197
Review Feedback
- [ ] Review cleared