Skip to content

v0.3.0: Pure-Java Image Engine, Cloud Gallery & Watchfaces, Weather, Hardware Tools

Choose a tag to compare

@github-actions github-actions released this 11 Sep 15:39
· 10 commits to main since this release

What's New in v0.3.0

🎨 Pure-Java Image Engine (Zero AWT / java.desktop dependencies)

  • AWT Independence: Replaced all java.desktop/AWT image dependencies with a custom, lightweight PixooImage ARGB buffer supporting bilinear scaling, letterboxing, and cropping.
  • Built-in Pure-Java Decoders:
    • PNG: Decoded via lightweight pngj.
    • Animated GIF: Built-in LZW decoder with full support for local/global color tables, transparent index handling, disposal methods, and variable frame delays.
    • BMP: Native decoder for 24-bit and 32-bit uncompressed bitmaps.
  • Pure-Java GIF89a Multi-Frame Encoder (GifEncoder): Built-in multi-frame GIF encoder with color quantization, adaptive palettes, and LZW compression (verified with 100% roundtrip accuracy).
  • Native Image on Apple Silicon: Completely fixes GraalVM native binary compilation on macOS (macos-14 / arm64) by eliminating libawt / libawt_lwawt library links.

🖼️ Enhanced Image & GIF Options (--crop and --scale-mode)

  • Added -c, --crop option to crop images to 64x64 or custom bounds.
  • Added -s, --scale-mode <fit|stretch> option to select between aspect-ratio preserving letterboxing (fit) or matrix-filling stretch (stretch).
  • Fast path in PixooImage.resizeAndFit for native 64x64 inputs to avoid unnecessary resampling.

🌐 Client-Side Remote GIF Streaming

  • Remote GIFs (pixoo-cli gif https://...) are now downloaded, decoded, scaled, and streamed frame-by-frame client-side via Draw/SendHttpGif.
  • Eliminates ESP32 memory exhaustion and device reboots when fetching large or non-optimized GIFs over HTTP.

☁️ Divoom Cloud Gallery, Artist Profiles & Watch Faces

  • Community Gallery Search: Search and browse animations with sorting options (pixoo-cli cloud search).
  • Watch Face Store: Browse community clock dials and watch faces (pixoo-cli cloud clock-faces).
  • Artist Profiles: Query public creations and profile statistics (pixoo-cli cloud artist).
  • Strict 64x64 Filtering: Automatically filters cloud queries to 64x64 pixel matrices to prevent matrix distortion.
  • Cloud Timeout: Increased HTTP client timeout to 60s for improved stability on slower connections.

🧩 Divoom Binary Asset Decoder (.bin)

  • Added DivoomAssetDecoder capable of unpacking Divoom's proprietary binary animations (macroblocks, compressed palette tables) into PixooImage frames and standard GIFs.

⏱️ Expanded Hardware Tools Engine

  • Sleep Timer: Schedule automatic display shutdown from 1 to 120 minutes (pixoo-cli tool sleep-timer).
  • Pomodoro Timer: Configure focus and rest cycles (pixoo-cli tool pomodoro).
  • Multi-Alarm Clock: Set, inspect, enable, and delete up to 8 independent hardware alarms with weekday recurrence and alarm tone styles (pixoo-cli tool alarm).

🌤️ Zero-Auth Divoom Weather Client

  • Added DivoomWeatherClient and pixoo-cli weather to retrieve real-time weather conditions and forecasts via latitude and longitude without requiring API keys.

📚 Documentation & Protocol Specifications

  • Cleaned up SPECIFICATION.md into a strictly language-agnostic HTTP protocol reference for Pixoo 64.
  • Updated README.md, RECIPES.md, and the pixoo64 agent skill.
  • Reflected all new records and CLI models in GraalVM reflect-config.json.

📦 Pre-compiled Native Binaries

Instantaneous startup (<5ms) without requiring a JVM:

  • macOS (Apple Silicon / aarch64): pixoo-cli-macos-aarch64.zip
  • Linux (x86_64): pixoo-cli-linux-amd64.zip
  • Windows (x86_64): pixoo-cli-windows-amd64.zip