Commit History
-
fixed the narration+traces
c552106
-
Add on-demand worldwide cities (any city via live OSM)
Tristan Leduc +1: Claude Opus 4.8 (1M context)Paris stays pre-baked (instant, offline). Any other city is now fetched from OpenStreetMap at request time — only the bounding box spanning the two endpoints plus a margin, so a cross-city route downloads a few MB, not the whole metropolis. - routing/area.py: new Area (graph + POIs + projection origin + timezone + CSR); resolve_area() returns the cached Paris area for in-Paris requests, else builds an on-demand bbox area (bounded LRU cache), with a max-endpoint-distance guard. - pois.py: projection origin is now per-area (index_table/to_metres take origin), not the Paris constant; corridor_pois accepts an area table+origin. - graph.py: build_csr(graph) extracted so the travel matrix uses the area's own network; geocode_point now resolves worldwide (Paris offline index for Paris- hinted queries, Nominatim otherwise) instead of rejecting non-Paris. - matrix.py: build_matrix accepts the area CSR. - pipeline.py: resolve + thread the area; open-now uses the area timezone. - confi…1a502dd -
fixed ui
2c5a5d1
-
v2 with model changed and using gradio server func
10cf611
-
Design system, live freshness, autocomplete, and clay-pin markers
Tristan Leduc +1: Claude Fable 5UI/UX (from the design handoff): - Clay-sticker theme, hero, framed Voyager map with warm grade, loading state ("Scouting your wander…"), route-draw + staggered marker pop-in - 14-piece clay-pin marker family (vendored SVGs) with color-by-meaning mapping for all 17 categories, start/dest pins, legend in the family's color language - Start/Destination autocomplete over the local 30k POI-name index - Force-light mode (design is light-only; Gradio dark vars made text unreadable), per-event js fixed to pass inputs through Freshness: - Open-now awareness from OSM opening_hours (9,461 POIs): conservative evaluator (abstains on exotic grammar, per-rule PH/SH handling), plan-time demotion of closed places, night realism for unknown-hours daytime categories, 🟢/🔴 itinerary badges - Optional Google Places live-verify of final stops (GOOGLE_MAPS_API_KEY; ToS-clean: per-request, never stored) - Embedder switched to fastembed/ONNX (no torch in the request path; warms in ~9s), bo…b34c92a -
Wanderlust: taste-aware Paris discovery routing
Tristan LeducBuild Small Hackathon submission - v1 complete All P0 requirements + P1 features: - OSM-based routing with detour budget control - POI extraction with confidence scoring (30k places, 17 categories) - Submodular orienteering solver with diversity optimization - Vibe interpretation via sentence embeddings (bge-small) - Grounded narration (0% hallucination gate) with optional Qwen3.5-9B - Persistent taste profile (browser-based) - Alternative routes (3 options) - Custom UI (clay/sticker design with animations) - Offline-first architecture (no runtime cloud APIs) - Fully tested (42 tests passing) Stack: OSM + networkx + scipy + Gradio 6 + HuggingFace Ready for HF Space deployment. See HACKATHON_DEPLOYMENT.md for push instructions.f00d669