Skip to content

Release v26.6.69#59

Merged
chriskinal merged 6 commits into
mainfrom
develop
Jul 2, 2026
Merged

Release v26.6.69#59
chriskinal merged 6 commits into
mainfrom
develop

Conversation

@chriskinal

Copy link
Copy Markdown
Collaborator

Promote developmain for release v26.6.69.

Included since v26.6.65 / last main

All tests green on develop. Version bumped to 26.6.69; tagging v26.6.69 after merge triggers the release build.

🤖 Generated with Claude Code

chriskinal and others added 6 commits July 1, 2026 20:36
Consolidate all AB/track creation into one Quick AB hub and make the created
lines behave predictably, plus touch fixes and guidance-line rendering cleanup.

Quick AB menu (single entry point, three sections):
- By Driving: A+, Drive AB, Curve
- From Field Boundary: Longest Edge, Bnd. Curve, All Edges
- Draw on Map: Straight, Curve
  (removed the separate Draw-Track-on-Map dialog + bottom-nav launchers)

Creation flows:
- Drive AB: A/B markers drop at the vehicle; button steps "Set Point A" → "Set
  Point B"; B shows briefly then the line is created.
- Drive Curve: "Set Point A" starts recording, green path dots drop as you drive,
  "Set Point B" finishes; A/B endpoint dots labelled.
- Straight/curve draw: A/B letter rides the crosshair (mouse only) + orange-A/
  blue-B labelled dots at the tapped points.
- Bnd. Curve: tap A then B on the boundary → curve along the shorter arc, Chaikin-
  smoothed corners, offset half a tool inside the fence; drives on the boundary
  (NoPassOffset: no free-drive nearest-pass snap; laterals/nudge/manual U-turn
  still work). Persisted in the field GeoJSON. Auto-U-turn on it is stop-gapped
  off pending proper end-of-pass geometry (follow-up).
- A+: client-side "needs a GPS position" hint (host bailed silently).

Touch fixes:
- Crosshair A/B letter and the "Esc to cancel" hint are mouse/keyboard only.
- Flag placement (and any bare map-tap flow) gets a touch Cancel pill.

Guidance-line rendering:
- Draw the purple reference only when offset from it (pass ≠ 0); on the reference
  pass show one clean magenta line. Both extended full-field (fixes the short-stub
  offset line). 1-based pass label ("Pass 1" = the reference line). New PassNumber
  on the Tick drives it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AB/track creation & guidance-line UX overhaul
…apped

Progress toward auto-U-turns on the boundary-follow curve (#Bnd.Curve):
- FIXED #3 (return/next-track on the wrong side): the cultivated-area check that
  picks the turn direction approximated a curve as its straight A→B chord; now it
  offsets the ACTUAL curve (CreateOffsetCurve) and samples that. More accurate for
  all curves; boundary curve's cyan now lands on the cultivated (inward) side.
- Root cause of "no U-turn arc created" identified: the arc only creates when the
  tractor is in the cultivated area (inside the headland line — SYNTHETIC when none
  is defined, inset turnRadius+distance from the fence). A fence-hugging boundary
  pass sits inside that band → classified InHeadland → canCreateTurn stays false →
  drives off the end. Proper fix = arm off the outer boundary / end-of-pass when
  there's no real headland (most users have none). Touches shared U-turn code —
  regression-risky, needs a design decision.
- Auto-U-turn remains stop-gapped OFF on NoPassOffset curves so it doesn't wander
  off the end; drive + lateral + manual U-turn work.

Paused pending the park/redesign/offset decision. See continuation memory.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oundary

Make "Bnd. Curve" (boundary-follow curve) work like any curve for
pass-by-pass working with automatic U-turns, in fields with no headland.

- Arming: substitute the outer-boundary turn line (fence inset by
  UTurnDistanceFromBoundary, matching AgOpen CTurn.BuildTurnLines) for the
  missing headland, instead of a turn-radius-deep synthetic band the
  fence-hugging pass sat outside of. Removes the stopgap that disabled
  auto-U-turns on NoPassOffset curves.
- Extension: the Bnd. Curve now extends its ends past the boundary via
  ExtendCurvePastBoundary (same as the hand-drawn curve tool). That
  extension is now DENSIFIED at 2 m spacing rather than a single far
  endpoint — a lone long segment made a tractor's nearest point land on
  index 0, which FindCurveTurnPoint's walk (j>0) can't advance from, so the
  generator failed and the straight-line fallback mis-plotted the turn at
  the opposite fence (the "U-turn in the wrong corner" bug).
- Corners: round offset-curve corners (one Chaikin pass, gated on collision
  removal) so offset passes and the cyan next-track match the reference's
  smoothness at a tight wrap. Same routine feeds the display and the turn
  generator, so they stay matched.
- Inset: create the curve at halfTool + UTurnDistanceFromBoundary/2 so it
  clears the turn line with margin.

Device-verified on a real field wrapping the west end (16 m tool): turn
plots at the east end, in bounds, pass-by-pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow-ups on the boundary-curve U-turn work, device-verified:

- Distance-to-U-turn readout now measures ARC LENGTH along the track to the
  turn start, not straight-line, so it counts DOWN as the pass is worked
  (a curve wrapping a field end no longer counts up while driving away in a
  straight line). Trigger still fires on physical proximity.
- "All Edges" detects the boundary CORNERS (direction turns > ~20 deg) and
  builds one AB line per edge, instead of one per densified boundary point
  (a 4-sided field made ~45 lines; now 4).
- Menu: moved the Quick-AB button next to the Tracks button so Auto-Track
  (AT) is the far-right button on that flyout row.
- Hide the distance-to-boundary HUD while a map-tap creation flow is active
  (Quick AB / boundary curve / draw), so it doesn't clutter the top-centre
  instruction pill + toolbar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Boundary-curve auto-U-turns: work a field pass-by-pass following the fence
@chriskinal chriskinal merged commit a4a230b into main Jul 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant