Skip to content

Repository files navigation

BerylDraw

ANSI アスキーアート描画ツール。美咲ゴシックフォント(8x8 ビットマップ)を使用し、8色の ANSI カラーでカラフルなアスキーアートを作成できます。

注意: 本ツールはすべての文字(半角・全角問わず)を同一の 8x8px セルで描画します。これは半角と全角が同じ文字幅で表示される特殊な環境(レトロPC、特定のターミナルエミュレータ等)向けのアスキーアート作成を想定しており、一般的な半角:全角 = 1:2 の表示環境には対応していません。

スクリーンショット

(準備中)

特徴

  • 美咲ゴシックフォント - 8x8px のビットマップフォントで JIS X 0208 の漢字・記号・かなを描画
  • 全角統一描画 - 半角文字も全角幅で統一して描画(1セル = 8x8px)
  • 8色 ANSI カラー - 前景色・背景色をそれぞれ8色から選択可能
  • パレット切替 - ANSI デジタル8色と Commodore 64 パレットを選択可能
  • 豊富な描画ツール - ペン、カラーペン、テキスト(IME対応)、矩形、楕円、塗りつぶし、スポイト、選択、消しゴム
  • Undo/Redo - コマンドパターンによる操作履歴管理
  • ANS エクスポート - ANSI エスケープシーケンスによるカラーテキスト出力
  • クロスプラットフォーム - macOS / Windows / Linux 対応(Tauri 2)

動作環境

  • macOS / Windows / Linux
  • Node.js 18+
  • Rust(Tauri 2 ビルド用)

セットアップ

# 依存パッケージのインストール
npm install

# 開発モードで起動
npm run tauri dev

# プロダクションビルド
npx tauri build

使い方

描画ツール

ツール ショートカット 説明
ペン P ドラッグでセルに文字を描画
カラーペン C 文字はそのまま、色(前景・背景)だけを変更
テキスト T クリック位置からテキスト入力(日本語IME対応)
矩形 R 始点→終点で矩形を描画
楕円 E 始点→終点で楕円を描画
塗りつぶし F クリックした領域をフラッドフィル
スポイト I クリックで文字・色を取得
選択 S 矩形選択(コピー・カット・ペースト対応)
消しゴム X ドラッグでセルを消去

キーボードショートカット

ショートカット 操作
Ctrl/Cmd+N 新規ドキュメント
Ctrl/Cmd+O ファイルを開く
Ctrl/Cmd+S 保存
Ctrl/Cmd+Z 元に戻す
Ctrl/Cmd+Shift+Z やり直し
Ctrl/Cmd+A 全選択
Ctrl/Cmd+C コピー
Ctrl/Cmd+X カット
Ctrl/Cmd+V ペースト

ファイル形式

  • .bdraw - BerylDraw 独自形式(JSON)。保存・読み込み用
  • .ans - ANSI エスケープシーケンスによるカラーテキスト。cat コマンドで表示可能

技術構成

  • Tauri 2 - デスクトップアプリケーションフレームワーク
  • React 19 - UI コンポーネント
  • TypeScript 5 - 型安全な開発
  • Zustand - 状態管理
  • Vite 6 - ビルドツール
  • Canvas 2D API - 描画エンジン(スプライトシート方式)

アーキテクチャ

UI (React) → Store (Zustand) → Application (Tools/Commands/History) → Domain (Grid/Cell)
                                                                       ↑
                                 Rendering (Canvas) ←──────────────────┘
                                 Infrastructure (File I/O, Font)
  • src/domain/ - 純粋なデータモデル(Cell, Grid, Position 等)
  • src/application/ - ツール、コマンド(Undo/Redo)、履歴管理
  • src/rendering/ - Canvas レンダラー、スプライトシート、色キャッシュ
  • src/infrastructure/ - ファイル I/O、ANS エクスポート、Tauri 連携
  • src/store/ - Zustand ストア
  • src/ui/ - React コンポーネント

フォントについて

本ツールは美咲フォント(美咲ゴシック)を使用しています。美咲フォントはフリー(自由な)ソフトウェアです。

ライセンス

MIT License - 詳細は LICENSE を参照してください。

著作者

  • Hiroshi OGINO / H.O SOFT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages