cupOJoseph / cupOJoseph/spaceCanvas

Use Turf.js for 200-voter Travis turf boundaries and routes

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Problem
The current turf generation uses deterministic chunk geometry and rectangular boundaries. The original plan called for using Turf.js to break Travis County into many 200-voter turfs.

## Goal
Use Turf.js geospatial helpers to create better turf boundaries and walk routes from household point collections.

## Suggested Approach
- Add a Node-side Turf.js materializer or generated artifact step.
- Build point features for geocoded household targets.
- Partition into roughly 200-voter turf groups.
- Use Turf.js helpers such as bbox/center/convex/voronoi or clustering utilities as appropriate.
- Store generated boundaries and route waypoints in SpacetimeDB.

## Acceptance Criteria
- Turf boundaries are generated from household coordinates rather than simple fallback rectangles.
- Each turf is close to 200 registered voters except natural remainder/edge cases.
- Routes are ordered enough for simulated walkers to move naturally through the turf.
- Generation is deterministic and testable.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the current turf-generation implementation, the Node-side materializer or generated-artifact step, and the SpacetimeDB storage path mentioned in the issue. Define how household point features are partitioned and routes are ordered, then verify deterministic generation, near-200-voter groups, coordinate-based boundaries, and stored route waypoints against the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.