Skip to content

Manual item directions against the new wedges and solver #271

Description

@QuentinRoy

Question

Do the new wedges and the new label solver survive manual item directions?

Stated angles have shipped: #244 landed in #261 and both it and its parent #43 are closed. A caller sets an item's angle in degrees clockwise from east, and items left alone spread evenly between the ones that were placed. So angles are no longer evenly spaced, neighbours can be close, and this ticket tests the new wedges against behaviour that already exists rather than against a proposal. The design canvas (linked from #263) has a preset for exactly this — "Manual (#43)", angles [0, 20, 90, 160, 180, 200, 270, 340], with two pairs only 20° apart.

Prototype it and report:

  • Wedges. With a constant-width gap, how close can two angles get before a wedge collapses? Produce the number as a function of the gap width and the inner radius. Confirm the collapse is silent and that nothing else on the ring is disturbed.
  • Bisection. The wedge bounds come from bisecting to each angular neighbour. With uneven angles the wedges have very different widths. Check that a wide wedge and a hair-thin one next to it still read as a menu.
  • Labels. The collision solver grows one radius for all plates. Two items 20° apart push that radius out for everyone, so eight items with one close pair may sit much further out than eight even ones. Quantify it, and say whether it is acceptable.
  • Anchoring. The softHigh easing exists precisely so that manual angles between 45° and 90° switch anchoring smoothly. Confirm it behaves with the new plate placement.
  • Where the limit belongs. If some angle configurations are simply unusable, say whether that is Reject menus too crowded for the recognizer #245's business or a new constraint.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions