M1.4 Open upstream PR (atomic, disclosed AI-assisted) #13

Open
opened 2026-07-27 11:04:01 +00:00 by jmz · 3 comments
Owner

Branch off upstream-main, PR to open-wanderer/main. Description: problem, user-facing behavior, how tested, AI-assisted disclosure. One topic only.

Branch off `upstream-main`, PR to open-wanderer/main. Description: problem, user-facing behavior, how tested, AI-assisted disclosure. One topic only.
Author
Owner

M1.4 PR prepped — 2026-07-27

Atomic upstream branch built and pushed: pr/smart-insertion off upstream-main (= open-wanderer/main @ v0.20.0). 2 commits, 4 files, +198/−2, smart insertion only — the route-editor undo/redo marker-sync fixes (#16) are deliberately excluded to keep it atomic per upstream CONTRIBUTING.

Contents:

  • route_insertion.ts + tests — chooseInsertionIndex (pure, 8/8 vitest)
  • valhalla_store: insertAnchorSplit (single-undo mid-route split) + insertIntoRoute index-0 fix
  • +page.svelte: addAnchorSmart wired into the map-click handler

Verified: vitest 8/8 green, svelte-check 0 errors/0 warnings, manual end-to-end on the running instance (mid-insert / append / prepend / single-step undo all ✅).

PR description drafted (what/why/how-tested/limitations + AI-assisted disclosure). Compare: oss/wanderer/compare/main...pr/smart-insertion.

Blocked on outward submission (needs the human): submitting to github.com/open-wanderer/wanderer requires (1) a GitHub fork under your account to push to, (2) GitHub auth (no gh/token on this host), and (3) opening the M1.1 issue first (#10) per their issue-first policy. Everything is staged and ready — will submit on your go once the fork + auth exist.

**M1.4 PR prepped — 2026-07-27** Atomic upstream branch built and pushed: **`pr/smart-insertion`** off `upstream-main` (= `open-wanderer/main` @ v0.20.0). 2 commits, 4 files, +198/−2, **smart insertion only** — the route-editor undo/redo *marker-sync* fixes (#16) are deliberately excluded to keep it atomic per upstream CONTRIBUTING. Contents: - `route_insertion.ts` + tests — `chooseInsertionIndex` (pure, 8/8 vitest) - `valhalla_store`: `insertAnchorSplit` (single-undo mid-route split) + `insertIntoRoute` index-0 fix - `+page.svelte`: `addAnchorSmart` wired into the map-click handler Verified: vitest 8/8 green, `svelte-check` 0 errors/0 warnings, manual end-to-end on the running instance (mid-insert / append / prepend / single-step undo all ✅). PR description drafted (what/why/how-tested/limitations + AI-assisted disclosure). Compare: `oss/wanderer/compare/main...pr/smart-insertion`. **Blocked on outward submission (needs the human):** submitting to `github.com/open-wanderer/wanderer` requires (1) a GitHub fork under your account to push to, (2) GitHub auth (no `gh`/token on this host), and (3) opening the M1.1 issue first (#10) per their issue-first policy. Everything is staged and ready — will submit on your go once the fork + auth exist.
Author
Owner

Design change — 2026-07-27 (decided with the user). Always-on smart-insert misfires when planning loops (a click meant to extend the route lands geometrically near an early segment and gets inserted mid-route). New design:

  • Plain click = append (default, = upstream's current behavior; zero surprise).
  • Insert at nearest segment = opt-in, via BOTH: a panel toggle (Append ▸ Insert) and Alt/⌘-click for a one-off insert.

This makes the feature purely additive over upstream (better odds of acceptance). Implementing now on our fork first; the pr/smart-insertion branch + PR text will be re-staged around the append-default design before any upstream submission.

**Design change — 2026-07-27 (decided with the user).** Always-on smart-insert misfires when planning **loops** (a click meant to extend the route lands geometrically near an early segment and gets inserted mid-route). New design: - **Plain click = append** (default, = upstream's current behavior; zero surprise). - **Insert at nearest segment = opt-in**, via BOTH: a panel **toggle** (Append ▸ Insert) and **Alt/⌘-click** for a one-off insert. This makes the feature purely additive over upstream (better odds of acceptance). **Implementing now on our fork first; the `pr/smart-insertion` branch + PR text will be re-staged around the append-default design before any upstream submission.**
Author
Owner

Re-staged — 2026-07-27 (append-default / additive). pr/smart-insertion force-updated: 2 commits, 7 files, +232/−1. Reframed as a purely additive feature — upstream already appends by default, so this changes no default behavior and just adds an opt-in (Insert toggle + Alt/⌘-click). That's a much easier upstream sell.

Same design now live on our fork (deploy-ab00270a) for testing. vitest 8/8, svelte-check clean. PR description rewritten to the additive framing (what/why/how-tested/limitations + AI disclosure).

Still awaiting the human for outward submission (GitHub fork + auth + post the #10 issue first).

**Re-staged — 2026-07-27 (append-default / additive).** `pr/smart-insertion` force-updated: **2 commits, 7 files, +232/−1**. Reframed as a purely **additive** feature — upstream already appends by default, so this changes no default behavior and just adds an opt-in (Insert toggle + Alt/⌘-click). That's a much easier upstream sell. Same design now live on our fork (`deploy-ab00270a`) for testing. vitest 8/8, svelte-check clean. PR description rewritten to the additive framing (what/why/how-tested/limitations + AI disclosure). Still awaiting the human for outward submission (GitHub fork + auth + post the #10 issue first).
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
public/wanderer#13
No description provided.