new rendering engine

This commit is contained in:
2026-06-19 02:55:33 +02:00
parent 0a90d6a5d7
commit 81a4167382
53 changed files with 1668 additions and 378 deletions

View File

@@ -1,6 +1,6 @@
use domain::{
ContainerNode, Direction, Layout, LayoutChild, LayoutNode, LayoutValidationError, Sizing,
WidgetId,
AlignItems, ContainerNode, Direction, JustifyContent, Layout, LayoutChild, LayoutNode,
LayoutValidationError, Sizing, WidgetId,
};
use std::collections::BTreeSet;
@@ -16,6 +16,8 @@ fn row(children: Vec<LayoutChild>) -> LayoutNode {
direction: Direction::Row,
gap: 0,
padding: 0,
justify_content: JustifyContent::Start,
align_items: AlignItems::Stretch,
children,
})
}

View File

@@ -1,4 +1,4 @@
use domain::{DisplayHint, KeyMapping, Value, WidgetConfig};
use domain::{DisplayHint, DisplayHintKind, KeyMapping, Value, WidgetConfig};
use std::collections::BTreeMap;
#[test]
@@ -6,7 +6,7 @@ fn extract_applies_all_mappings_to_produce_widget_state() {
let config = WidgetConfig {
id: 1,
name: "weather".into(),
display_hint: DisplayHint::IconValue,
display_hint: DisplayHint::new(DisplayHintKind::IconValue),
data_source_id: 1,
mappings: vec![
KeyMapping {
@@ -51,7 +51,7 @@ fn extract_truncates_string_values_exceeding_max_data_size() {
let config = WidgetConfig {
id: 1,
name: "news".into(),
display_hint: DisplayHint::TextBlock,
display_hint: DisplayHint::new(DisplayHintKind::TextBlock),
data_source_id: 1,
mappings: vec![KeyMapping {
source_path: "$.text".into(),
@@ -74,7 +74,7 @@ fn extract_respects_max_data_size_across_total_state() {
let config = WidgetConfig {
id: 1,
name: "big".into(),
display_hint: DisplayHint::TextBlock,
display_hint: DisplayHint::new(DisplayHintKind::TextBlock),
data_source_id: 1,
mappings: vec![
KeyMapping {
@@ -109,7 +109,7 @@ fn extract_skips_mappings_that_dont_match() {
let config = WidgetConfig {
id: 1,
name: "weather".into(),
display_hint: DisplayHint::IconValue,
display_hint: DisplayHint::new(DisplayHintKind::IconValue),
data_source_id: 1,
mappings: vec![
KeyMapping {