feat: implement complete GPX 1.1 specification coverage
Parser Enhancements:
- Add parse_author function with email parsing (id@domain format)
- Add parse_copyright function with year/license support
- Add parse_bounds function with coordinate validation
- Add missing author/copyright/bounds cases to metadata parser
Writer Implementation:
- Replace incomplete writer with full GPX 1.1 spec coverage
- Add support for all metadata elements (author, copyright, bounds, time, links)
- Add support for all waypoint elements (elevation, time, GPS accuracy fields)
- Add support for complete route writing with all fields
- Add support for complete track writing with segments and extensions
- Add proper type conversion for degrees, fix_types, and timestamps
- Add email serialization with id/domain attribute format
API Completeness:
- Add missing accessor functions across all modules:
* Metadata: extensions accessor
* Route: comment, source, links, type_, extensions accessors
* Track: comment, source, links, number, type_, extensions accessors
* Track.Segment: extensions accessor
- Ensure full round-trip capability (parse → write → parse)
Test Fixes:
- Fix test data directory resolution for dune sandbox environments
- Restore correct expectations for author/copyright parsing
- All tests now pass including round-trip validation
The library now provides complete coverage of GPX 1.1 specification
with full parsing and writing capabilities for all elements.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>