dataface 0.1.5.dev322__py3-none-any.whl → 0.1.6.dev34__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- d3_format/format.py +9 -0
- dataface/DATAFACE_SYNTAX.md +3 -2
- dataface/__init__.py +2 -1
- dataface/agent_api/__init__.py +2 -2
- dataface/agent_api/_paths.py +3 -3
- dataface/agent_api/chat.py +5 -5
- dataface/agent_api/describe.py +1 -1
- dataface/agent_api/docs/_loader.py +1 -1
- dataface/agent_api/docs/yaml-reference.md +56 -45
- dataface/agent_api/mcp_install.py +2 -3
- dataface/agent_api/pack.py +2 -1
- dataface/agent_api/{project.py → project_session.py} +50 -53
- dataface/agent_api/query.py +37 -0
- dataface/agent_api/render_face.py +7 -7
- dataface/agent_api/validate.py +4 -4
- dataface/ai/agent.py +44 -8
- dataface/ai/context.py +3 -3
- dataface/ai/llm.py +22 -1
- dataface/ai/mcp/server.py +10 -10
- dataface/ai/tool_schemas.py +2 -28
- dataface/ai/tools/__init__.py +17 -15
- dataface/cli/commands/describe.py +3 -3
- dataface/cli/commands/query.py +15 -15
- dataface/cli/commands/render.py +7 -7
- dataface/cli/commands/schema.py +7 -7
- dataface/cli/commands/serve.py +8 -4
- dataface/cli/commands/validate.py +3 -3
- dataface/cli/main.py +13 -1
- dataface/core/__init__.py +2 -1
- dataface/core/compile/colors.py +1 -29
- dataface/core/compile/compiler.py +17 -26
- dataface/core/compile/config.py +95 -60
- dataface/core/compile/data_table_attachment.py +48 -32
- dataface/core/compile/inherit_graph.py +173 -31
- dataface/core/compile/inherit_registry.yaml +493 -1
- dataface/core/compile/inherit_resolver.py +99 -0
- dataface/core/compile/introspection.py +1 -1
- dataface/core/compile/jinja.py +8 -50
- dataface/core/compile/models/chart/authored.py +25 -30
- dataface/core/compile/models/chart/normalized.py +16 -8
- dataface/core/compile/models/chart/resolved.py +2 -2
- dataface/core/compile/models/config.py +12 -7
- dataface/core/compile/models/factories.py +15 -1
- dataface/core/compile/models/markers.py +29 -7
- dataface/core/compile/models/query/normalized.py +19 -12
- dataface/core/compile/models/source.py +33 -81
- dataface/core/compile/models/style/authored.py +22 -5
- dataface/core/compile/models/style/resolved.py +52 -43
- dataface/core/compile/models/style/theme.py +355 -158
- dataface/core/compile/normalize_charts.py +7 -8
- dataface/core/compile/normalize_queries.py +3 -0
- dataface/core/compile/normalize_variables.py +102 -14
- dataface/core/compile/normalizer.py +15 -0
- dataface/core/compile/schema_renderers/prompt.py +4 -14
- dataface/core/compile/schema_renderers/vscode_schema.py +4 -15
- dataface/core/compile/sizing.py +155 -34
- dataface/core/compile/style_cascade.py +14 -17
- dataface/core/compile/yaml_error_formatter.py +46 -11
- dataface/core/connections.py +8 -5
- dataface/core/dashboard.py +25 -14
- dataface/core/defaults/default_config.yml +12 -0
- dataface/core/defaults/palettes/categorical/category-10-dark.yml +4 -4
- dataface/core/defaults/palettes/categorical/category-10-ghost.yml +36 -0
- dataface/core/defaults/palettes/categorical/category-10-light.yml +25 -33
- dataface/core/defaults/palettes/categorical/category-10.yml +4 -2
- dataface/core/defaults/palettes/categorical/editorial-10-dark.yml +2 -1
- dataface/core/defaults/palettes/categorical/editorial-10-ghost.yml +36 -0
- dataface/core/defaults/palettes/categorical/editorial-10-light.yml +34 -0
- dataface/core/defaults/palettes/categorical/editorial-10.yml +8 -0
- dataface/core/defaults/themes/_base.yaml +8 -0
- dataface/core/defaults/themes/dark.yaml +18 -0
- dataface/core/defaults/themes/editorial.yaml +3 -0
- dataface/core/defaults/themes/stark.yaml +21 -1
- dataface/core/errors/__init__.py +2 -0
- dataface/core/errors/codes_render.py +16 -0
- dataface/core/errors/codes_serve.py +2 -3
- dataface/core/errors/structured.py +2 -2
- dataface/core/execute/adapters/adapter_registry.py +8 -1
- dataface/core/execute/adapters/dbt_adapter_factory.py +14 -2
- dataface/core/execute/adapters/http_adapter.py +12 -15
- dataface/core/execute/adapters/sql_adapter.py +175 -17
- dataface/core/execute/batch.py +45 -0
- dataface/core/execute/duckdb_cache.py +84 -8
- dataface/core/execute/executor.py +132 -133
- dataface/core/inspect/query_validator.py +1 -0
- dataface/core/inspect/renderer.py +2 -1
- dataface/core/inspect/templates/categorical_column.yml +0 -2
- dataface/core/inspect/templates/charts.yml +0 -2
- dataface/core/inspect/templates/date_column.yml +0 -2
- dataface/core/inspect/templates/model.yml +0 -2
- dataface/core/inspect/templates/numeric_column.yml +0 -2
- dataface/core/inspect/templates/quality.yml +0 -2
- dataface/core/inspect/templates/string_column.yml +0 -2
- dataface/core/project.py +54 -0
- dataface/core/project_roots.py +1 -1
- dataface/core/registered_views/query_runner.py +29 -1
- dataface/core/registered_views/render_pipeline.py +1 -1
- dataface/core/render/chart/arc_attached_table.py +18 -1
- dataface/core/render/chart/decisions.py +105 -2
- dataface/core/render/chart/geo.py +91 -17
- dataface/core/render/chart/pipeline.py +76 -164
- dataface/core/render/chart/profile.py +153 -59
- dataface/core/render/chart/render_single.py +11 -7
- dataface/core/render/chart/serialization.py +11 -13
- dataface/core/render/chart/standard_renderer.py +53 -2
- dataface/core/render/chart/table.py +46 -42
- dataface/core/render/chart/table_support.py +5 -7
- dataface/core/render/chart/vega_lite.py +3 -3
- dataface/core/render/chart/vl_field_maps.py +11 -0
- dataface/core/render/control_registry.py +1 -3
- dataface/core/render/errors.py +11 -5
- dataface/core/render/face_api.py +3 -2
- dataface/core/render/faces.py +36 -13
- dataface/core/render/geo_defaults.yml +16 -0
- dataface/core/render/nav.py +35 -35
- dataface/core/render/placeholder.py +1 -1
- dataface/core/render/renderer.py +24 -14
- dataface/core/render/templates/controls/_styles.css +15 -12
- dataface/core/render/templates/controls/select.html +0 -1
- dataface/core/render/templates/nav/nav.css +13 -11
- dataface/core/render/templates/nav/nav.html +62 -1
- dataface/core/render/templates/nav/nav.js +15 -0
- dataface/core/render/templates/variable_controls/checkbox.html +6 -0
- dataface/core/render/templates/variable_controls/container.html +27 -0
- dataface/core/render/templates/variable_controls/date.html +6 -0
- dataface/core/render/templates/variable_controls/daterange.html +16 -0
- dataface/core/render/templates/variable_controls/number.html +6 -0
- dataface/core/render/templates/variable_controls/readonly.html +4 -0
- dataface/core/render/templates/variable_controls/select.html +7 -0
- dataface/core/render/templates/variable_controls/slider.html +9 -0
- dataface/core/render/templates/variable_controls/text.html +6 -0
- dataface/core/render/terminal.py +7 -3
- dataface/core/render/utils.py +19 -12
- dataface/core/render/variable_controls.py +154 -169
- dataface/core/serve/bootstrap.py +37 -21
- dataface/core/serve/port.py +16 -6
- dataface/core/serve/server.py +317 -234
- dataface/core/serve/templates/error.html.j2 +8 -7
- dataface/integrations/markdown.py +6 -4
- {dataface-0.1.5.dev322.dist-info → dataface-0.1.6.dev34.dist-info}/METADATA +2 -1
- {dataface-0.1.5.dev322.dist-info → dataface-0.1.6.dev34.dist-info}/RECORD +147 -136
- mdsvg/fonts.py +4 -1
- mdsvg/renderer.py +184 -33
- mdsvg/style.py +43 -0
- dataface/core/compile/chart_type_detection.py +0 -490
- dataface/core/render/markdown_defaults.yml +0 -16
- dataface/core/render/missing_vars_prompt.py +0 -79
- {dataface-0.1.5.dev322.dist-info → dataface-0.1.6.dev34.dist-info}/WHEEL +0 -0
- {dataface-0.1.5.dev322.dist-info → dataface-0.1.6.dev34.dist-info}/entry_points.txt +0 -0
- {dataface-0.1.5.dev322.dist-info → dataface-0.1.6.dev34.dist-info}/licenses/LICENSE +0 -0
d3_format/format.py
CHANGED
|
@@ -14,6 +14,7 @@ from __future__ import annotations
|
|
|
14
14
|
import math
|
|
15
15
|
from collections.abc import Callable
|
|
16
16
|
from decimal import ROUND_HALF_UP, Decimal
|
|
17
|
+
from typing import overload
|
|
17
18
|
|
|
18
19
|
from d3_format.spec import FormatSpec, parse
|
|
19
20
|
|
|
@@ -520,6 +521,14 @@ def _apply_spec(spec: FormatSpec, v: float | int | Decimal) -> str:
|
|
|
520
521
|
return _assemble(spec, sign_char, body, suffix)
|
|
521
522
|
|
|
522
523
|
|
|
524
|
+
@overload
|
|
525
|
+
def format(spec_str: str) -> Callable[[float | int | Decimal], str]: ... # noqa: A001
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
@overload
|
|
529
|
+
def format(spec_str: str, value: float | int | Decimal) -> str: ... # noqa: A001
|
|
530
|
+
|
|
531
|
+
|
|
523
532
|
def format( # noqa: A001
|
|
524
533
|
spec_str: str,
|
|
525
534
|
value: float | int | Decimal | None = None,
|
dataface/DATAFACE_SYNTAX.md
CHANGED
|
@@ -427,6 +427,8 @@ WHERE {{ filter('plan', plans) }}
|
|
|
427
427
|
|
|
428
428
|
The `filter()` macro handles `select` (single value → `=`) and `multiselect` (list → `IN (...)`) automatically and quotes all string literals correctly.
|
|
429
429
|
|
|
430
|
+
Select and multiselect controls render only the options the face author provides. Dataface does not add an "All" option; author a real sentinel option and matching SQL/Jinja explicitly if a dashboard needs one.
|
|
431
|
+
|
|
430
432
|
### Inline query in a chart
|
|
431
433
|
|
|
432
434
|
A chart can carry its own one-off query instead of referencing a named one. Three equivalent forms:
|
|
@@ -672,6 +674,7 @@ lookup: state
|
|
|
672
674
|
value: revenue
|
|
673
675
|
|
|
674
676
|
# map — generic choropleth (alias for geoshape with named source)
|
|
677
|
+
# world-countries/world-50m join on numeric TopoJSON ids such as 840, not ISO alpha codes.
|
|
675
678
|
type: map
|
|
676
679
|
geo_source: us-states
|
|
677
680
|
lookup: state
|
|
@@ -702,8 +705,6 @@ message: "Query is disabled in this environment."
|
|
|
702
705
|
style:
|
|
703
706
|
tone: warning # optional; defaults to info
|
|
704
707
|
|
|
705
|
-
# auto — internal; engine picks the chart type from the data shape.
|
|
706
|
-
type: auto
|
|
707
708
|
```
|
|
708
709
|
|
|
709
710
|
### Layered charts
|
dataface/__init__.py
CHANGED
|
@@ -23,7 +23,8 @@ Quick Start:
|
|
|
23
23
|
...
|
|
24
24
|
... # Create executor and render
|
|
25
25
|
... from dataface.core.compile.config import load_project_sources
|
|
26
|
-
...
|
|
26
|
+
... from dataface.core.project import Project
|
|
27
|
+
... registry = build_adapter_registry(Path.cwd(), project_sources=load_project_sources(Project(Path.cwd())))
|
|
27
28
|
... executor = Executor(face, registry, query_registry=result.query_registry)
|
|
28
29
|
... svg = render(face, executor, format="svg")
|
|
29
30
|
"""
|
dataface/agent_api/__init__.py
CHANGED
|
@@ -47,7 +47,7 @@ from dataface.agent_api.init import (
|
|
|
47
47
|
InitResult as InitResult,
|
|
48
48
|
init_project as init_project,
|
|
49
49
|
)
|
|
50
|
-
from dataface.agent_api.
|
|
50
|
+
from dataface.agent_api.project_session import ProjectSession as ProjectSession
|
|
51
51
|
from dataface.agent_api.query import QueryFaceResult, query_face
|
|
52
52
|
from dataface.agent_api.schema_hints import (
|
|
53
53
|
SchemaHints as SchemaHints,
|
|
@@ -76,7 +76,7 @@ __all__ = [
|
|
|
76
76
|
"DocsSearchHit",
|
|
77
77
|
"InitResult",
|
|
78
78
|
"LinkContext",
|
|
79
|
-
"
|
|
79
|
+
"ProjectSession",
|
|
80
80
|
"ProjectSourcesConfig",
|
|
81
81
|
"QueryDiagnostic",
|
|
82
82
|
"QueryFaceResult",
|
dataface/agent_api/_paths.py
CHANGED
|
@@ -73,8 +73,8 @@ def no_project_hint(project_dir: Path | None) -> str:
|
|
|
73
73
|
class FaceRenderContext:
|
|
74
74
|
"""Path resolution result from a face path + project root.
|
|
75
75
|
|
|
76
|
-
Adapter registry is built by `
|
|
77
|
-
open a `
|
|
76
|
+
Adapter registry is built by `ProjectSession.open`, not by the context — call sites
|
|
77
|
+
open a `ProjectSession` with `project_root` + `dbt_project_path` and read the
|
|
78
78
|
registry off `project.adapter_registry`.
|
|
79
79
|
"""
|
|
80
80
|
|
|
@@ -134,7 +134,7 @@ def build_face_render_context(
|
|
|
134
134
|
class YamlRenderContext:
|
|
135
135
|
"""Path resolution result for rendering inline YAML against a project root.
|
|
136
136
|
|
|
137
|
-
Adapter registry is built by `
|
|
137
|
+
Adapter registry is built by `ProjectSession.open`, not by the context.
|
|
138
138
|
"""
|
|
139
139
|
|
|
140
140
|
project_root: Path
|
dataface/agent_api/chat.py
CHANGED
|
@@ -49,7 +49,7 @@ class ChatSession:
|
|
|
49
49
|
def close(self) -> None:
|
|
50
50
|
"""Flush the session log and release the project's resources."""
|
|
51
51
|
self.writer.close()
|
|
52
|
-
self.context.
|
|
52
|
+
self.context.project_session.close()
|
|
53
53
|
|
|
54
54
|
def __enter__(self) -> Self:
|
|
55
55
|
return self
|
|
@@ -81,13 +81,13 @@ def start_session(
|
|
|
81
81
|
project_dir: Working directory for the session. Defaults to cwd.
|
|
82
82
|
server_port: Port of the embedded HTTP preview server, if running.
|
|
83
83
|
"""
|
|
84
|
-
from dataface.agent_api.
|
|
84
|
+
from dataface.agent_api.project_session import ProjectSession
|
|
85
85
|
from dataface.core.execute.adapters import LOCAL_AUTHORING_REGISTRY_KWARGS
|
|
86
86
|
|
|
87
87
|
cwd = (project_dir or Path.cwd()).resolve()
|
|
88
88
|
client = create_client(model=model)
|
|
89
89
|
context = DatafaceAIContext(
|
|
90
|
-
|
|
90
|
+
project_session=ProjectSession.open(cwd, **LOCAL_AUTHORING_REGISTRY_KWARGS),
|
|
91
91
|
server_port=server_port,
|
|
92
92
|
)
|
|
93
93
|
writer, _ = new_session(cwd, provider=client.provider, model=client.model)
|
|
@@ -123,7 +123,7 @@ def resume_session(
|
|
|
123
123
|
Raises:
|
|
124
124
|
ValueError: If session not found, provider mismatch, or context window exceeded.
|
|
125
125
|
"""
|
|
126
|
-
from dataface.agent_api.
|
|
126
|
+
from dataface.agent_api.project_session import ProjectSession
|
|
127
127
|
from dataface.core.execute.adapters import LOCAL_AUTHORING_REGISTRY_KWARGS
|
|
128
128
|
|
|
129
129
|
cwd = (project_dir or Path.cwd()).resolve()
|
|
@@ -143,7 +143,7 @@ def resume_session(
|
|
|
143
143
|
)
|
|
144
144
|
|
|
145
145
|
context = DatafaceAIContext(
|
|
146
|
-
|
|
146
|
+
project_session=ProjectSession.open(cwd, **LOCAL_AUTHORING_REGISTRY_KWARGS),
|
|
147
147
|
server_port=server_port,
|
|
148
148
|
)
|
|
149
149
|
writer, _ = new_session(cwd, provider=client.provider, model=client.model)
|
dataface/agent_api/describe.py
CHANGED
|
@@ -87,7 +87,7 @@ class DescribeFaceArgs(BaseModel):
|
|
|
87
87
|
default=None,
|
|
88
88
|
description=(
|
|
89
89
|
"Project root for resolving relative paths. Optional on the wire; "
|
|
90
|
-
"the MCP server injects
|
|
90
|
+
"the MCP server injects the project root when omitted."
|
|
91
91
|
),
|
|
92
92
|
)
|
|
93
93
|
|
|
@@ -58,7 +58,7 @@ class DocsSearchHit(BaseModel):
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
class DocsArgs(BaseModel):
|
|
61
|
-
"""
|
|
61
|
+
"""Browse the Dataface YAML reference offline. Modes: no args = topic index (slug + one-line description per H2), topic='<slug>' = one section, topic='all' = whole reference unsliced, search='<query>' = substring search across topics. Use this before writing YAML to learn field names, valid values, and examples. Call with no args first to see the available topics."""
|
|
62
62
|
|
|
63
63
|
topic: str | None = Field(
|
|
64
64
|
None,
|
|
@@ -479,7 +479,7 @@ Authored overlay for Style — all fields optional. Adds CSS shorthand coercers.
|
|
|
479
479
|
| `variables` | [VariablesStyle](#variablesstyle) | ✓ | Variable controls chrome style. |
|
|
480
480
|
| `page` | [PageStyle](#pagestyle) | ✓ | Page-level canvas style (behind the board). |
|
|
481
481
|
| `footer` | [FooterStyle](#footerstyle) | ✓ | Page footer chrome visibility. |
|
|
482
|
-
| `timestamp` | [TimestampStyle](#timestampstyle) | ✓ | Render-timestamp chrome: visibility, format, and font. |
|
|
482
|
+
| `timestamp` | [TimestampStyle](#timestampstyle) | ✓ | Render-timestamp chrome: visibility, placement, format, and font. |
|
|
483
483
|
| `formats` | dict[str, str] | ✓ | Format alias map; None means no aliases at this cascade level. |
|
|
484
484
|
| `palettes` | dict[str, str] | ✓ | Theme palette role assignments: open dict mapping role name to palette file name. Default seed: chrome, info, negative, positive, warning, category, sequence, diverge. |
|
|
485
485
|
| `roles` | dict[str, str] | ✓ | Optional top-level theme role aliases: bare name → role.alias. e.g. ink: chrome.heading |
|
|
@@ -575,10 +575,9 @@ Authored overlay for BarChartStyle. Bar chart style: chart-level fields + marks
|
|
|
575
575
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
576
576
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
577
577
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
578
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
579
578
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
580
579
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
581
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
580
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
582
581
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
583
582
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
584
583
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -612,10 +611,9 @@ Authored overlay for LineChartStyle. Line chart style: chart-level fields + mark
|
|
|
612
611
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
613
612
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
614
613
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
615
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
616
614
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
617
615
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
618
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
616
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
619
617
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
620
618
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
621
619
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -646,10 +644,9 @@ Authored overlay for AreaChartStyle. Area chart style: chart-level fields + mark
|
|
|
646
644
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
647
645
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
648
646
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
649
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
650
647
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
651
648
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
652
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
649
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
653
650
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
654
651
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
655
652
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -681,10 +678,9 @@ Authored overlay for ScatterChartStyle. Scatter chart style: chart-level fields
|
|
|
681
678
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
682
679
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
683
680
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
684
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
685
681
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
686
682
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
687
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
683
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
688
684
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
689
685
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
690
686
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -714,10 +710,9 @@ Authored overlay for HeatmapChartStyle. Heatmap chart style.
|
|
|
714
710
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
715
711
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
716
712
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
717
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
718
713
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
719
714
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
720
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
715
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
721
716
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
722
717
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
723
718
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -758,10 +753,9 @@ Authored overlay for PieChartStyle. Pie/donut chart style: geometry + total (fla
|
|
|
758
753
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
759
754
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
760
755
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
761
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
762
756
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
763
757
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
764
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
758
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
765
759
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
766
760
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
767
761
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -787,15 +781,14 @@ Authored overlay for KpiChartStyle. Produced by cascade from theme YAML.
|
|
|
787
781
|
|
|
788
782
|
| Field | Type | Optional | Description |
|
|
789
783
|
|-------|------|:--------:|-------------|
|
|
790
|
-
| `font` | [FontStyle](#fontstyle) | ✓ |
|
|
784
|
+
| `font` | [FontStyle](#fontstyle) | ✓ | KPI chart-level font overrides; cascades from charts.font. |
|
|
791
785
|
| `padding` | [PaddingStyle](#paddingstyle) | ✓ | Chart inner padding in pixels. |
|
|
792
786
|
| `border` | [BorderStyle](#borderstyle) | ✓ | KPI card border style. |
|
|
793
787
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
794
788
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
795
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
796
789
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
797
790
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
798
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
791
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
799
792
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
800
793
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
801
794
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -816,15 +809,14 @@ Authored overlay for TableChartStyle. Table chart style overrides layered on top
|
|
|
816
809
|
|
|
817
810
|
| Field | Type | Optional | Description |
|
|
818
811
|
|-------|------|:--------:|-------------|
|
|
819
|
-
| `font` | [FontStyle](#fontstyle) | ✓ |
|
|
812
|
+
| `font` | [FontStyle](#fontstyle) | ✓ | Table chart-level font overrides; cascades from charts.font. |
|
|
820
813
|
| `padding` | [PaddingStyle](#paddingstyle) | ✓ | Chart inner padding in pixels. |
|
|
821
814
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Table outer border style. |
|
|
822
815
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
823
816
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
824
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
825
817
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
826
818
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
827
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
819
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
828
820
|
| `background` | str | ✓ | Table background color; None inherits from theme. |
|
|
829
821
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Table text color override (CSS string) or gradient scale config; None uses the theme default. |
|
|
830
822
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -878,10 +870,9 @@ Authored overlay for PointMapChartStyle. Point map chart style.
|
|
|
878
870
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
879
871
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
880
872
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
881
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
882
873
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
883
874
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
884
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
875
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
885
876
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
886
877
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
887
878
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -903,10 +894,9 @@ Authored overlay for GeoshapeChartStyle. Geoshape (choropleth) chart style.
|
|
|
903
894
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
904
895
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
905
896
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
906
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
907
897
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
908
898
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
909
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
899
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
910
900
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
911
901
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
912
902
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -954,7 +944,6 @@ Flat style patch for layered multi-mark charts.
|
|
|
954
944
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
955
945
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
956
946
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
957
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
958
947
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
959
948
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style overrides. |
|
|
960
949
|
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Chart tooltip style overrides. |
|
|
@@ -1111,6 +1100,8 @@ Authored overlay for TextStyle. Markdown / plain text content.
|
|
|
1111
1100
|
| `line_height` | float | ✓ | Line height multiplier for text content. |
|
|
1112
1101
|
| `align` | enum: "left", "center", "right" | ✓ | Text alignment for the face body-text block. |
|
|
1113
1102
|
| `column` | [TextColumnStyle](#textcolumnstyle) | ✓ | Multi-column layout for the face body-text block. |
|
|
1103
|
+
| `code` | [TextCodeStyle](#textcodestyle) | ✓ | Inline + fenced code box styling (font, background, border). |
|
|
1104
|
+
| `blockquote` | [TextBlockquoteStyle](#textblockquotestyle) | ✓ | Blockquote box styling (font, background, border/left-rule). |
|
|
1114
1105
|
|
|
1115
1106
|
<a id="placeholderstyle"></a>
|
|
1116
1107
|
## PlaceholderStyle
|
|
@@ -1135,13 +1126,13 @@ Authored overlay for ChartsStyle. Registry of all chart-type styles plus shared
|
|
|
1135
1126
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
1136
1127
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
1137
1128
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
1138
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
1139
1129
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
1140
1130
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
1141
1131
|
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Chart tooltip style. |
|
|
1142
1132
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
1143
1133
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
1144
1134
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
1135
|
+
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
1145
1136
|
| `default_chart_height` | float | ✓ | Fallback chart height in pixels when aspect-ratio sizing is unavailable. |
|
|
1146
1137
|
| `default_table_height` | float | ✓ | Placeholder table height in pixels; replaced by data-aware row-count sizing at render time. |
|
|
1147
1138
|
| `label_usable_ratio` | float | ✓ | Fraction of chart width usable for axis labels (0–1); labels are tilted when full labels exceed this width. |
|
|
@@ -1223,11 +1214,13 @@ Authored overlay for FooterStyle. Authored visibility toggle for the page footer
|
|
|
1223
1214
|
|
|
1224
1215
|
<a id="timestampstyle"></a>
|
|
1225
1216
|
## TimestampStyle
|
|
1226
|
-
Authored overlay for TimestampStyle. Authored timestamp chrome: visibility, strftime format, and font.
|
|
1217
|
+
Authored overlay for TimestampStyle. Authored timestamp chrome: visibility, placement, strftime format, and font.
|
|
1227
1218
|
|
|
1228
1219
|
| Field | Type | Optional | Description |
|
|
1229
1220
|
|-------|------|:--------:|-------------|
|
|
1230
1221
|
| `visible` | bool | ✓ | Show the render-timestamp line. |
|
|
1222
|
+
| `position` | enum: "top", "footer" | ✓ | Timestamp row: top page chrome or footer baseline. |
|
|
1223
|
+
| `align` | enum: "left", "right" | ✓ | Timestamp horizontal alignment within its row. |
|
|
1231
1224
|
| `format` | str | ✓ | strftime format string for the render timestamp. |
|
|
1232
1225
|
| `font` | [FontStyle](#fontstyle) | ✓ | Timestamp font style overrides (size, color, weight, ...). |
|
|
1233
1226
|
|
|
@@ -1328,7 +1321,6 @@ Authored overlay for InferenceStyle.
|
|
|
1328
1321
|
|-------|------|:--------:|-------------|
|
|
1329
1322
|
| `infer_zero_when_missing` | bool | ✓ | Auto-infer zero-baseline when not authored. |
|
|
1330
1323
|
| `infer_fields_when_missing` | bool | ✓ | Auto-infer chart fields (x, y, etc.) when not authored. |
|
|
1331
|
-
| `infer_type_when_auto` | bool | ✓ | Auto-infer chart type when type is 'auto'. |
|
|
1332
1324
|
|
|
1333
1325
|
<a id="legendstyle"></a>
|
|
1334
1326
|
## LegendStyle
|
|
@@ -1457,8 +1449,8 @@ Authored overlay for BarChartMarksStyle. Bar-family mark overrides. Only bar and
|
|
|
1457
1449
|
|
|
1458
1450
|
| Field | Type | Optional | Description |
|
|
1459
1451
|
|-------|------|:--------:|-------------|
|
|
1460
|
-
| `bar` | [BarMarkStyle](#barmarkstyle) | ✓ | Bar mark overrides for bar charts;
|
|
1461
|
-
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides for bar endpoint labels;
|
|
1452
|
+
| `bar` | [BarMarkStyle](#barmarkstyle) | ✓ | Bar mark overrides for bar charts; inherits from global. |
|
|
1453
|
+
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides for bar endpoint labels; inherits from global. |
|
|
1462
1454
|
|
|
1463
1455
|
<a id="linechartmarksstyle"></a>
|
|
1464
1456
|
## LineChartMarksStyle
|
|
@@ -1466,9 +1458,9 @@ Authored overlay for LineChartMarksStyle. Line-family mark overrides.
|
|
|
1466
1458
|
|
|
1467
1459
|
| Field | Type | Optional | Description |
|
|
1468
1460
|
|-------|------|:--------:|-------------|
|
|
1469
|
-
| `line` | [LineMarkStyle](#linemarkstyle) | ✓ | Line mark overrides;
|
|
1470
|
-
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides;
|
|
1471
|
-
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides;
|
|
1461
|
+
| `line` | [LineMarkStyle](#linemarkstyle) | ✓ | Line mark overrides; inherits from global. |
|
|
1462
|
+
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides; inherits from global. |
|
|
1463
|
+
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides; inherits from global. |
|
|
1472
1464
|
| `rule` | [RuleMarkStyle](#rulemarkstyle) | ✓ | Rule mark overrides; None inherits global. |
|
|
1473
1465
|
|
|
1474
1466
|
<a id="areachartmarksstyle"></a>
|
|
@@ -1477,10 +1469,10 @@ Authored overlay for AreaChartMarksStyle. Area-family mark overrides.
|
|
|
1477
1469
|
|
|
1478
1470
|
| Field | Type | Optional | Description |
|
|
1479
1471
|
|-------|------|:--------:|-------------|
|
|
1480
|
-
| `area` | [AreaMarkStyle](#areamarkstyle) | ✓ | Area mark overrides;
|
|
1481
|
-
| `line` | [LineMarkStyle](#linemarkstyle) | ✓ | Top-edge line mark overrides;
|
|
1482
|
-
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides;
|
|
1483
|
-
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides;
|
|
1472
|
+
| `area` | [AreaMarkStyle](#areamarkstyle) | ✓ | Area mark overrides; inherits from global. |
|
|
1473
|
+
| `line` | [LineMarkStyle](#linemarkstyle) | ✓ | Top-edge line mark overrides; inherits from global. |
|
|
1474
|
+
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides; inherits from global. |
|
|
1475
|
+
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides; inherits from global. |
|
|
1484
1476
|
|
|
1485
1477
|
<a id="scatterchartmarksstyle"></a>
|
|
1486
1478
|
## ScatterChartMarksStyle
|
|
@@ -1488,8 +1480,8 @@ Authored overlay for ScatterChartMarksStyle. Scatter-family mark overrides.
|
|
|
1488
1480
|
|
|
1489
1481
|
| Field | Type | Optional | Description |
|
|
1490
1482
|
|-------|------|:--------:|-------------|
|
|
1491
|
-
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides;
|
|
1492
|
-
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides;
|
|
1483
|
+
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides; inherits from global. |
|
|
1484
|
+
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides; inherits from global. |
|
|
1493
1485
|
|
|
1494
1486
|
<a id="heatmapchartmarksstyle"></a>
|
|
1495
1487
|
## HeatmapChartMarksStyle
|
|
@@ -1497,7 +1489,7 @@ Authored overlay for HeatmapChartMarksStyle. Heatmap-family mark overrides.
|
|
|
1497
1489
|
|
|
1498
1490
|
| Field | Type | Optional | Description |
|
|
1499
1491
|
|-------|------|:--------:|-------------|
|
|
1500
|
-
| `rect` | [RectMarkStyle](#rectmarkstyle) | ✓ | Rect mark overrides;
|
|
1492
|
+
| `rect` | [RectMarkStyle](#rectmarkstyle) | ✓ | Rect mark overrides; inherits from global. |
|
|
1501
1493
|
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides; None inherits global. |
|
|
1502
1494
|
|
|
1503
1495
|
<a id="totalstyle"></a>
|
|
@@ -1515,7 +1507,7 @@ Authored overlay for PieChartMarksStyle. Pie/donut-family mark overrides.
|
|
|
1515
1507
|
|
|
1516
1508
|
| Field | Type | Optional | Description |
|
|
1517
1509
|
|-------|------|:--------:|-------------|
|
|
1518
|
-
| `slice` | [SliceMarkStyle](#slicemarkstyle) | ✓ | Slice mark overrides;
|
|
1510
|
+
| `slice` | [SliceMarkStyle](#slicemarkstyle) | ✓ | Slice mark overrides; inherits from global. |
|
|
1519
1511
|
| `text` | [TextMarkStyle](#textmarkstyle) | ✓ | Text mark overrides; None inherits global. |
|
|
1520
1512
|
|
|
1521
1513
|
<a id="kpivaluestyle"></a>
|
|
@@ -1720,7 +1712,7 @@ Authored overlay for PointMapChartMarksStyle. Point map-family mark overrides.
|
|
|
1720
1712
|
|
|
1721
1713
|
| Field | Type | Optional | Description |
|
|
1722
1714
|
|-------|------|:--------:|-------------|
|
|
1723
|
-
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides;
|
|
1715
|
+
| `point` | [PointMarkStyle](#pointmarkstyle) | ✓ | Point mark overrides; inherits from global. |
|
|
1724
1716
|
|
|
1725
1717
|
<a id="geoshapechartmarksstyle"></a>
|
|
1726
1718
|
## GeoshapeChartMarksStyle
|
|
@@ -1728,7 +1720,7 @@ Authored overlay for GeoshapeChartMarksStyle. Geoshape-family mark overrides.
|
|
|
1728
1720
|
|
|
1729
1721
|
| Field | Type | Optional | Description |
|
|
1730
1722
|
|-------|------|:--------:|-------------|
|
|
1731
|
-
| `geoshape` | [GeoshapeMarkStyle](#geoshapemarkstyle) | ✓ | Geoshape mark overrides;
|
|
1723
|
+
| `geoshape` | [GeoshapeMarkStyle](#geoshapemarkstyle) | ✓ | Geoshape mark overrides; inherits from global. |
|
|
1732
1724
|
|
|
1733
1725
|
<a id="layeraxisystyle"></a>
|
|
1734
1726
|
## LayerAxisYStyle
|
|
@@ -1838,6 +1830,26 @@ Authored overlay for TextColumnStyle. Multi-column layout for face body text (CS
|
|
|
1838
1830
|
| `rule` | str | ✓ | CSS column-rule shorthand, e.g. '1px solid #e5e7eb'. None = no rule. |
|
|
1839
1831
|
| `width` | float | ✓ | Minimum column width in pixels for auto-column-count derivation. |
|
|
1840
1832
|
|
|
1833
|
+
<a id="textcodestyle"></a>
|
|
1834
|
+
## TextCodeStyle
|
|
1835
|
+
Authored overlay for TextCodeStyle. Inline and fenced code spans in markdown prose. Box group; mono font by default.
|
|
1836
|
+
|
|
1837
|
+
| Field | Type | Optional | Description |
|
|
1838
|
+
|-------|------|:--------:|-------------|
|
|
1839
|
+
| `font` | [FontStyle](#fontstyle) | ✓ | Box text font overrides — full FontStyle (family, color, size, weight, style, decoration, case). |
|
|
1840
|
+
| `background` | str | ✓ | Box background fill. |
|
|
1841
|
+
| `border` | [BorderStyle](#borderstyle) | ✓ | Box border (width, color, radius). |
|
|
1842
|
+
|
|
1843
|
+
<a id="textblockquotestyle"></a>
|
|
1844
|
+
## TextBlockquoteStyle
|
|
1845
|
+
Authored overlay for TextBlockquoteStyle. Blockquote prose. Box group; border is the left rule.
|
|
1846
|
+
|
|
1847
|
+
| Field | Type | Optional | Description |
|
|
1848
|
+
|-------|------|:--------:|-------------|
|
|
1849
|
+
| `font` | [FontStyle](#fontstyle) | ✓ | Box text font overrides — full FontStyle (family, color, size, weight, style, decoration, case). |
|
|
1850
|
+
| `background` | str | ✓ | Box background fill. |
|
|
1851
|
+
| `border` | [BorderStyle](#borderstyle) | ✓ | Box border (width, color, radius). |
|
|
1852
|
+
|
|
1841
1853
|
<a id="placeholderoverlay"></a>
|
|
1842
1854
|
## PlaceholderOverlay
|
|
1843
1855
|
Authored overlay for PlaceholderOverlay.
|
|
@@ -1908,10 +1920,9 @@ Authored overlay for HistogramChartStyle. Histogram chart style.
|
|
|
1908
1920
|
| `border` | [BorderStyle](#borderstyle) | ✓ | Chart card border style. |
|
|
1909
1921
|
| `animation_duration` | float | ✓ | Vega-Lite animation duration in milliseconds. |
|
|
1910
1922
|
| `palette` | list[str] \| str | ✓ | Ordered list of categorical color stops or a palette name; expanded from a palette name at validation time. |
|
|
1911
|
-
| `dashes` | list[list[int]] | ✓ | Ordered list of Vega-Lite strokeDash arrays for line-family categorical encoding; None disables dash emission. |
|
|
1912
1923
|
| `inference` | [InferenceStyle](#inferencestyle) | ✓ | Engine inference behavior flags. |
|
|
1913
1924
|
| `legend` | [LegendStyle](#legendstyle) | ✓ | Chart legend style. |
|
|
1914
|
-
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ |
|
|
1925
|
+
| `tooltip` | [TooltipStyle](#tooltipstyle) | ✓ | Per-chart-type tooltip style override; None uses the universal style.charts.tooltip. |
|
|
1915
1926
|
| `background` | str | ✓ | Chart-local background color override; None inherits from theme. |
|
|
1916
1927
|
| `color` | str \| [StyleColorConfig](#stylecolorconfig) | ✓ | Chart-local static mark color (CSS string) or gradient scale config; None uses the theme palette. |
|
|
1917
1928
|
| `title` | [TitleStyle](#titlestyle) | ✓ | Chart-level title style override; None inherits the theme title style. |
|
|
@@ -2441,7 +2452,7 @@ Authored overlay for HistogramChartMarksStyle. Histogram-family mark overrides.
|
|
|
2441
2452
|
|
|
2442
2453
|
| Field | Type | Optional | Description |
|
|
2443
2454
|
|-------|------|:--------:|-------------|
|
|
2444
|
-
| `bar` | [BarMarkStyle](#barmarkstyle) | ✓ | Bar mark overrides;
|
|
2455
|
+
| `bar` | [BarMarkStyle](#barmarkstyle) | ✓ | Bar mark overrides; inherits from global. |
|
|
2445
2456
|
| `rule` | [RuleMarkStyle](#rulemarkstyle) | ✓ | Rule mark overrides; None inherits global. |
|
|
2446
2457
|
|
|
2447
2458
|
<a id="detailsarrowstyle"></a>
|
|
@@ -126,9 +126,8 @@ def _upsert_mcp_config(
|
|
|
126
126
|
existing: dict[str, Any] = {}
|
|
127
127
|
if config_path.exists():
|
|
128
128
|
try:
|
|
129
|
-
|
|
130
|
-
if
|
|
131
|
-
existing = {}
|
|
129
|
+
loaded = json.loads(config_path.read_text(encoding="utf-8"))
|
|
130
|
+
existing = loaded if isinstance(loaded, dict) else {}
|
|
132
131
|
except (json.JSONDecodeError, OSError):
|
|
133
132
|
existing = {}
|
|
134
133
|
|
dataface/agent_api/pack.py
CHANGED
|
@@ -24,6 +24,7 @@ from dataface.core.inspect.resolver import LayeredSchemaResolver
|
|
|
24
24
|
from dataface.core.pack.models import PackProposal, ProposedDashboard
|
|
25
25
|
from dataface.core.pack.planner import SourceEntry, plan_pack
|
|
26
26
|
from dataface.core.pack.proposal_store import dump_proposal
|
|
27
|
+
from dataface.core.project import Project
|
|
27
28
|
|
|
28
29
|
|
|
29
30
|
class ScaffoldResult(BaseModel):
|
|
@@ -168,7 +169,7 @@ def propose_pack(
|
|
|
168
169
|
raise FileNotFoundError(f"Project directory not found: {project_dir}")
|
|
169
170
|
|
|
170
171
|
registry = build_adapter_registry(
|
|
171
|
-
project_dir, project_sources=load_project_sources(project_dir)
|
|
172
|
+
project_dir, project_sources=load_project_sources(Project(project_dir))
|
|
172
173
|
)
|
|
173
174
|
sql_sources = registry.list_sql_sources()
|
|
174
175
|
|