feat(meditate): the app: Today, Explore, Profile, the sitting and its bells
halkyon_meditate_flutter on halkyon_app and halkyon_ui (ADR 0038): the
first start, sign-in and account as every Halkyon app's, a bar below
medium windows and a rail with the icon from medium on, fern washes,
Settings in cards (Sync, the operator's, Sitting, Practice, the
account, What's new, About, the version), English and German.
- Today: a greeting by the hour, Sit now at 5, 10, 20 minutes and the
timer's own length, the practice of the day, the week with the days
in a row, favourites, recently sat (D9).
- Explore: six practices of Halkyon's own, written for the app, found
by a search without case or accents, by goal and by kind; each page
with how it goes, its lengths, its heart and Start (D4, D10).
- The sitting, over the tabs: its time from the clock, a ring counting
down, the cue of the moment, Pause and End, the bells at the start,
between and at the end, the screen kept on; ended early, kept from a
minute on where the person says so (D5, D6).
- Profile: every Halkyon app's, then the person's practice: minutes,
sittings, days, the week and every sitting kept, to delete (D8).
- Settings and sittings sealed with the person's key and synced (D7).
The bells are synthesised by apps/meditate/tool/bells.py, the icon is
Lucide's sprout from cobalt through pacific into fern
(tool/app_icons.py). Releases and the deploy are a later step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-03 09:25:30 +01:00
|
|
|
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
|
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-03 16:47:28 +01:00
|
|
|
# The library's recordings fetched to keep on the device (ADR 0038, D16).
|
|
|
|
|
http: ^1.6.0
|
feat(meditate): the app: Today, Explore, Profile, the sitting and its bells
halkyon_meditate_flutter on halkyon_app and halkyon_ui (ADR 0038): the
first start, sign-in and account as every Halkyon app's, a bar below
medium windows and a rail with the icon from medium on, fern washes,
Settings in cards (Sync, the operator's, Sitting, Practice, the
account, What's new, About, the version), English and German.
- Today: a greeting by the hour, Sit now at 5, 10, 20 minutes and the
timer's own length, the practice of the day, the week with the days
in a row, favourites, recently sat (D9).
- Explore: six practices of Halkyon's own, written for the app, found
by a search without case or accents, by goal and by kind; each page
with how it goes, its lengths, its heart and Start (D4, D10).
- The sitting, over the tabs: its time from the clock, a ring counting
down, the cue of the moment, Pause and End, the bells at the start,
between and at the end, the screen kept on; ended early, kept from a
minute on where the person says so (D5, D6).
- Profile: every Halkyon app's, then the person's practice: minutes,
sittings, days, the week and every sitting kept, to delete (D8).
- Settings and sittings sealed with the person's key and synced (D7).
The bells are synthesised by apps/meditate/tool/bells.py, the icon is
Lucide's sprout from cobalt through pacific into fern
(tool/app_icons.py). Releases and the deploy are a later step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-03 09:25:30 +01:00
|
|
|
# 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
|