feat: выбор граней окон для солнечных лучей (#577)

Issue: #577
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-09-15 00:16:35 +03:00
parent 949422fe91
commit db4b397e2e
70 changed files with 1209 additions and 885 deletions
+3
View File
@@ -215,6 +215,7 @@ def test_rich_plan_projection_preserves_safe_structure_and_drops_unknown_values(
"model_version": 9,
"settings": {
"north_deg": 30,
"sun_ray_origin": "outer",
"show_room_tooltip": False,
"zigbee_topology": {
"enabled": True,
@@ -315,6 +316,7 @@ def test_rich_plan_projection_preserves_safe_structure_and_drops_unknown_values(
assert plan["settings"]["fill_colors"] == {"temp_hot": {"a": 0.5, "c": "#ffaa00"}}
assert b"private-owner" not in raw and b"example.test" not in raw
assert plan["settings"]["show_room_tooltip"] is False
assert plan["settings"]["sun_ray_origin"] == "outer"
assert "zigbee_topology" not in plan["settings"]
assert b"private/site/zigbee2mqtt" not in raw
assert plan["settings"]["decor_default_style"] == {"color": "#123456", "width_cm": 2}
@@ -363,6 +365,7 @@ def test_projection_helpers_fail_closed_on_malformed_shapes():
assert support_package._custom_fill(None) is None
assert support_package._global_settings(None) == {}
assert support_package._global_settings({"show_room_tooltip": "false"}) == {}
assert support_package._global_settings({"sun_ray_origin": "invalid"}) == {}
assert support_package._room_settings(ids, None) == {}
assert support_package._project_layout(ids, None) == {}
assert support_package._summary(None, None)["spaces"] == 0