Initial commit

This commit is contained in:
2026-04-17 01:33:23 +02:00
commit 1f6543bd7a
28 changed files with 2556 additions and 0 deletions

337
config/project.example.toml Normal file
View File

@@ -0,0 +1,337 @@
[metadata]
project_name = "Infinity Vis"
schema_version = 1
default_transport_profile = "scene_default"
default_safety_profile = "live_safe"
[topology]
expected_node_count = 6
outputs_per_node = 3
leds_per_output = 106
[[topology.nodes]]
node_id = "node-01"
display_name = "ESP32 Node 01"
[topology.nodes.network]
reserved_ip = "192.168.40.101"
telemetry_label = "rig-01"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-01-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-01-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-01-bottom"
[[topology.nodes]]
node_id = "node-02"
display_name = "ESP32 Node 02"
[topology.nodes.network]
reserved_ip = "192.168.40.102"
telemetry_label = "rig-02"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-02-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-02-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-02-bottom"
[[topology.nodes]]
node_id = "node-03"
display_name = "ESP32 Node 03"
[topology.nodes.network]
reserved_ip = "192.168.40.103"
telemetry_label = "rig-03"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-03-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-03-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-03-bottom"
[[topology.nodes]]
node_id = "node-04"
display_name = "ESP32 Node 04"
[topology.nodes.network]
reserved_ip = "192.168.40.104"
telemetry_label = "rig-04"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-04-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-04-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-04-bottom"
[[topology.nodes]]
node_id = "node-05"
display_name = "ESP32 Node 05"
[topology.nodes.network]
reserved_ip = "192.168.40.105"
telemetry_label = "rig-05"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-05-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-05-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-05-bottom"
[[topology.nodes]]
node_id = "node-06"
display_name = "ESP32 Node 06"
[topology.nodes.network]
reserved_ip = "192.168.40.106"
telemetry_label = "rig-06"
[[topology.nodes.outputs]]
panel_position = "top"
physical_output_name = "UART 6"
driver_channel = { kind = "pending_validation", reference = "UART 6" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-06-top"
[[topology.nodes.outputs]]
panel_position = "middle"
physical_output_name = "UART 5"
driver_channel = { kind = "pending_validation", reference = "UART 5" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-06-middle"
[[topology.nodes.outputs]]
panel_position = "bottom"
physical_output_name = "UART 4"
driver_channel = { kind = "pending_validation", reference = "UART 4" }
led_count = 106
direction = "forward"
color_order = "grb"
enabled = true
validation_state = "pending_hardware_validation"
logical_panel_name = "node-06-bottom"
[[topology.groups]]
group_id = "all_panels"
tags = ["global", "default"]
members = [
{ node_id = "node-01", panel_position = "top" },
{ node_id = "node-01", panel_position = "middle" },
{ node_id = "node-01", panel_position = "bottom" },
{ node_id = "node-02", panel_position = "top" },
{ node_id = "node-02", panel_position = "middle" },
{ node_id = "node-02", panel_position = "bottom" },
{ node_id = "node-03", panel_position = "top" },
{ node_id = "node-03", panel_position = "middle" },
{ node_id = "node-03", panel_position = "bottom" },
{ node_id = "node-04", panel_position = "top" },
{ node_id = "node-04", panel_position = "middle" },
{ node_id = "node-04", panel_position = "bottom" },
{ node_id = "node-05", panel_position = "top" },
{ node_id = "node-05", panel_position = "middle" },
{ node_id = "node-05", panel_position = "bottom" },
{ node_id = "node-06", panel_position = "top" },
{ node_id = "node-06", panel_position = "middle" },
{ node_id = "node-06", panel_position = "bottom" },
]
[[topology.groups]]
group_id = "top_panels"
tags = ["row_like", "hardware_safe"]
members = [
{ node_id = "node-01", panel_position = "top" },
{ node_id = "node-02", panel_position = "top" },
{ node_id = "node-03", panel_position = "top" },
{ node_id = "node-04", panel_position = "top" },
{ node_id = "node-05", panel_position = "top" },
{ node_id = "node-06", panel_position = "top" },
]
[[transport_profiles]]
profile_id = "scene_default"
mode = "distributed_scene"
logic_hz = 120
network_send_hz = 60
preview_hz = 15
heartbeat_hz = 5
ddp_compatibility = false
[[transport_profiles]]
profile_id = "frame_debug"
mode = "frame_streaming"
logic_hz = 120
network_send_hz = 40
preview_hz = 10
heartbeat_hz = 5
ddp_compatibility = true
[[safety_profiles]]
profile_id = "live_safe"
master_brightness_limit = 0.35
default_start_brightness = 0.20
allow_strobe = false
hold_last_frame_ms = 1500
fallback_preset_id = "safe_static_blue"
[[presets]]
preset_id = "safe_static_blue"
target_group = "all_panels"
transition_ms = 150
[presets.scene]
effect = "solid_color"
seed = 7
palette = ["#003bff"]
speed = 0.0
intensity = 1.0
blackout = false
[[presets]]
preset_id = "mapping_walk_test"
target_group = "all_panels"
transition_ms = 50
[presets.scene]
effect = "walking_pixel"
seed = 42
palette = ["#ffffff", "#000000"]
speed = 1.0
intensity = 1.0
blackout = false