digidem / digidem/comapeo-cloud-app
feat(map): persist authored vector/raster layers in SavedMap and SMP packages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 29
Description
feat(map): persist authored vector/raster layers in SavedMap and SMP packages
Status: parent tracker — do not implement directly
This issue tracks the durable authored-layer foundation. The implementation-ready work has been split into PR-sized child issues so one agent/PR owns one independently mergeable objective.
Child issues
- #279 — Canonical authored-layer model + vector/raster SMP packaging (merged, PR #287)
Root implementation dependency. Owns the versionedAuthoredLayercontract, validation/limits, canonical fixtures, offline vector/raster package path and resource/security bounds. - #280 — SavedMap persistence + authoring/recovery UI (
agent:blocked)
Depends on #279. Owns raw SavedMap recovery, durableSavedMap.layers, authoring draft behavior, Add layer persistence, save/reopen and offline/active integration. Also owns whole-draft aggregate byte-budget revalidation (assigned 2026-08-29 in the #247 spec set). - #311 — Child A of #247: safe GIS reference-file conversion to canonical authored layers (
agent:ready-for-implementation)
Depends on #279 (merged). Pure converter subsystem; no persistence/UI. - #312 — Child B of #247: GIS reference-import UI integration (
agent:blocked, spec-reviewed)
Depends on #311 and #280 merged. Consumes #280's canonical draft APIs; held in the spec lane until both dependencies merge.
Dependency/order
#279 (merged)
├──> #280
│ └──> #312 (with #311)
├──> #311 (Child A converters)
└──> #281 (GeoLibre bridge, tracked by #223)
#279 + #280 + #281
└──> #282 (GeoLibre production editor, tracked by #223)
#280, #311 (via #247's split), and #281 may proceed in parallel on the merged #279 base. This parent is complete when #280 is complete and the #247 children (#311+#312) are merged; GeoLibre-specific completion is tracked in #223.
Architecture decisions retained here
- CoMapeo owns the durable layer model; GeoLibre never becomes persistence.
- Basemap/download configuration remains separate from authored layers.
- Persisted authored layers are a closed, offline-packageable vector/raster contract.
- Saved/offline maps must not silently depend on network-only authored sources.
- Existing Add layer becomes a producer of the canonical persisted model rather than a parallel transient model.
- #247 (split into #311/#312) normalizes additional formats into the same canonical model rather than creating another persistence representation.
Review/readiness
The executable children were partitioned from previously reviewed specs and independently reviewed with Claude Opus 5. Do not add agent:ready-for-implementation or lane:implementation to this parent tracker. Implementation agents should start from #280 or #311 only when their dependency gates are satisfied; #312 starts only after #311 and #280 both merge.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Do not implement this parent tracker directly. Start with child issue #280 after #279 is merged, or #311 independently; read the dependency notes and each child’s acceptance scope first. The parent is done when #280 and the #247 children (#311 and #312) are merged, with GeoLibre-specific work tracked separately in #223.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data, mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 10/100