Totono アイコン
Architecture Case Study 04 · Interactive Physics & Astronomical Engine

Totono (整物語 / ととの):60fps 斬撃物理 & 200年二十四節気エンジン・OS間互換DB基盤 Totono: Interactive Slash Physics, 1900–2100 Solar-Term Engine & Cross-OS Schema Parity Totono (整物語 / ととの):60fps 斩击物理动效、200 年节气天文学算法与双端数据互通

日々の習慣・家事サイクル管理・乳幼児育児ログを統合する完全ローカルファースト家庭秩序プラットフォーム All-in-one local-first daily habit, household chore decay, and baby health log architecture 集习惯打卡、家务衰变周期管理、宝宝喂奶/排便日志与零云端隐私沙盒于一体的家庭秩序平台

Totono(整物語)は、日々の習慣トラッキング・期限管理が必要な家事サイクル・機微な乳幼児の授乳/排便健康メモを1つに束ねるオールインワン生活基盤です。完全ローカル永続化(Android Room SQLite / iOS SwiftData)を貫きつつ、Android・iOS間でデータをそのまま移行できる統一規格 2.0-room-sql JSON バックアップ、60fps の爽快スラッシュ物理演算 Canvas、28日ヒートマップ&Swift Charts 分析、さらに 1900〜2100年の二十四節気・旧暦を5言語でオフライン算出する太陽黄経アルゴリズムを実装しています。 Totono unifies three everyday household workflows—daily habit check-ins, decaying recurring chores, and sensitive baby feeding/diaper/health logs—inside a strict 100% local-first sandbox (Android Room SQLite / iOS SwiftData). Beyond privacy, it integrates a 60fps tactile Canvas "chore-card slash" physics engine, 28-day heatmaps and Swift Charts 7-day trends, a unified 2.0-room-sql cross-OS JSON migration schema, and a pure-offline 1900–2100 astronomical solar-term engine localized across 5 languages. Totono (整物語) 将“日常习惯打卡、周期性家务防遗忘、婴幼儿喂奶/换尿布/健康日志”三大高频却极度私密的家庭场景整合于完全本地优先的端侧数据库(Android Room SQLite / iOS SwiftData)之中。在此基础上,我们打造了解压感十足的 60fps Canvas 家务斩击物理引擎、28 天热力图与 Swift Charts 育儿曲线、支持 iOS ↔ Android 无损迁移的 2.0-room-sql 统一 JSON 备份规范,以及离线推算 1900–2100 年二十四节气与农历(5 种语言)的天文学引擎。

100% Local-First (Room & SwiftData) 2.0-room-sql Cross-OS Migration 60fps Interactive Slash Canvas + Haptics 1900–2100 Solar Longitude 24-Solar-Term Engine Apple Swift Charts & Compose Canvas 5-Locale Support (JA / zh-CN / zh-TW / EN / KO)

システムアーキテクチャ構成図 System Architecture Diagram 系统架构图

3大ドメインエンジン・天文節気演算・OS間互換データベース設計 Three Domain Engines, Offline Astronomical Calendar & Cross-OS Parity Vault 三大核心业务引擎、离线节气计算与双端统一 Schema 迁移拓扑
1. THREE HOUSEHOLD DOMAIN ENGINES Daily Habit Check-In Engine Time-of-day slots · Streak counters 28-Day GitHub-Style Completion Heatmap Chore Decay & 60fps Slash Physics Interval Decay Score & Overdue Indicators Tactile Chore-Card Slash + Multi-Stage Haptics Baby Care Log & Analytics Charts Feeding, Bottles, Diapers & Health Notes Apple Swift Charts / Compose Canvas 2. OFFLINE ENGINES & PARITY SCHEMA Astronomical Solar-Term Engine Range: 1900–2100 Pure Offline Math • Computes 24 Solar Terms & Lunisolar Dates • 5 Locales: ja · zh-CN · zh-TW · en · ko Unified Schema: 2.0-room-sql Bit-exact field parity between SwiftData & Room Lossless cross-OS JSON backup & restore Local Notifications & Opt-Out Diagnostics Zero-PII Logs · Firebase Crashlytics Only 3. ON-DEVICE PRIVACY VAULTS iOS Sandbox (SwiftData) Swift 6 Native Persistence + WidgetKit OS FileProtection sandbox isolation Android Sandbox (Room SQLite) Jetpack Room + Coroutines Flow Private app-internal SQLite storage 100% Zero-Server Commitment • No cloud account or remote sync server • Baby & household data never leave device • User-controlled JSON export & offline restore

図:Totono のデータ処理・永続化トポロジ。3領域のデータは完全にローカルサンドボックスへ格納され、Android Room と iOS SwiftData 間の統一 JSON スキーマによってクラウド非依存のデータ可搬性を実現しています。 Figure: Totono's privacy-first household architecture. Habits, chores, and baby logs live exclusively on-device, unified by an offline 1900–2100 solar-term engine and the cross-platform 2.0-room-sql JSON backup spec. 图:Totono 端侧架构与数据流图。习惯、家务与育儿三大记录均严格留在端侧沙盒内,依托离线天文历法引擎与 2.0-room-sql 统一 JSON 备份规范实现跨平台无损迁移。

技術実装の深掘りポイント Engineering Deep-Dive 核心工程实现深度拆解

01 · Interactive Canvas Physics

家事カードを両断する 60fps スラッシュ物理アニメーション & 多段階触覚 60fps Tactile "Chore-Card Slash" Canvas Physics & Cycle Decay 家务“一刀两断” 60fps Canvas 物理引擎与多段触觉反馈

「掃除やフィルター交換のチェック作業を、達成感のある気持ちいい動作に変える」ために、標準のチェックボックスではなくゲームエンジン風の物理アニメーションを自作しました。 Replacing mundane checkboxes with rewarding tactile motion transforms overdue household chores into crisp, satisfying micro-moments. 家务清单不该只是枯燥的勾选。我们自研了手势轨迹物理模拟与周期衰变计算,让清理到期家务变成解压动作:

  • 一刀両断スワイプ物理:スワイプ軌跡に応じて Canvas 上でカードを上下2片に分割し、剛体的な回転・重力落下とパーティクル、さらに多段階のハプティクス(触覚振動)を同期させています。
  • サイクル減衰スコアエンジン:前回完了日からの経過日数と設定周期(3日・2週間・3ヶ月など)の比率をリアルタイム算出し、緊急度を視覚的ゲージで表現します。
  • Two-Piece Card Split Physics: Splits completed chore cards along the swipe vector on Canvas, animating angular velocity, gravity drop, and synchronized multi-stage haptics at 60fps.
  • Cleanliness Decay Calculation: Tracks elapsed intervals against flexible cycles (3 days, biweekly, quarterly) with dynamic urgency meters.
  • Canvas 双半切分与重力跌落:根据指尖划过角度切分卡片为两半,在 60fps 帧率下演算角速度飞散、重力下落与多段振动脉冲。
  • 家务清洁度动态衰变:依据“上次完成时间 / 预设周期(如每 3 天、每两周、每季度)”实时渲染剩余时间条与临期视觉预警。
02 · Astronomical Calendar

1900〜2100年 太陽黄経・二十四節気 & 旧暦オフライン計算アルゴリズム Offline 1900–2100 Astronomical 24-Solar-Term & Lunisolar Engine 1900–2100 年太阳黄经二十四节气与东亚农历纯离线算法

外部のカレンダーAPIや年ごとのハードコードテーブルに依存せず、端末内の数学計算のみで200年分の暦情報を正確に算出します。 Instead of bundling brittle hardcoded date tables or calling external servers, Totono computes 200 years of East Asian astronomical calendar data purely offline. 不依赖外部历法 API 或死板硬编码,Totono 在端侧纯数学计算 200 年跨度的精确节气与东亚传统日期:

  • 太陽黄経15°刻み演算:立春・春分・夏至・冬至など二十四節気の厳密な通過日時を太陽黄経近似モデルでローカル計算し、季節の変化に合わせた暮らしの振り返りを助けます。
  • 5言語マルチロケール:日本語(ja)・簡体字中国語(zh-CN)・繁体字中国語(zh-TW)・英語(en)・韓国語(ko)の5言語で各節気とUI文言を網羅しています。
  • Solar Longitude Calculation (1900–2100): Solves solar ecliptic longitude to pinpoint all 24 Solar Terms alongside lunisolar dates with zero network dependency.
  • 5-Locale Native Localization: Renders localized cultural terms and UI seamlessly across Japanese, Simplified Chinese, Traditional Chinese, English, and Korean.
  • 太阳黄经精确求解(1900–2100):基于黄经 15° 步长数学求解全年二十四节气交节时刻与传统干支/农历对应关系。
  • 五语种文化全兼容:内建日语、简体中文、繁体中文、英语、韩语 5 套完整本地化语料,无网即算即显。
03 · Analytics & Baby Care

28日習慣ヒートマップ & 育児トレンド可視化 (Swift Charts / Canvas) 28-Day Habit Heatmaps & Baby Growth Analytics (Swift Charts / Canvas) 28 天习惯热力图与宝宝 7 日喂养曲线(Swift Charts / Canvas)

継続のモチベーションを保つ習慣トラッキングと、小児科受診時にも役立つ赤ちゃんの日次ログを高い視認性で統計化します。 Pairs motivational habit visualization with structured infant health tracking designed to give exhausted parents clarity during nighttime feeds or pediatric checkups. 兼顾习惯养成的正反馈激励,以及新生儿家庭在夜间喂养或儿科问诊时最需要的清晰数据回溯:

  • 28日アクティビティヒートマップ:GitHubのコントリビューショングラフに倣った4週間グリッドで日々の実行密度を視覚化し、過去の任意の日付を瞬時に振り返れます。
  • 7日間 授乳量・排泄トレンドグラフ:iOS 版はネイティブ Apple Swift Charts、Android 版はカスタム Jetpack Compose Canvas で直近7日間のミルク量・おむつ回数推移を描画します。
  • 28-Day Contribution Heatmaps: Displays rolling 4-week habit density grids with instant day-level drill-down.
  • 7-Day Baby Feeding Trends: Renders smooth 7-day milk volume and diaper count trend charts using Apple Swift Charts on iOS and custom Compose Canvas on Android.
  • 28 天 GitHub 风格习惯热力图:一眼掌握近四周坚持密度与连续断点,支持按日回看具体打卡记录。
  • 7 日婴儿喂养与排泄趋势图:iOS 采用原生 Apple Swift Charts,Android 采用自绘 Compose Canvas 绘制平滑日总量曲线。
04 · Cross-OS Schema Parity

OS間互換統一バックアップ規格 (2.0-room-sql) & ゼロサーバー保証 Cross-OS Migration Parity (2.0-room-sql) & Zero-Server Guarantee 跨系统统一迁移规范(2.0-room-sql)与完全零服务端隐私保证

外部クラウド同期を持たないローカルアプリでありながら、「Android から iPhone に買い替えても大切な育児ログや家事ルールをすべて引き継げる」ポータビリティを仕様レベルで担保しています。 Running purely offline never needs to trap users inside one OS ecosystem. Totono enforces strict cross-platform schema parity for effortless device transitions. 即便坚持完全无云端后台,也绝不让用户的数据被单一手机系统困住——通过统一的备份契约保障无缝跨平台换机:

  • 双方向 2.0-room-sql JSON スキーマ:Room SQLite(Android)と SwiftData(iOS)のフィールド名・ISO時刻表現・ID体系を完全一致させたJSONスナップショットを生成・オフライン復元できます。
  • 厳格な匿名診断分離:個人記録(習慣・家事・赤ちゃんログ)をネットワークへ一切送出せず、任意オプトアウト可能な匿名クラッシュ計測(Crashlytics)のみと完全に分離しています。
  • Unified 2.0-room-sql JSON Contract: Aligns Room SQLite and SwiftData entities field-for-field so backups exported on Android restore cleanly on iOS (and vice versa) completely offline.
  • Strict Telemetry Separation: User tables stay permanently off-network; only opt-out anonymous crash diagnostics touch Crashlytics.
  • 字段级精准对齐的 2.0-room-sql 协议:Android 导出的 JSON 备份文件可在无网状态下直接导入 iOS SwiftData 恢复所有家务周期与宝宝记录(反之亦然)。
  • 零越界遥测隔离:习惯、家务与婴幼儿数据永不联网;仅保留可随时关闭的匿名崩溃统计通道(Crashlytics)。

技術スタック・仕様比較マトリクス Technical Stack & Implementation Matrix 双端技术栈与架构规格对照表

レイヤー / 機能 Architecture Layer 架构层级 / 模块 iOS Implementation Android Implementation 設計意図・特徴 Architectural Highlight 工程特性与设计优势
Database & Storage SwiftData Private On-Device Persistence AndroidX Room (SQLite) + Kotlin Coroutines Flow 完全端末内完結(開発者サーバーへの記録送信ゼロ) 100% local-first privacy with zero remote user storage 端侧沙盒独立运行,彻底消除个人健康与家庭隐私外泄面
Interactive Motion SwiftUI Canvas + CoreHaptics 60fps Chore Slash Animation Jetpack Compose Canvas + Multi-Stage Haptic Feedback 家事完了を爽快な体験に変える独自物理・触覚演出 Fruit-Ninja-style card slicing physics at silky 60fps 独创卡牌切分物理动画与触觉联动,增强习惯正向反馈
Charts & Heatmaps Apple Swift Charts + 28-Day Habit Heatmap Grid Custom Compose Canvas 7-Day Charts + Heatmap Grid ミルク量・おむつ回数・継続密度を一目で把握する統計ビュー High-clarity baby analytics and rolling habit streak density 高可读性宝宝曲线与四周热力图,直观辅助育儿和自律
Calendar & Backup Offline Solar Longitude Engine (1900–2100 · 5 Locales) + Unified 2.0-room-sql Cross-OS JSON Schema iOS ⇄ Android 間の完全互換移行と200年分のオフライン暦演算 200-year offline East Asian calendar + lossless iOS ↔ Android backup 兼具 200 年跨度离线节气推算与双平台无损导出迁移