BemlyBemly is a browser-integrated toolkit designed for advanced manipulation of danmaku streams. It implements a zero-copy binary parser for Protobuf payloads and provides a virtual-scrolling enabled interface for managing large-scale subtitle datasets.
The core engine focuses on precise conversion between XML/Protobuf formats and the SubStation Alpha (ASS) v4.00+ specification, including dynamic track allocation and style management.
- Virtual Grid Engine: Renders 10,000+ danmaku entries with 60fps UI performance using a custom virtual scrolling implementation.
- Non-Destructive Editing: Maintains a centralized state machine for all modifications before final serialization.
- ASS Stylist: Full control over V4+ Styles, including color space conversion (Hex to &HBBGGRR) and font metrics.
- Modular I/O: Supports "New" and "Append" import modes for complex project merging.
The system is partitioned into strictly decoupled domains:
- CORE: Centralized state management and shared constants.
- IO: Binary/Text deserialization (Converter) and serialization (Exporter).
- UI: DOM abstraction layers, virtual list rendering, and event orchestration.
- Node.js >= 18.0.0
- web-ext (global)
Clone the repository and initialize the environment:
git clone https://github.com/your-repo/bemlybemly.git
cd bemlybemly
npm installExecute the build process:
# Production build
npm run check
npm run ext
# Development mode with hot-reload
npm run start
npm run devTo launch the extension in a sandboxed Firefox instance:
npm run start- Target Environment: Firefox (Manifest v3 compatible core).
- Parser Latency: < 50ms for 5MB XML payloads.
- Memory Footprint: Minimal heap allocation via typed arrays and object pooling.
Copyright (C) 2026 Bemly.
Distributed under the GPL-3.0-or-later license. See LICENSE for details.



