|
Vojtěch Fošnár
e447da4b08
Rolling dev commit on top of cz-develop@origin — squash confirmed WIP into here; title stays generic, this body tracks the features it carries. Features: - Unified JOSM-style "Layers" pane: enabled-layers panel (drag-reorder within z-bands, per-layer opacity, ×ばつ remove) over a static add-catalogue (Backgrounds/Overlays/Map-data); Map Data/Help/Preferences panes folded into the Layers pane. - Indoor level filter, 3-state disposition (full / context / hidden): off-floor explicit-level features hide; outdoor / untagged / building-shell / indoor-missing-level features dim as still-editable context, never hidden (it's an editor). Adds .level-context (dim, pointer-events kept). Replaced the old hide-everything-floor-less policy. - ZABAGED backend defaults to prod origins (tiles.vfosnar.cz / features.vfosnar.cz); localhost via ID_MARTIN_TILE_URL / ID_FEATURESERV_URL for ZABAGED-server dev. - ZABAGED waterway conflation robustness: dedup right-click menu by table|fid (per-tile line fragments no longer repeat); never silently no-op (matched-but-unmorphable fid -> announced standalone); matcher coverDistMeters 5->8 + morph COVER_TOL 8->15 + sparse-end span extension so wide/sparse rivers (Labe) pair and import the FULL reach; matcher seeds base+local entities so split-off pieces stay matchable across sequential imports (adjacent fid no longer dumps a duplicate); boundary anchors snap to the fid endpoint so a confluence node shared by several fids seats on the junction from any of them. Regression fixtures + specs: nearpoint_water, labe_27674, labe_adjacent, labe_junction, conflation_sequential, conflation_junction. - Block node-merge of distinct POIs: actionConnect.disabled() returns 'merging_features' when 2+ nodes carry a primary feature key (osmPrimaryFeatureKeys/osmHasPrimaryFeature in osm/tags.ts, sourced from OSM wiki Map_features), so Merge (C) no longer silently collapses two POIs into name=A;B; tooltip operations.merge.merging_features. Topology connects (<=1 tagged node) still allowed. Spec: actions/connect #disabled. Plus AGENTS.md convention: OSM tagging facts come from the wiki, not memory. - Overlapping POIs are allowed + manageable: drag snaps the LOCATION onto a target but skips connect/merge for 'merging_features' (drag_node.js wouldMergeFeatures + hasRelationConflict no-bounce), so a POI drops at the exact same coord, separate. ui/coincident_nodes.js floats a top-left picker (mounted .over-map) listing every node at the selected node's EXACT loc (tree-queried) — name as main line, preset type as muted subtitle; click a row to select it. Built from native iD components (.feature-list-item / .fillL / svgIcon / t.append), theme-var-only CSS (css/64_coincident_nodes.css), locale coincident_nodes.title. close_nodes validator skips a coincident pair when BOTH nodes carry a primary feature (intentional stacks not nagged; POI-atop-bare still flags) — spec validations/close_nodes. Plus AGENTS.md convention: build UI from iD-native components, never handrolled HTML/CSS (theme vars, no hex literals). - Userscript userscript/osm-edit-redirect.user.js: redirects openstreetmap.org/edit to id.vfosnar.cz, mirroring osm.org param translation (id.js.erb + osm.js.erb: id=node/12345, map/passthrough from hash); self-update via codeberg raw on cz-develop. Plus AGENTS.md convention generalized: external-system facts verified against primary source or flagged unverified. - README rewritten: opinionated/expert-only fork in plain Czech (formal vykání), fork-feature list, userscript install + self-update, no docs index. AGENTS.md: update README fork-feature list on every user-visible feature change. - Codeberg repo re-rooted onto a squashed parentless v2.41.1 base (271M->8M): upstream's 17000-commit history (a 12M dist/iD.js per commit) dropped from the fork; dist build-outputs untracked (npm run all / nix build regenerates them; dist/locales kept tracked, served via assetPath('')); the upstream remote refs are the rebase fetch anchor (jj git fetch && jj rebase -d <new-tag>; do not gc --prune them). Docs: AGENTS.md Build/test + VCS. |
||
|---|---|---|
| .cspell | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .github | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .tx | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .vscode | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .zed | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| config | iD fork patch | |
| css | iD fork patch | |
| data | iD fork patch | |
| dist | iD fork patch | |
| docs | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| modules | iD fork patch | |
| scripts | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| svg | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| test | iD fork patch | |
| userscript | iD fork patch | |
| .codespellignorelines | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .editorconfig | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .git-blame-ignore-revs | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .gitattributes | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .gitignore | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| .npmignore | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| .nvmrc | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| ACCESSIBILITY.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| AGENTS.md | iD fork patch | |
| API.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| ARCHITECTURE.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| CHANGELOG.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| CLAUDE.md | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| CODE_OF_CONDUCT.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| CONFLATION.md | iD fork patch | |
| CONTRIBUTING.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| cspell.json | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| DEPLOYMENT.md | iD fork patch | |
| eslint.config.js | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| FAQ.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| flake.lock | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| flake.nix | ČÚZK iD fork: imagery, ZABAGED layer, conflation, Nix packaging | |
| index.html | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| INDOOR.md | iD fork patch | |
| land.html | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| LAYERS.md | iD fork patch | |
| LICENSE.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| package-lock.json | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| package.json | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| PRIVACY.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| README.md | iD fork patch | |
| RELEASING.md | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| tsconfig.json | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| vitest.config.ts | iD v2.41.1 (squashed upstream base, dist build-output untracked) | |
| ZABAGED.md | iD fork patch | |
ČÚZK iD (opinionated fork)
Osobní, opinionated fork editoru iD, webového editoru OpenStreetMap.
Jen pro pokročilé. Tento fork mění nebo zahazuje chování upstreamu. Předpokládá znalost iD, tagování OSM i dat ČÚZK. Žádná záruka stability, žádná podpora. Pro běžný editor použijte upstream iD nebo hostovaný iD.
Hostovaná instance: https://id.vfosnar.cz
Co fork přidává
- Referenční vrstva ZABAGED z lokálního backendu PostGIS/martin. Viz
ZABAGED.md. - Konflace ČÚZK (v1): import, který data nejdřív spáruje s OSM a pak je přetvoří. Vodní toky se zpracují po jednotlivých fidech (linie se přetvoří na místě a rozdělí na hranici fidu, nikdy slepé smazat a nahradit), plochy (landuse) se jen vloží. Viz
CONFLATION.md. - Sjednocený panel „Vrstvy" ve stylu JOSM: jeden panel pro zapnuté vrstvy (přesouvání, krytí, odebrání) nad katalogem pro přidávání; samostatné panely Mapová data / Nápověda / Předvolby jsou sloučené dovnitř. Viz
LAYERS.md. - Nativní mapování interiérů: filtr pater, výběr patra, pole „Floors served", validátory. Viz
INDOOR.md. - Žádné nechtěné slučování POI: Sloučit i přichycení tažením odmítnou spojit dva uzly, pokud oba nesou nějaký feature tag; navíc picker, který ukáže uzly ležící na stejném místě.
- České letecké snímky (imagery).
Userscript: přesměrování openstreetmap.org/edit na tento fork
userscript/osm-edit-redirect.user.js
přesměruje https://www.openstreetmap.org/edit na id.vfosnar.cz a parametry
/edit řádně přeloží.
Nainstalujte přes správce userscriptů (Tampermonkey, Violentmonkey, Greasemonkey):
https://codeberg.org/osmcz/iD/raw/branch/cz-develop/userscript/osm-edit-redirect.user.js
Sestavení a spuštění
Vývojový model, build příkazy a záludnosti jsou v AGENTS.md. Balení
je konfigurovatelný Nix build (nix build vytvoří statický dist/); viz
DEPLOYMENT.md. Nasazení (server, doména) je na uživateli a není
součástí tohoto repozitáře.
Upstream a licence
Založeno na openstreetmap/iD, dostupné pod
licencí ISC. Viz LICENSE.md.
iD navíc používá části tohoto open source softwaru.