Skip to content

A Cyberpunk desk clock optimized for Fold-style devices. Features dual-pane layouts, hinge-aware transitions, and responsive Monolith/Tabletop modes.

Notifications You must be signed in to change notification settings

gadgeski/VetroCodex

Repository files navigation

VETROCODEX: Cyberpunk Foldable Clock

"Time is not linear. It folds."

アプリ画面(新)

cyberpunk(縦)
cyberpunk(縦)
折りたたみ時
cyberpunk(折りたたみ)
minimal
minimal(横)

01. SYSTEM OVERVIEW (概要)

Vetro は、Galaxy Z Fold 7 などの「横折りたたみスマートフォン」に特化して設計された、Android ネイティブ時計アプリケーションです。

Verified Environment: Galaxy Z Fold 7 / Android 16

単なる時刻表示アプリではありません。端末の物理的な形状(開閉状態)を Jetpack WindowManager で検知し、UI そのものを物理形状に合わせて変形させる "Adaptive Cyberpunk Interface" を搭載しています。

02. CORE MODULES (主な機能)

本システムは、端末のハードウェア状態に応じて 2 つのモードを自動で切り替えます。

Mode A: "Tabletop" (折りたたみ時)

端末を 本の様に横に折って机に置くモード。

  • UI: 画面を上下に分割し、上部に視認性の高い時計、下部にステータスモニターを配置。
  • Use Case: デスクワーク中の置時計、ベッドサイドクロック。

Mode B: "Monolith" (全開時)

端末を開いた縦長のモード。

  • UI: フォントを縦方向にスタック(積み上げ)配置。
  • Design: 超縦長画面で発生しがちな「余白の崩れ」を防ぎ、画面全体を情報量で埋め尽くすタワー型レイアウト。

03. TECH STACK (技術構成)

開発にはモダンな Android 開発技術を採用しています。

  • UI Toolkit: Jetpack Compose (Material3)
  • Foldable Support: androidx.window:window (WindowManager API)
  • Architecture: MVVM (Model-View-ViewModel) + Clean Architecture based
  • Fonts Strategy:
    • Orbitron (Bold/Medium): High-Tech なメイン時刻表示
    • BBH Bartle: Industrial なシステムログ・装飾表示

04. ENGINEERING CHALLENGES (技術的なこだわり)

フォルダブル対応の最適化

通常のレスポンシブ対応(幅に応じた変化)だけでなく、FoldingFeature を用いて「ヒンジ(折り目)」の位置を正確に計算。 物理的な折り目と UI の境界線が完全に一致するように Spacer の高さを動的に制御しています。

"生きた" UI 表現

静止画のような UI ではなく、常に稼働しているデバイス感を出すために以下を実装。

  • Real-time Monitor: BatteryManagerMemoryInfo から実数値を取得し表示。
  • Neon Glow Effect: 標準の Shadow ではなく、Canvas API (Paint + BlurMaskFilter) を用いて、芯のあるネオン発光を描画。

VetroCodex - Time is not linear. It folds.

About

A Cyberpunk desk clock optimized for Fold-style devices. Features dual-pane layouts, hinge-aware transitions, and responsive Monolith/Tabletop modes.

Topics

Resources

Stars

Watchers

Forks

Languages