01 · Vertical Typography Engine
日本語縦書き原稿用紙組版 & 禁則処理エンジン
Custom Japanese Vertical Manuscript Typography Engine
日语原稿纸竖排排版与禁则处理自研引擎
モバイル標準UIでは実現が難しい、書籍や原稿用紙さながらの美しい「縦書き読書・閲覧体験」を実現するため、しっぽり明朝(Shippori Mincho)を核としたカスタム縦書きレンダリング機構を構築しました。
Standard mobile UI toolkits lack native column-based Japanese vertical typesetting. Tsuzuri implements a custom vertical layout engine built around Shippori Mincho typography to evoke classic Japanese stationery.
移动端常规 UI 组件难以原生实现类似实体书稿的日语竖排(縦書き)阅读与写作质感。为此我们围绕 Shippori Mincho 字体度量为 Tsuzuri 从零定制了竖排排版引擎:
- 縦・横リアルタイム切替:同一エントリーデータを保持したまま、原稿用紙マス目付きの縦書き表示とモダンな横書き表示を瞬時に切り替えます。
- 日本語組版ルール:約物(「」、。、)の縦中横・位置補正と行頭禁則文字の自然な折り返し、和の伝統色背景とのコントラスト最適化を行いました。
- Instant Horizontal/Vertical Toggle: Switches the same immutable journal payload seamlessly between modern horizontal reading and right-to-left vertical manuscript columns.
- Japanese Glyph & Punctuation Metrics: Handles rotated brackets, vertical punctuation centering, line-start kinsoku rules, and traditional color palette contrast tuning.
- 横排 / 竖排无损切换:基于同一份正文数据,一键在现代横排视效与从右向左、带原稿纸格线的竖排视图间流畅转换。
- 日语标点与禁则处理:对括号、句读点旋转偏移及行首避头尾规则进行逐字符微调,并与日本传统色底纸实现高可读性对比。
02 · Serverless & Local-First
完全サーバーレス構成 & SQLite Room (v5) ローカル完結基盤
Serverless Architecture: SQLite Room (v5) & Sandbox Design
Serverless 无服务器架构:SQLite Room (v5) 与沙盒隔离
独自APIサーバーやクラウドDBを維持しない完全サーバーレス(維持費 $0・単一障害点ゼロ)アーキテクチャを採用。日記テキスト・写真・落款印メタデータのすべてを端末サンドボックス内に閉じ込め、「1日1篇」の約束をDB一意制約で保証しています。
Built on a true serverless ($0 backend ops, zero single point of failure) architecture without any developer-maintained API or DB servers. All prose, photos, weather tags, and Hanko seal states stay inside the OS sandbox, enforcing "One Entry per Day" at the schema level.
采用零自建 API / 数据库服务器(Serverless 运维成本 $0、无单点故障)的端侧优先架构。所有日记文本、照片与落款印章元数据均严密保存在系统应用沙盒内部,并在数据库层直接固化“每日一篇”业务约束:
- スキーマ整合性管理:Android では
Room SQLite (Database Version 5) による段階的マイグレーションパスを整備。iOS では高速かつ軽量な Codable JSON + FileManager プライベートディレクトリを採用しています。
- アンインストール完結性:端末外のサーバーにデータが残らないため、設定からの全消去やアンインストールによって物理端末から完全に抹消できます。
- Controlled Schema Evolution: Android persists entries via
SQLite Room (v5) with deterministic migration paths; iOS leverages zero-overhead Codable snapshots and sandboxed media storage.
- True Right to Erasure: Because no developer backend exists, deleting the app or triggering local wipe permanently erases 100% of user data with zero residual cloud copies.
- 渐进式表结构演进:Android 端使用
Room SQLite (v5) 保障版本平滑迁移;iOS 端采用轻量零阻塞的 Codable JSON + FileManager 沙盒分离存储图文。
- 彻底的数据主权:因无任何后台副本,用户执行清除缓存或卸载后即实现物理级彻底销毁,不留云端痕迹。
03 · Isolated User Vaults
Google Drive appDataFolder & ポータブル ZIP エクスポート
User-Owned Vaults (appDataFolder / iCloud) & ZIP Portability
Google Drive 隔离空间与跨端 ZIP 便携导出机制
「クラウドへ預ける不安」と「機種変更で失う不安」を同時に解消するため、最小権限スコープによるユーザー所有クラウド直結方式と、汎用オープンフォーマット出力を組み合わせました。
To eliminate data-loss anxiety during device upgrades without running a proprietary backend, Tsuzuri uses least-privilege personal cloud vaults alongside open, vendor-free ZIP archives.
为在“不经开发者服务器”的前提下解决用户换机备份刚需,采用了最小权限个人云盘直连与开放式 ZIP 归档双轨策略:
- appDataFolder 最小権限スコープ:Google Drive REST API v3 でユーザーの通常ドライブ領域(他ファイル一覧)を一切読み取れない専用隠し領域
https://www.googleapis.com/auth/drive.appdata のみを使用。
- 画像参照付き ZIP ポータビリティ:手動エクスポートでは
entries.json と元画像群を構造化 ZIP に圧縮し、ベンダーロックインのない永続アーカイブを提供します。
- Strict Least-Privilege Scope: Android backup requests only
drive.appdata—an isolated app folder unable to inspect or list any other files in the user's Google Drive.
- Self-Contained ZIP Snapshots: Generates portable archives bundling structured
entries.json metadata with relative-path referenced images so users own their memories forever.
- 最小权限隔离作用域:Android 端 OAuth 仅申请
drive.appdata 权限,应用完全无法读取或列表访问用户网盘中的其他私人文件。
- 无厂商锁定的便携归档:离线备份一键将结构化
entries.json 与原始图片按相对路径打包为标准 ZIP,随时跨机恢复或永久留存。
04 · Cultural & ZINE Engine
月別私家本(ZINE)編纂 & 七十二候・和の暦アルゴリズム
Automated Monthly ZINE Compiler & Japanese Micro-Seasons Engine
月度私家本(ZINE)自动编纂与和风七十二候引擎
書き溜めた日々が毎月1つの「作品(私家本)」へと昇華する仕掛けと、日本古来の季節感を呼び起こすオフライン暦ロジックを内包しています。
Transforms fragmented daily notes into cohesive monthly anthologies while grounding every entry in authentic Japanese seasonal awareness—all computed locally offline.
通过自动化编纂引擎将每日零散随笔汇编为独立月刊小册子,并离线映射日本传统七十二候与和风旧历意象:
- 私家本(ZINE)ジェネレーター:月ごとの日記群を日付順に集約し、表紙テーマ・目次・写真付き見開きレイアウトを動的生成してページめくり閲覧を可能にしました。
- 七十二候・366日プロンプト辞書:外部APIに依存せず端末内辞書から各日の気候区分(七十二候)と366個の創作の種をオフライン解決します。
- Monthly ZINE Synthesizer: Aggregates each month's entries chronologically and dynamically paginates covers, spreads, and photos into an interactive readable booklet.
- 72 Micro-Seasons & 366 Prompts: Resolves traditional Japanese micro-seasons (Shichijūni-kō) and 366 mindful writing prompts offline with zero external API calls.
- 月刊 ZINE 动态合成:按月聚合图文记录,自动编排和风封面、目录与图文跨页布局,支持指尖翻阅。
- 全离线七十二候与灵感词库:内置日本 72 物候映射及 366 日写作提问词典,无网状态亦可即时呈现东方节气氛围。