You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 12, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: ALIDADE-SPEC.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,6 +220,8 @@ Errors block upload and must be resolved first; warnings are surfaced to the use
220
220
| Tag value exceeds 255 character OSM limit ||
221
221
| Impossible oneway (highway with oneway tag forming a routing island - no way in or out) ||
222
222
| Deprecated tags | Shows migration suggestion from `id-tagging-schema`|
223
+
| Untagged standalone node (locally edited, not a vertex of any way) ||
224
+
| Untagged way (locally edited, not a relation member; `area=yes`-only counts as untagged) ||
223
225
224
226
#### Info
225
227
@@ -231,7 +233,7 @@ Errors block upload and must be resolved first; warnings are surfaced to the use
231
233
232
234
The following iD validators are omitted from Alidade as not applicable or out of scope:
233
235
234
-
-**Untagged node in way**- nodesthat are only geometry (no tags) are perfectly valid and extremely common; flagging them creates noise
236
+
-**Untagged node in way**(way-vertex nodes) - nodes that serve only as geometry vertices are perfectly valid and extremely common; flagging them creates noise. Note: untagged *standalone* nodes (not vertices of any way) *are* flagged as a warning.
235
237
-**Private data** (`phone`, `email`, `website` on personal features) - paternalistic for a power-user editor
236
238
-**Help request** - iD-specific UI affordance, not relevant
Copy file name to clipboardExpand all lines: CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Project Overview
4
4
5
-
Alidade is a browser-based OpenStreetMap editor built on Blazor WebAssembly (C#). It targets experienced OSM contributors and aims for feature parity with iD. The UI is rendered via MapLibre GL JS through a JS interop boundary; all application logic lives in C#. Key external data sources are `id-tagging-schema` (presets) and `name-suggestion-index`, both embedded at build time by `Alidade.OsmGen`.
5
+
Alidade is a browser-based OpenStreetMap editor built on Blazor WebAssembly (C#). It targets experienced OSM contributors and aims for feature parity with iD. The UI is rendered via MapLibre GL JS through a JS interop boundary; all application logic lives in C#. Key external data sources are `id-tagging-schema` (presets), `name-suggestion-index`, and `editor-layer-index` (imagery layers), all embedded at build time by `Alidade.OsmGen`.
6
6
7
7
---
8
8
@@ -68,7 +68,7 @@ Singleton state services are distributed across projects based on where their mo
68
68
Each project owns an Autofac module that registers its own services:
-`Alidade.Map/AlidadeMapModule.cs` — registers `MapInteropService` and map-specific services
71
-
-`Alidade.Osm/AlidadeOsmModule.cs` — registers `EditBufferStateService`, OSM API services, `PresetService`, `NsiService`
71
+
-`Alidade.Osm/AlidadeOsmModule.cs` — registers `EditBufferStateService`, `OsmCacheService`, OSM API services, `PresetService`, `NsiService`
72
72
-`Alidade/AlidadeModule.cs` — registers app services and state services; loads the above sub-modules; also registers all Questy handlers by scanning `Alidade`, `Alidade.Map`, and `Alidade.Osm` assemblies
73
73
74
74
Use constructor injection throughout. State services are singletons; application services are instance-per-lifetime-scope.
@@ -142,7 +142,7 @@ See [CODE_STYLE.md](CODE_STYLE.md) for the full rules. The most commonly violate
142
142
Release builds execute `git describe --long --always --dirty --exclude=* --abbrev=8` via a `SetSourceRevisionId` MSBuild target in `Directory.Build.props` to embed an 8-character commit hash as the version suffix. Debug builds use the suffix `"develop"`.
143
143
144
144
**MapLibre is copied, not re-bundled**
145
-
`Alidade.Map.csproj` copies MapLibre JS, CSS, and worker files from node_modules verbatim to `Alidade.Map/wwwroot/assets/lib/maplibre-gl/` via a `CopyMapLibre` MSBuild target. Do not run them through esbuild, webpack, or any other bundler — doing so would strip the `window.maplibregl` UMD global that `map-interop.js` depends on.
145
+
`Alidade.Map.csproj` copies MapLibre JS, CSS, and license files from node_modules verbatim to `Alidade.Map/wwwroot/assets/lib/maplibre-gl/` via a `CopyMapLibre` MSBuild target. Do not run them through esbuild, webpack, or any other bundler — doing so would strip the `window.maplibregl` UMD global that `map-interop.js` depends on.
146
146
147
147
**OsmGen generates three datasets**
148
148
`Alidade.OsmGen` produces compiled C# for three data sources, not just two:
Copy file name to clipboardExpand all lines: README.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,17 @@ Alidade is a browser-based [OpenStreetMap](https://www.openstreetmap.org) editor
4
4
5
5
## Key characteristics
6
6
-**Blazor WebAssembly** — all application logic runs in C# compiled to WASM; no JavaScript framework
7
-
-**MapLibre GL JS** — WebGL-accelerated map rendering; OSM edits are pushed as GeoJSON diffs through a thin JS interop boundary
7
+
-**[MapLibre GL JS](https://github.com/maplibre/maplibre-gl-js)** — WebGL-accelerated map rendering; OSM edits are pushed as GeoJSON diffs through a thin JS interop boundary
8
8
-**Offline-capable** — full edit sessions are possible without connectivity; sync on reconnect
9
9
-**Future desktop target** — architecture keeps an Electron packaging path open
10
10
11
+
## Data assets
12
+
Alidade embeds the following OSM community datasets as compiled C# at build time:
0 commit comments