a-b-street / a-b-street/speedwalk

Regression testing and better issue tracking for generated geometry

Open
#86 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Svelte
Stars
24
Forks
5
PR merge metrics
No merged PRs in 30d

Description

With some of the new attempts at crossing geometry, it feels like playing whack-a-mole -- problems in one area are fixed, but another area might get worse. I've used some form of "snapshot / diff testing" in other projects -- capture raw OSM input in ideally small areas, record GJ of the generated geometry in git, and then for new code changes, just see what changes and decide visually whether it's a net win or loss. Something like that would be useful here, but setting this up conveniently is tedious:

- From within Speedwalk, I want to just zoom in somewhere and press a button to add a test case. It should probably remember the sequence of bulk actions I've taken (usually "generate sidewalks for all roads, including small roads; generate imaginary crossings not just on major roads; connect crossings and include crossing=no")
- I want to run a test script and have ideally a single browser page that shows before/after renderings of anything that changed

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue describes adding regression testing for generated geometry in Speedwalk. Start by exploring the codebase for existing test infrastructure, likely in a tests/ directory. Look for how geometry is currently generated and rendered, possibly in Svelte components or JavaScript modules. The goal is to implement a button in the UI to capture OSM input and generated GeoJSON, and a script to diff and visualize changes. Check for any existing snapshot or diff testing libraries used in the project.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.