feat(schemas): add GeoJSON styling properties schemas#59
Merged
Conversation
Add standardized styling schemas to GeoJSON features following Leaflet Path options naming conventions: - Add PointProperties, LineProperties, PolygonProperties schemas - Add TrackStyle composite schema for track line + position markers - Add PointShapeEnum, LineCapEnum, LineJoinEnum to common.yaml - Update all feature schemas with required `style` property: - TrackFeature uses TrackStyle - ReferenceLocation uses PointProperties - NarrativeEntry, TextAnnotation use PointProperties - CircleAnnotation, RectangleAnnotation use PolygonProperties - LineAnnotation, VectorAnnotation use LineProperties - Remove deprecated `color` attribute from all feature schemas - Add 24 valid + 21 invalid golden fixtures for validation testing - Regenerate Pydantic models, JSON Schema, and TypeScript types - 119 tests passing (golden, roundtrip, schema comparison) Closes #58 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3 tasks
IanMayo
pushed a commit
that referenced
this pull request
Jan 23, 2026
- Update BACKLOG.md to show 014 as complete (strikethrough) - Mark T085 as complete in tasks.md - Implementation was already merged via PR #59 https://claude.ai/code/session_017N7izYCQVoDP4mJ3W8Ko4c
IanMayo
pushed a commit
that referenced
this pull request
Feb 7, 2026
Batch addition of language-neutral tool specs for provenance-ready operations: - #56 Move shape (direction + distance, default East/5km) - #57 Enlarge shape (origin + scale, default centroid/3x) - #58 Flip shape horizontal - #59 Flip shape vertical - #60 Resample track (interval, default 1 min) - #61 Generate courses and speeds for track All follow #49 tool documentation model. Approved — extend calc tool library and enable scientist self-service. https://claude.ai/code/session_01G2imkCCcHUWD5SiDMH9E7M
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
styleproperty (TrackFeature, ReferenceLocation, 6 annotation types)colorattribute from all feature schemasChanges
Phase 1: Setup
PointShapeEnum,LineCapEnum,LineJoinEnumtocommon.yamlstyling.yamlmodule with all styling schemasdebrief.yamlto import styling modulePhase 2: Foundation - Styling Schemas
PointPropertiesschema with shape, radius, fill, stroke propertiesLinePropertiesschema with stroke, color, weight, opacity, dash pattern propertiesPolygonPropertiesschema combining fill and stroke propertiesTrackStylecomposite schema withline(LineProperties) andpoint(PointProperties)Phase 3: TrackFeature Styling
TrackPropertieswith requiredstyle: TrackStylepropertycolorattributePhase 4: All Feature Schemas
ReferenceLocationPropertieswithstyle: PointPropertiesPhase 5: Round-Trip Tests
ROUNDTRIP_ENTITY_MAPintest_roundtrip.pyPhase 6: Tactical Styling
Evidence
Test Results
6 warnings are expected due to known LinkML nested array limitation with GeoJSON coordinates.
Fixture Coverage
Usage Example
Test Plan
Related
specs/014-geojson-styling-schemas/spec.mdspecs/014-geojson-styling-schemas/tasks.mdspecs/014-geojson-styling-schemas/evidence/🤖 Generated with Claude Code