Commit Graph
21 Commits
Author SHA1 Message Date
Itallo BrandãoandClaude Opus 5.5 e631839a4e fix(transit): quote Halifax's Open Government Licence
The licence page refuses automated requests; its text was read in a browser.
Credit now uses the licence's own attribution statement.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-08 03:08:40 -03:00
Itallo Brandão 543c607b23 Merge remote-tracking branch 'origin/main' into feat/transit-more-cities 2026-11-08 02:57:49 -03:00
Itallo BrandãoandClaude Opus 5.5 923287eb92 chore(changelog): name the transit fragment after PR #1628
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-08 02:56:19 -03:00
Itallo BrandãoandClaude Opus 5.5 71b694ab62 feat(transit): add 32 more keyless cities across Europe, Asia, Oceania and North America
Prague, Warsaw, Kraków (buses and trams), Poznań, Gdańsk, Rzeszów, Vilnius,
Bucharest, Cluj-Napoca, Iași, Rome, Turin, Venice (buses and waterbuses),
Bordeaux, Montpellier, Rouen, Toulon, Le Havre, Tours, Málaga, Lisbon's city
Carris, Sendai, Johor Bahru, Kota Bharu, Adelaide, Atlanta, Denver, Edmonton,
Halifax and Victoria.

Each entry records its licence, or that none is stated and the Metro
Transit/OVapi basis it ships on. Montpellier and Toulon publish km/h and are
converted. Route ids are read as the rider-facing line; Prague, Bordeaux and
Le Havre trams and Venice waterbuses take their own mode. Adelaide needs
`Accept: */*` to get binary protobuf. Every feed was fetched through the dev
proxy on 2026-11-08.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-08 02:50:32 -03:00
Itallo BrandãoandClaude Opus 5.5 e0ba12e5a9 feat(transit): add Lisbon's Carris Metropolitana buses
Keyless GTFS-Realtime feed from Carris Metropolitana, documented in the
operator's public API repository. No licence is stated for the realtime
endpoint (the static GTFS is CC BY 4.0), so it is credited as a courtesy on
the same basis as the Metro Transit and OVapi feeds. The feed publishes km/h,
so a new `speedUnit` registry field lets the proxy convert to m/s. Route ids
wrap the GTFS route id in an area prefix and are read as the line number.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 19:38:24 -03:00
Itallo BrandãoandClaude Opus 5.5 584138decf Merge main into feat/shipwrecks
Keeps main's reformatted layer table in docs/CURRENT-STATE.md and adds the Shipwrecks row to it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 18:37:28 -03:00
Itallo BrandãoandClaude Opus 5.5 dfd4ba04f8 Merge main into feat/transit-icon-heading
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 17:50:40 -03:00
Itallo BrandãoandClaude Opus 5.5 096b3c85bf Merge main into feat/shipwrecks; move shipwrecks to token 00
Main's wildlife-sightings layer took share-link token 9, so shipwrecks
takes the next free token, 00. Locale, docs, format-scope and voice
manifest conflicts keep both sides. Ledger and registry tests now model
the ledger before shipwrecks took 00, and layer counts include both
new layers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 02:52:49 -03:00
Itallo BrandãoandClaude Sonnet 5.5 433b336c2d feat(transit): add Szczecin buses and trams (ZDiTM, CC0)
Keyless GTFS-Realtime feed published by ZDiTM Szczecin under CC0 1.0.
Speeds are m/s (checked against vehicle movement), the file refreshes about
every 20 s, and the feed carries no route ids, so vehicles take the default
bus mode.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-11-06 02:50:42 -03:00
Itallo BrandãoandClaude Opus 5.5 c73e4edce7 docs(changelog): add #1583 fragment
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 10:44:17 -03:00
Itallo BrandãoandClaude Opus 5.5 1199fe05c7 fix(shipwrecks): give the era legend its labels and counts
The panel reads legend entries as label and count; the layer sent text, so each entry showed 'undefined'.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 04:55:16 -03:00
Itallo BrandãoandClaude Opus 5.5 112ffd4386 feat(shipwrecks): period picker like air accidents, sharper icons
- Replace the four era chips with the start and end year pickers the
  air-accidents layer uses (the same RowRange control, ported as is);
  the era colours stay as a legend under the row.
- Rasterize the boat marker at 144 px so large markers stay sharp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 04:49:36 -03:00
Itallo BrandãoandClaude Opus 5.5 dcd0f2cccd feat(layers): add shipwrecks layer (EMODnet + Wikidata)
A new Events layer maps shipwrecks with a card per wreck:
- EMODnet Human Activities heritage shipwrecks (about 6,500 in European
  waters, CC BY 4.0), skipping rows taken from wrecksite.eu.
- Wikidata shipwrecks with a Wikipedia article plus sinking events
  (CC0); an event folds into its ship for the date and death toll.
- A same-origin /api/shipwrecks proxy refreshes once a day and serves
  the last snapshot as stale for up to a week.

Markers are a boat icon coloured by era and sized by deaths; four era
chips filter the layer. The card follows the air-accidents layout
(deaths first). Text that names people is dropped; victims appear as
a count only.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 04:42:59 -03:00
Itallo BrandãoandClaude Opus 5.5 6172be3995 feat(transit): give vehicle icons a readable front, and none without a course
At the ~20 px the fleet renders at, the bus, tram, metro and unknown
glyphs were near-symmetric boxes: rotated along the course, nothing showed
which end was the front. Each now has a front built into its outline (an
arrow-like nose for the bus, a pointed cab for the tram, a chamfered cab
for the metro), so it survives the tint, the halo and the sensor profiles,
which keep only the outline.

A vehicle with no known course sits at rotation 0, where a pointed glyph
would claim it is heading north. Those vehicles, fleet and selected alike,
now get a symmetric outline (rail and ferry included) and switch to the
pointed one once a course arrives. The raster cache doubles to a fixed 72
variants.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 03:39:15 -03:00
Itallo BrandãoandClaude Opus 5.5 b37025414d test(firms): pin the refresh call count and read sources from production
Review follow-up for #1552:
- environmentProviders: assert exactly 3 upstream calls per refresh again,
  so a returning fourth source would fail the test.
- firmsProxy: build the test's SOURCES from server/providers/firms.js, so
  there is one list instead of a mirrored copy.
- firmsProxy: drop the unused fourth count entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 02:57:27 -03:00
Itallo BrandãoandClaude Opus 5.5 ad48305dac feat(transit): name Rio routes from SMTR's published GTFS
SMTR's realtime feeds carry internal route keys, so a Rio card read
"Route O0731AAN0A" where riders know line SN731. Join both feeds to the
route_short_name in SMTR's static GTFS routes.txt (CC BY 4.0, same
publisher and terms). The keys cannot be parsed: O0014AAA0A is LECD135.
A 2026-11-04 snapshot found all 282 bus and 21 BRT routes in service in
the table; an unknown key still falls through raw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 22:49:54 -03:00
Itallo BrandãoandClaude Opus 5.5 b342e405d7 docs(changelog): add fragment for #1552
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 15:20:09 -03:00
Itallo BrandãoandClaude Opus 5.5 84c1fef8d3 fix(firms): stop requesting the retired Suomi NPP source
NASA stopped delivering Suomi NPP data on 2026-11-02 (FIRMS news page).
With a live MAP_KEY on 2026-11-04, VIIRS_SNPP_NRT came back ok with zero
rows while NOAA-20, NOAA-21 and MODIS returned 57k, 49k and 11k, so the
source only spent one transaction per refresh. The proxy now requests
NOAA-20, NOAA-21 and MODIS NRT. The "N" satellite label stays, so cached
or archived Suomi NPP rows still read SNPP.

Tests count sources from the list instead of assuming four, and a
regression test keeps the retired source out of the production list.

Refs #849

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 15:15:34 -03:00
Itallo BrandãoandClaude Opus 5.5 1b0b4a10dc Merge main into feat/rio-transit-gtfs-rt
Resolves the DATA_SOURCES.md conflict by keeping main's rewritten Transit
and Radio bullets and restating the count for this branch: eighteen feeds
covering seventeen regions (the two Rio feeds share one region).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 11:53:46 -03:00
Itallo BrandãoandClaude Opus 5.5 53d30c9e80 docs(changelog): add fragment for #1481
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 16:30:47 -03:00
Itallo BrandãoandClaude Opus 5.5 a4c7b20ca8 feat(transit): add Rio de Janeiro buses and BRT (SMTR GTFS-RT, CC BY 4.0)
Register Rio's two keyless GTFS-Realtime VehiclePositions feeds from the
city transport secretariat (SMTR): municipal buses (SPPO) and the
Mobi-Rio BRT, the Transit layer's first Latin American region.

Both feeds publish Position.speed in km/h instead of m/s. A new optional
registry field, speedUnit: 'kmh', makes buildTransitSnapshot convert it
once, so every speedMps consumer stays correct and other feeds are
untouched.

Document the source in DATA_SOURCES.md and update the region lists in
README.md and docs/CURRENT-STATE.md.

Refs #1480

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 16:11:10 -03:00