halkyon/halkyon_learn_flutter/assets/maps/ATTRIBUTION.md
Tizian 「ティツィアーン」 e5e0de62b3
All checks were successful
CI / check (push) Successful in 14m52s
CI / deploy (push) Successful in 19s
feat(map): every country on earth, picked continent first
Map questions can now be on the world's countries besides Japan's
prefectures: a new question chooses its map above it.

The world is Natural Earth's 1:50m countries (public domain), as they are
on the ground, one region per ISO 3166-1 code (239; Gibraltar and the US
Outlying Islands from the 1:10m layer, which has them), named in every
language a studyset can be in from the Unicode CLDR (Unicode License v3,
its notice in the licence list). tool/maps/world_countries.py builds it;
the outline code it shares with the Japan script moved to outlines.py,
which still writes Japan's file byte for byte. The 1.8 MB file is parsed
off the screen's isolate.

Picking goes in layers on both maps: on the whole map one taps a group
(a continent, or Kantō, Kansai …; chips name them too) and the map flies
there, then one taps the region; Back returns. A group of one (Hokkaidō,
Okinawa) and what is in none (Antarctica) are picked at once. A country
in two groups (Russia, Türkiye, Cyprus) opens the one nearer the tap.
Oceania's frame runs past 180° so the Pacific stays in one piece.

What is still too small to hit gets a ring, 48 dp of reach as Material's
touch target: on the ring it is picked; near it, where the tap could mean
it or its neighbours, the map zooms in rather than guess. Pinching and a
mouse's wheel zoom as before.

Names show in the app's language, beside them the map's own (Japanese for
Japan) or the studyset's (キプロス beside Cyprus in a Japanese studyset).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-12 07:51:15 +02:00

1.8 KiB
Raw Blame History

Map data

Both maps derive from Natural Earth (https://www.naturalearthdata.com/), release v5.1.2. Natural Earth's map data is in the public domain:

All versions of Natural Earth raster and vector map data found on this website are in the public domain. You may use the maps in any manner, including modifying the content and design, electronic dissemination, and offset printing.

Japan's prefectures

japan_prefectures.geojson derives from Admin 1 – States, Provinces, 1:10m cultural vectors. tool/maps/japan_prefectures.py builds the file: it keeps Japan's 47 prefectures, simplifies their outlines (Douglas–Peucker, 0.006°), drops islands too small to see (each prefecture keeps its largest), and rounds coordinates to 4 decimals. The outlines are an approximation for display, not survey-accurate data. Regions are named by their ISO 3166-2 codes (JP-01 … JP-47), with Natural Earth's English and Japanese names.

Countries of the world

world_countries.geojson derives from Admin 0 – Countries, 1:50m cultural vectors (Gibraltar and the US Outlying Islands, which it leaves out, from the 1:10m layer). tool/maps/world_countries.py builds the file: one region per ISO 3166-1 code (239), areas without a code of their own joined to the country ISO counts them under, outlines kept as Natural Earth generalised them (islands under 0.001 square degrees dropped), coordinates rounded to 3 decimals. Borders are drawn as Natural Earth draws them, as they are on the ground.

The countries' names come from the Unicode Common Locale Data Repository (CLDR, https://cldr.unicode.org/), release 48.2.3, in every language a studyset can be in. CLDR is under the Unicode License v3, whose notice is in LICENSE-CLDR.txt and in the app's licence list.