chore(dashboardAPI): center tank vertically + handle floor-edge labels
Tank rectangle moved from top-aligned (top=20 in 760 frame) to vertically centered (top=40, with 40 px top + 40 px bottom margins for the rim and floor caption text). Header rim caption shifted to y=20, footer floor to y=724, so both sit just outside the tank rect. Label algorithm extended: when a label would normally go BELOW its line but doing so would push it past the tank floor (which happens for very small dryRunThresholdPercent — dryRunLevel sits right on outflowLevel, both nearly at the basin floor), it falls back to stacking ABOVE the previous label instead of extending into invisible space. This keeps all 5 threshold labels inside the visible canvas area at the cost of a slight visual overlap of the lowest label with its own line. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -234,7 +234,7 @@
|
||||
{
|
||||
"name": "Zone Spill",
|
||||
"type": "rectangle",
|
||||
"placement": { "top": 20, "left": 10, "width": 380, "height": {{h_spill}} },
|
||||
"placement": { "top": 40, "left": 10, "width": 380, "height": {{h_spill}} },
|
||||
"background": { "color": { "fixed": "rgba(229, 67, 67, 0.18)" } },
|
||||
"border": { "color": { "fixed": "transparent" }, "width": 0 },
|
||||
"config": { "text": { "mode": "fixed", "fixed": "" } }
|
||||
@@ -266,7 +266,7 @@
|
||||
{
|
||||
"name": "Tank Outline",
|
||||
"type": "rectangle",
|
||||
"placement": { "top": 20, "left": 10, "width": 380, "height": 680 },
|
||||
"placement": { "top": 40, "left": 10, "width": 380, "height": 680 },
|
||||
"background": { "color": { "fixed": "transparent" } },
|
||||
"border": { "color": { "fixed": "#8a8a8a" }, "width": 2 },
|
||||
"config": { "text": { "mode": "fixed", "fixed": "" } }
|
||||
@@ -389,7 +389,7 @@
|
||||
{
|
||||
"name": "Header Rim",
|
||||
"type": "text",
|
||||
"placement": { "top": 2, "left": 10, "width": 380, "height": 16 },
|
||||
"placement": { "top": 20, "left": 10, "width": 380, "height": 16 },
|
||||
"background": { "color": { "fixed": "transparent" } },
|
||||
"border": { "color": { "fixed": "transparent" }, "width": 0 },
|
||||
"config": { "text": { "mode": "fixed", "fixed": "rim ({{heightBasin}} m)" }, "color": { "fixed": "#8a8a8a" }, "size": 10, "align": "center", "valign": "middle" }
|
||||
@@ -397,7 +397,7 @@
|
||||
{
|
||||
"name": "Footer Floor",
|
||||
"type": "text",
|
||||
"placement": { "top": 728, "left": 10, "width": 380, "height": 16 },
|
||||
"placement": { "top": 724, "left": 10, "width": 380, "height": 16 },
|
||||
"background": { "color": { "fixed": "transparent" } },
|
||||
"border": { "color": { "fixed": "transparent" }, "width": 0 },
|
||||
"config": { "text": { "mode": "fixed", "fixed": "floor (0.00 m)" }, "color": { "fixed": "#8a8a8a" }, "size": 10, "align": "center", "valign": "middle" }
|
||||
|
||||
Reference in New Issue
Block a user