New app: Glyph

Abstract

Please introduce the functions and usage of your app in summary, and also attach some screenshots.

Glyph is a free, open-source (MIT) app for WLED LED matrices. It finds WLED controllers on the local network and turns them into something you control from your phone:

  • guided setup: joins a new controller to Wi-Fi and finds the panel wiring with a three-tap light test, written into WLED's own config;
  • 13,000+ animations (live procedural effects, original/CC0 pixel art, public-domain classics) streamed live over the LAN (DDP), or saved onto the controller so they play without the phone;
  • a pixel editor, scrolling text, clocks and timers, GIF import, a music visualiser and seven games with the phone as a gamepad;
  • Glance cards (weather via Open-Meteo, countdowns), Home Assistant blueprints.

No account, no ads, no tracking. Everything runs on the phone and talks to the device over the local network.

Screenshots (from the upstream fastlane metadata):

Screenshot 1 Screenshot 2 Screenshot 3

Please elaborate why you wrote this app. Please highlight the unique functions it provides over other similar apps in F-Droid.

WLED's own UI is built for LED strips; on 2D matrices it exposes raw settings (serpentine layouts, segments, presets) and can only show effects the small ESP32 can compute. Glyph renders every frame on the phone, so even a cheap controller shows smooth animations, drawings and games, and its setup wizard configures matrix wiring by asking what you see instead of asking for settings. I'm not aware of a WLED matrix app on F-Droid that does this.

Checklist

Policy

  • The app complies with the inclusion criteria. Note the declared anti-features below.
  • The original app author has been notified (and does not oppose the inclusion). I'm the author.
  • The upstream app source code repo contains the app metadata in a Fastlane folder structure (fastlane/metadata/android/en-US: title, short and full description, icon, feature graphic, screenshots, per-versionCode changelogs).

Docs

Merge Request Setup

  • The title of this merge request should follow "New app: app name" format.
  • Please make sure your fdroiddata fork is public and your branch is not protected.
  • Please read our Git guide.
  • All related fdroiddata and RFP issues have been referenced in this merge request. (None exist.)
  • Please only submit one app in one MR.

Metadata

  • Metadata must be put in metadata/<applicationId>.yml.
  • Metadata must be a valid YAML file. (fdroid lint and fdroid rewritemeta pass.)
  • Metadata must use LF as line ending.
  • Don't add summary/description/changelog/images or anything that should be provided in upstream repo.
  • Releases are tagged and auto update is enabled unless there is a special reason.
  • There is an issue tracker and contact info of the author.
  • An AuthorName must be added.
  • External repos are added as git submodules instead of srclibs. (None; only the standard flutter srclib.)
  • Enable Reproducible Builds. Not enabled, please sign with the F-Droid key. Upstream releases use APK Signature Scheme v3 key rotation (old key on v2 for Android 7–8, new key on v3 with a lineage for 9+), and fdroidserver currently rejects APKs whose v2 and v3 signers differ.
  • Setup abi split if the APK is large. arm64-v8a only for now, built with --split-per-abi (VercodeOperation: '%c + 2000' matches Flutter's arm64 code and our changelogs/<2000+N>.txt). Happy to add armeabi-v7a/x86_64 builds if you prefer.
  • Only the latest versions should be kept in the metadata before it's merged.
  • Don't add any disabled versions in the metadata.
  • The commit field should be the full hash.

Anti-features and scanner

  • NonFreeAssets: the app bundles an imported pixel-art collection (12,273 animations) included with its creator's permission but not under a free licence. The code (MIT) and the rest of the art (original, CC0 and public-domain) are free.
  • NonFreeNet: links to Discord and GitHub; optional catalog updates from GitHub Pages. Device control works fully offline on the local network. Weather uses Open-Meteo (AGPL, self-hostable) only when the user adds a weather card.
  • scanignore: catalog_assets/imported: those 12,273 files are animation data, a small header plus raw RGB frames, gzip-compressed (docs/IMPORTED_COLLECTION.md), not code or libraries. The scanner flags every gzip file as an archive.
  • All pub dependencies are FLOSS (MIT/BSD/Apache, one MPL-2.0); no Google Play Services, Firebase or proprietary SDKs.

Pipeline

  • Built and verified before submission with fdroiddata's CI steps (fdroid lint, fdroid rewritemeta, fdroid build --verbose --test --refresh-scanner --on-server) in registry.gitlab.com/fdroid/fdroidserver:buildserver-trixie: Successfully built dev.spandankumar.glyph:2021.
  • All pipelines should pass. (Will confirm on this MR's pipeline.)
  • All warnings and errors in the Reports tab should be fixed or explained.

Merge request reports

Loading
Loading