Skip to content

Choreo 2027 schema - #1520

Closed
shueja wants to merge 3 commits into
SleipnirGroup:mainfrom
shueja:choreo-2027-schema
Closed

shueja wants to merge 3 commits into
SleipnirGroup:mainfrom
shueja:choreo-2027-schema

Conversation

@shueja

@shueja shueja commented Sep 12, 2026 •

Copy link
Copy Markdown
Collaborator

Source of truth is the schema.json.
A manually (with heavy help from AI code completion) C++/WPILib derived implementation. This has conditionally compiled TrajoptLib integration to help with conversion to TrajoptLib types.
Procedurally generated Rust (using typify) and TypeScript (using json-schema-to-typescript) implementations.
The Rust one will eventually be phased out as we move away from Rust.

- Implemented a script to generate TypeScript types from JSON schema.
- Created generated types in `document/ts/src/generated/types.ts`.
- Added validators for project files, trajectory files, and progress updates in `document/ts/src/validators.ts`.
- Configured TypeScript settings in `document/ts/tsconfig.json`.
- Updated package.json scripts for generating types and validating documents.
- Added integration test JSON files for project and trajectory files.
- Implemented a script to generate TypeScript types from JSON schema.
- Created generated types in `document/ts/src/generated/types.ts`.
- Added validators for project files, trajectory files, and progress updates in `document/ts/src/validators.ts`.
- Configured TypeScript settings in `document/ts/tsconfig.json`.
- Updated package.json scripts for generating types and validating documents.
- Added integration test JSON files for project and trajectory files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant