halkyon/apps/meditate/halkyon_meditate_flutter/pubspec.yaml
Tizian 「ティツィアーン」 811182b376
feat(meditate): the instance's library in the app: Explore, its player, courses, keeping offline
Explore shows the instance's library below Meditate's practices, where it
has one: its courses and items by category (Meditate's eleven, named in
English and German, and the operator's own) and by the same search; an
instance without one shows nothing more. An item's page: its recordings
to choose, Play, a favourite (kept in the sealed settings under
library/<id>), keeping it on the device and removing it, and for a sound,
a silent sitting with it looped; its credit and licence. The player
plays, pauses and seeks; played to its end it is kept as a sitting, and
as its course's lesson done (lesson_done, sealed and synced). Settings
lists the library's credits beside About; Today shows its favourites.

The last catalogue is kept in the person's folder for offline; files are
fetched with the catalogue's access, asked for again shortly before it
ends. ADR 0038, D16.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-04 09:32:00 +01:00

117 lines
4.3 KiB
YAML

name: halkyon_meditate_flutter
description: Halkyon Meditate, the app.
publish_to: none
# <version>+<build>: the build rises with every release, and the instance asks apps below
# its minimum build to update (halkyon_base's instance basics).
version: 0.1.0+1
environment:
sdk: '^3.13.0'
flutter: '^3.44.4'
resolution: workspace
dependencies:
# The bells, played from the app's assets (ADR 0038, D5), as Learn plays
# its sounds.
audioplayers: ^6.8.1
clock: ^1.1.3
equatable: ^3.0.0
flutter:
sdk: flutter
flutter_bloc: ^9.1.1
# The tabs, each with its own stack of screens, and Settings and the
# sitting over them (ADR 0038, D1), as Learn's and Train's.
go_router: ^18.0.2
# What every Halkyon app is built around (a shared package): the instances a
# device keeps accounts on, signing in through halkyon_base, each person's
# dependencies opened and closed, with texts of its own.
halkyon_app:
path: ../../../packages/halkyon_app
# Primitives every Halkyon package shares: `CoalescingRunner`.
halkyon_core:
path: ../../../packages/halkyon_core
halkyon_meditate_client:
path: ../halkyon_meditate_client
# The device's half of signing in with OpenID Connect (ADR 0023): the
# browser that SimpleLogin's sign-in opens, and on Linux and Windows the
# loopback it comes back to, which the app builds with its name.
halkyon_oidc_flutter:
path: ../../../packages/halkyon_oidc_flutter
# Halkyon's look, shared by its apps (a shared package): the theme, the bundled
# Noto Sans and the widgets every screen is built of.
halkyon_ui:
path: ../../../packages/halkyon_ui
# The library's recordings fetched to keep on the device (ADR 0038, D16).
http: ^1.6.0
# gen-l10n's output imports it.
intl: ^0.20.3
lucide_icons_flutter: ^3.1.20
material_ui: ^1.5.0
# This build's version and number, for Settings' foot and what's new.
package_info_plus: ^10.2.2
path: ^1.9.1
path_provider: ^2.1.6
serverpod_auth_idp_flutter: 4.0.4
serverpod_flutter: 4.0.4
serverpod_offline_sync_client: 0.0.10
# The screen kept on while sitting, where the person wants it (ADR 0038,
# D6).
wakelock_plus: ^1.8.0
dev_dependencies:
# The sitting's clock run ahead in tests.
fake_async: ^1.3.3
flutter_driver:
sdk: flutter
# Writes the app's icons for every platform from assets/icon/halkyon_meditate_icon.png,
# run through the repository's tool/app_icons.py (see the section below).
flutter_launcher_icons: ^0.14.4
flutter_test:
sdk: flutter
test: any
flutter:
# Generates AppLocalizations from lib/l10n (see l10n.yaml).
generate: true
# Material's icon font, which serverpod_auth_idp_flutter's widgets ask for
# (it sets this itself): without it every build and test run warns, and
# Material's icons would draw as boxes.
uses-material-design: true
assets:
# The instance the build names, unless --dart-define=SERVER_URL=… does
# (serverpod_flutter's getServerUrl).
- assets/config.json
# What each release changed, one file a release and language
# (<version>.<language>.txt), drafted by tool/release.dart and edited
# (Train's ADR 0030, D61): halkyon_app's What's new shows them.
- assets/whats_new/
# The bells (ADR 0038, D5), synthesised by apps/meditate/tool/bells.py.
- assets/bells/
# The app's icon, Lucide's sprout (ADR 0031), and Lucide's licence for the
# licence list (the repository's tool/app_icons.py writes both).
- assets/icon/halkyon_meditate_icon.png
- assets/icon/LICENSE-lucide.txt
# The app's icons, written by the repository's tool/app_icons.py: it prepares the
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`.
# Android: the adaptive icon, on white, for the launcher to cut to its shape, and the
# square one older Androids show. iOS: without its alpha channel, on white. macOS and
# Windows: the rounded tile.
flutter_launcher_icons:
image_path: "assets/icon/halkyon_meditate_icon.png"
android: true
adaptive_icon_background: "#ffffff"
adaptive_icon_foreground: "assets/icon/halkyon_meditate_icon.png"
ios: true
remove_alpha_ios: true
background_color_ios: "#ffffff"
macos:
generate: true
image_path: "build/icons/macos.png"
windows:
generate: true
image_path: "build/icons/rounded.png"
icon_size: 256