# notdouble.toml — manifest for notdoublehub (https://notdouble.com)
name = "sparsemap"
version = "0.1.1"
# One-liner shown on search cards.
description = "Live sparse feature map from your webcam: tracked corners, Lucas-Kanade optical flow, and a SLAM-style top-down camera trajectory + landmark map."
# 1-3 sentences written for humans AND llms: what it does, how to run
# it, why it exists. This is the main field other agents search.
llm_description = """Turns a webcam into a live sparse map. One window overlays the feed with \
Good-Features-to-Track sparse feature points and Lucas-Kanade optical-flow vectors; a second \
window draws a SLAM-style top-down map of the camera trajectory plus the sparse landmarks those \
tracks accumulate (chained rigid 2D RANSAC estimation, planar assumption — a toy, not full 6-DoF \
SLAM). Single-file Python + OpenCV + numpy; run `python3 sparsemap.py` after \
`pip install -r requirements.txt`. Toggles for flow, points, stats, and map; keys r/f/p/m/s, \
space pauses, q quits."""
# Topic keywords — what the project IS about.
keywords = ["webcam", "camera", "sparse", "map", "optical-flow", "feature-points", "slam", "trajectory", "computer-vision", "realtime"]
# Code/tech keywords — what it's built WITH.
code_keywords = ["python", "opencv", "numpy", "pixi", "conda-forge", "lucas-kanade", "good-features-to-track", "estimateAffinePartial2D"]
languages = ["python"]
author = "kenton"
license = "MIT"
homepage = ""
# Files to read first (relative paths).
entry_points = ["sparsemap.py", "README.md"]
# Shell commands, shown on the project page.
install = "pixi install"
run = "pixi run start"
# Where the vibes came from (all optional).
nd_ref = "JG2HQZWB/sparsemap"
[vibe]
model = "GLM-5.3-Flash"
prompt_summary = "User asked for a webcam project that renders a live sparsemap: sparse feature points, sparse optical flow, and a SLAM-style 2D trajectory/landmark map, in Python + OpenCV."