Skip to content

Commit 75c4972

Browse files
Add README and ROADMAP documenting project vision (#1)
- Expand README.adoc with project status, vision, tech stack - Create ROADMAP.adoc with 5-phase development plan - Acknowledge early-stage status (concept phase only) - Link to Hyperpolymath language standards Co-authored-by: Claude <noreply@anthropic.com>
1 parent a8d759b commit 75c4972

2 files changed

Lines changed: 222 additions & 2 deletions

File tree

README.adoc

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,82 @@
1-
# Anvomidav
1+
// SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
2+
// SPDX-FileCopyrightText: 2024-2025 hyperpolymath
23

3-
The first programming language for choreographers of figure skating.
4+
= Anvomidav
5+
6+
**The first programming language for choreographers of figure skating.**
7+
8+
== Status
9+
10+
[IMPORTANT]
11+
====
12+
This project is in the *concept phase*. The repository contains project infrastructure and governance documents, but no implementation yet. See link:ROADMAP.adoc[ROADMAP.adoc] for planned development.
13+
====
14+
15+
== Vision
16+
17+
Anvomidav aims to provide figure skating choreographers with a domain-specific language (DSL) to:
18+
19+
* **Notate** — Precisely describe skating elements, transitions, and sequences
20+
* **Compose** — Build complex programs from reusable choreographic patterns
21+
* **Validate** — Check technical compliance with ISU (International Skating Union) rules
22+
* **Visualize** — Generate rink diagrams, timing charts, and 3D previews
23+
* **Collaborate** — Share and version-control choreographic works
24+
25+
== Name
26+
27+
_Anvomidav_ — etymology and meaning to be documented.
28+
29+
== Technology Stack
30+
31+
Per the link:.claude/CLAUDE.md[Hyperpolymath Standard]:
32+
33+
[cols="1,2"]
34+
|===
35+
| Component | Technology
36+
37+
| Compiler/Interpreter
38+
| OCaml or Rust
39+
40+
| Runtime
41+
| Deno (if JS target) or native
42+
43+
| Editor Integration
44+
| LSP server (Rust)
45+
46+
| Visualization
47+
| ReScript + WebGL/Canvas
48+
49+
| Mobile Apps
50+
| Tauri 2.0+ or Dioxus
51+
|===
52+
53+
== Getting Started
54+
55+
[source,bash]
56+
----
57+
# Clone the repository
58+
git clone https://github.com/hyperpolymath/anvomidav.git
59+
cd anvomidav
60+
61+
# Development environment (once implemented)
62+
nix develop # Nix users
63+
# or
64+
guix shell # Guix users
65+
----
66+
67+
== Documentation
68+
69+
* link:ROADMAP.adoc[Roadmap] — Development phases and milestones
70+
* link:CONTRIBUTING.md[Contributing] — How to participate
71+
* link:SECURITY.md[Security Policy] — Vulnerability reporting
72+
* link:CODE_OF_CONDUCT.md[Code of Conduct] — Community standards
73+
74+
== License
75+
76+
Dual-licensed under link:LICENSE.txt[MIT OR AGPL-3.0-or-later]. Choose the license that best fits your use case.
77+
78+
== Contributing
79+
80+
Contributions welcome! This project is in early stages — input on language design, figure skating domain expertise, and implementation help are all valuable.
81+
82+
See link:CONTRIBUTING.md[CONTRIBUTING.md] for guidelines.

ROADMAP.adoc

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
// SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
2+
// SPDX-FileCopyrightText: 2024-2025 hyperpolymath
3+
4+
= Anvomidav Roadmap
5+
6+
This document outlines the development phases for Anvomidav, the first programming language for figure skating choreographers.
7+
8+
== Current Status
9+
10+
[CAUTION]
11+
====
12+
**Phase 0 — Project Specification**
13+
14+
The repository currently contains governance and infrastructure only. Implementation has not begun.
15+
====
16+
17+
'''
18+
19+
== Phase 1: Foundation
20+
21+
=== 1.1 Domain Research
22+
* [ ] Document figure skating element taxonomy (jumps, spins, steps, lifts)
23+
* [ ] Map ISU technical panel guidelines to formal rules
24+
* [ ] Interview choreographers to understand workflow needs
25+
* [ ] Survey existing notation systems (Benesh, Labanotation adaptations)
26+
27+
=== 1.2 Language Design
28+
* [ ] Define core syntax for element notation
29+
* [ ] Design timing/music synchronization primitives
30+
* [ ] Specify spatial positioning system (rink coordinates)
31+
* [ ] Create grammar specification (EBNF or similar)
32+
* [ ] Write language reference document
33+
34+
=== 1.3 Tooling Bootstrap
35+
* [ ] Set up build system (Nix flake, Guix manifest)
36+
* [ ] Configure CI/CD pipelines
37+
* [ ] Establish test framework
38+
39+
'''
40+
41+
== Phase 2: Core Implementation
42+
43+
=== 2.1 Parser & AST
44+
* [ ] Implement lexer
45+
* [ ] Implement parser
46+
* [ ] Define AST representation
47+
* [ ] Add source location tracking for error messages
48+
49+
=== 2.2 Semantic Analysis
50+
* [ ] Type system for skating elements
51+
* [ ] Temporal constraint checking
52+
* [ ] Spatial collision detection (basic)
53+
* [ ] ISU rule validation
54+
55+
=== 2.3 Compiler/Interpreter
56+
* [ ] Choose target(s): native / JS / WASM
57+
* [ ] Implement code generation or interpreter
58+
* [ ] Create runtime library
59+
60+
'''
61+
62+
== Phase 3: Developer Experience
63+
64+
=== 3.1 Language Server Protocol (LSP)
65+
* [ ] Syntax highlighting definitions
66+
* [ ] Autocomplete for elements and transitions
67+
* [ ] Hover documentation
68+
* [ ] Go-to-definition
69+
* [ ] Diagnostics integration
70+
71+
=== 3.2 Editor Plugins
72+
* [ ] VS Code / VSCodium extension
73+
* [ ] Helix configuration
74+
* [ ] Neovim plugin
75+
* [ ] Zed extension
76+
77+
=== 3.3 Documentation
78+
* [ ] Language tutorial
79+
* [ ] API reference
80+
* [ ] Example programs (competition programs, practice sequences)
81+
* [ ] Video walkthroughs
82+
83+
'''
84+
85+
== Phase 4: Visualization
86+
87+
=== 4.1 2D Rink Diagrams
88+
* [ ] Static SVG export
89+
* [ ] Animated trace playback
90+
* [ ] Pattern overlay
91+
92+
=== 4.2 Timing Charts
93+
* [ ] Music waveform alignment
94+
* [ ] Element duration visualization
95+
* [ ] Program component breakdown
96+
97+
=== 4.3 3D Preview (Stretch Goal)
98+
* [ ] Skeletal animation system
99+
* [ ] Real-time playback
100+
* [ ] VR/AR exploration
101+
102+
'''
103+
104+
== Phase 5: Ecosystem
105+
106+
=== 5.1 Package Manager
107+
* [ ] Choreographic pattern library format
108+
* [ ] Version resolution
109+
* [ ] Registry (decentralized preferred)
110+
111+
=== 5.2 Collaboration Tools
112+
* [ ] Diff/merge for choreographic files
113+
* [ ] Comment/annotation system
114+
* [ ] Export to PDF/print formats
115+
116+
=== 5.3 Mobile Applications
117+
* [ ] Rinkside viewer app (Tauri or Dioxus)
118+
* [ ] Offline-first architecture
119+
* [ ] Music sync for practice
120+
121+
'''
122+
123+
== Future Possibilities
124+
125+
* Integration with motion capture systems
126+
* AI-assisted choreography suggestions
127+
* Competition judging simulation
128+
* Multi-skater/pairs/ice dance support
129+
* Synchro skating team coordination
130+
131+
'''
132+
133+
== How to Contribute
134+
135+
This roadmap is a living document. To propose changes:
136+
137+
1. Open a GitHub Discussion for major direction changes
138+
2. Submit a PR for specific task additions
139+
3. Use issues to claim tasks you want to work on
140+
141+
See link:CONTRIBUTING.md[CONTRIBUTING.md] for workflow details.

0 commit comments

Comments
 (0)