Files
fumen-measure-analyze/.gemini/notes.md
2026-04-19 23:15:19 +09:00

32 lines
1.1 KiB
Markdown

# Project: fumen-analyze
## Technical Stack
- **Runtime**: [Bun](https://bun.sh/)
- **Language**: TypeScript
- **Library**: [tja](https://www.npmjs.com/package/tja) (TJA parser)
## Library Usage (tja)
- **Import**: `import { TJAParser } from "tja";`
- **Parsing**: `const parsed = TJAParser.parse(content);`
- **Structure**:
- `parsed.title`, `parsed.bpm`, `parsed.offset`
- `parsed.courses` (Array of `Course` objects)
- `course.difficulty` (e.g., "Oni")
- `course.stars` (Level/Stars)
- `course.activeCourse.getCommands()` returns an array of commands and note sequences.
## Purpose
Analyzing or processing TJA (Taiko Jiro) file formats.
## Key References
- `tja-format.mediawiki`: Detailed specification of the TJA format.
## TJA Format Overview
- **Encoding**: UTF-8 with BOM or Shift-JIS.
- **Extension**: `.tja`.
- **Comments**: Start with `//`.
- **Metadata**: Key-value pairs (e.g., `TITLE:`, `BPM:`, `OFFSET:`).
- **Course Metadata**: Specific to difficulties (e.g., `COURSE:`, `LEVEL:`, `BALLOON:`).
- **Notation**: Commands prefixed with `#` (e.g., `#START`, `#END`, `#MEASURE`, `#BPMCHANGE`).
- **Notes**: `0-9`, `A`, `B`, `F`.