A versatile tool for visualizing, analyzing, and annotating TJA charts.
- Renders TJA charts in native resolution with zooming support.
- Renders branches (Normal, Expert, Master) individually or stacked together.
- Supports player side selection for multi-player charts.
- Full-screen chart view with PWA support and mobile optimizations.
- Displays note statistics such as BPM and note gaps (in beats or milliseconds).
- Annotate hands (L/R) manually or automatically with customizable hand inference.
- Note separator annotations for marking chart sections.
- Advanced search with filters for difficulty, star rating range, and BPM range.
- Shareable search state via URL parameters.
- Exports selected chart section as TJA, with loop customizations.
- Save rendered charts as high-quality images.
- Share link to current chart with search options.
- Node.js (for building/running locally)
npm installDevelopment Mode (Hot Reload):
npm run devAccess at the URL shown in your terminal. Use this for active development.
Production Preview:
npm startThis serves the built assets from dist/ to simulate a production deployment. Requires npm run build first.
Desktop Mode (Neutralinojs):
npm run start:exeStarts the application as a standalone desktop executable.
To build the web assets:
npm run buildTo build the standalone executable:
npm run build:exeFormatting & Linting: This project uses Biome for formatting and linting.
npm run formatTesting:
npm testUpdating ESE Assets: To fetch the latest charts from the ESE database:
npm run fetch-esesrc/: Source code (TypeScript, CSS, Components) for the main application (TJA Analyzer).TJARenderer/: Core chart rendering logic as a git submodule (TJARenderer).renderer-example/: Minimal usage example for the renderer package.public/: Static assets (such as HTML and chart database) served directly.tests/: Playwright and unit test suites.dist/: Build output for the web application (generated).release/: Build output for standalone executables (generated).
A brief summary of each minor version:
- v0.11.x: Note separator annotations and customizable auto-annotation. Extracted renderer into a standalone package with public API.
- v0.10.x: Advanced search filters (BPM range, difficulty, star rating), wiki links, player side selection, shareable search state via URL.
- v0.9.x: Added playdata management (import and export), play status indicators in chart list, persistent URL updates, refined ESE search functionality.
- v0.8.x: Implemented PWA offline support and auto-updates, migrated build system, extracted renderer logic into a standalone package.
- v0.7.x: Overhauled judgement handling for better game integration, introduced portable builds for desktop, added scripts for generating song mappings.
- v0.6.x: Responsive horizontal layout and dark mode support, consolidated input tabs, refactored core components.
- v0.5.x: Automatic hand annotation features based on note patterns and segmentation logic, visual improvements for note selection.
- v0.4.x: Stacked rendering of multiple branches, improved visual cues for Gogo time and branching.
- v0.3.x: ESE integration, added Neutralinojs packaging for desktop deployment.
- v0.2.x: Added note selection export functionality, allowing users to export specific sections of a chart with custom loop settings.
- v0.1.x: Initial release featuring basic TJA chart rendering, navigation, and zooming support.
