ux(provisioning): portrait arrow points right, not up
In portrait orientation the cable/ribbon is on the left, so the physical 'up' edge of the hung frame corresponds to the right side of the rendered diagram — not the top. Swap the up-arrow inside the portrait screen for a right-arrow so the diagram actually shows the user which edge will be up when they hang the frame. Landscape diagram is unchanged (cable on bottom → up is up). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
+14
-1
@@ -118,6 +118,19 @@ def up_arrow(draw, cx, cy, half_w=12, h=22, color=BK):
|
|||||||
], fill=color)
|
], fill=color)
|
||||||
|
|
||||||
|
|
||||||
|
def right_arrow(draw, cx, cy, half_h=12, w=22, color=BK):
|
||||||
|
"""Solid filled triangle pointing right, centered on (cx, cy).
|
||||||
|
|
||||||
|
Used in the portrait diagram: with the cable/ribbon on the left,
|
||||||
|
the physical 'up' edge of the frame (when hung) is the right side
|
||||||
|
of the rendered diagram, so the arrow points that way."""
|
||||||
|
draw.polygon([
|
||||||
|
(cx + w // 2, cy), # tip
|
||||||
|
(cx - w // 2, cy - half_h), # base top
|
||||||
|
(cx - w // 2, cy + half_h), # base bottom
|
||||||
|
], fill=color)
|
||||||
|
|
||||||
|
|
||||||
def orientation_diagrams(draw, accent, show_active_ls=True):
|
def orientation_diagrams(draw, accent, show_active_ls=True):
|
||||||
"""Draw both orientation diagrams in the centre panel.
|
"""Draw both orientation diagrams in the centre panel.
|
||||||
|
|
||||||
@@ -159,7 +172,7 @@ def orientation_diagrams(draw, accent, show_active_ls=True):
|
|||||||
draw.rectangle([pt_x-pr_w, pt_y, pt_x-1, pt_y+pr_h-1], fill=BK)
|
draw.rectangle([pt_x-pr_w, pt_y, pt_x-1, pt_y+pr_h-1], fill=BK)
|
||||||
draw.rectangle([pt_x, pt_y, pt_x+pt_w-1, pt_y+pt_h-1], outline=BK, width=3)
|
draw.rectangle([pt_x, pt_y, pt_x+pt_w-1, pt_y+pt_h-1], outline=BK, width=3)
|
||||||
|
|
||||||
up_arrow(draw, pt_x + pt_w // 2, pt_y + pt_h // 2, half_w=12, h=22)
|
right_arrow(draw, pt_x + pt_w // 2, pt_y + pt_h // 2, half_h=12, w=22)
|
||||||
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
|||||||
Reference in New Issue
Block a user