Files
xtremflow/pubspec.yaml
T
MichaelandClaude Opus 5 1feeaae78a feat(design): Warm Cinema theme + event-driven adaptive players
Replaces the Projector Noir palette with "Warm Cinema" and rebuilds the
web players around a shared, event-driven engine.

Design
- app_colors: warm charcoal (#0B0908), cream (#F3E9DF), ember (#D9541F);
  adds posterScrim/heroScrim gradients, lift()/emberFocus() shadows,
  const cream-alpha tokens replacing Colors.whiteNN, and primaryFill,
  a deeper ember reserved for text-bearing fills so white labels clear
  the 4.5:1 AA threshold that #D9541F alone does not
- app_theme / mobile_theme: Fraunces (display serif) + Karla (body),
  tighter radii, 20+ component themes
- glass_container: opaque layered surfaces replace the blurred glass
- themed_loading_screen restyled; players and boot splash follow

Performance
- drop every BackdropFilter: backdrop blur forced a full framebuffer
  read per frame per card, the main source of scroll jank
- bundle Fraunces/Karla as assets so google_fonts stops fetching from
  fonts.gstatic.com at startup
- bound image decode size on 12 sites: a 40-poster grid drops from
  ~240 MB to a few tens of MB of GPU memory

Players (new shared engine: web/xf-player-core.js)
- start on media events instead of polling the buffer every 100-200 ms
- hls.js/mpegts.js loaded on demand, so ~213 KB of mpegts is never
  fetched for HLS streams
- liveSyncDurationCount 10 -> 2, startFragPrefetch on, testBandwidth
  off, MPEG-TS initial stash 512 KB -> 64 KB
- adaptive escalation fast -> balanced -> safe after repeated stalls in
  a 60 s window, applied live for HLS so there is no visible cut

Preserved from the recent streaming work on main: server-side quality
selection, stable player viewId, the turbo direct MPEG-TS path, vendored
library cache headers and the CI/Docker changes. Only the theme layer and
the player front-end were replaced; GlassCard stays in ui_components.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 21:42:56 +02:00

71 lines
1.3 KiB
YAML

name: xtremflow
description: High-performance IPTV Web Application with Xtream Codes API
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: '>=3.0.0 <4.0.0'
dependencies:
flutter:
sdk: flutter
# State Management
flutter_riverpod: ^2.6.1
riverpod_annotation: ^2.6.1
# Local Database (Web IndexedDB)
hive: ^2.2.3
hive_flutter: ^1.1.0
# Networking
dio: ^5.7.0
dio_cache_interceptor: ^3.5.1
http: ^1.2.2
# Routing
go_router: ^13.2.5
# Video Player
video_player: ^2.9.1
video_player_web: ^2.3.0
video_player_web_hls: ^1.3.0
video_player_win: ^3.2.2
chewie: ^1.8.3
# UI Components
google_fonts: ^6.2.1
cached_network_image: ^3.3.1
pointer_interceptor: ^0.10.1
lottie: ^2.7.0
percent_indicator: ^4.1.0
# Security & Utils
crypto: ^3.0.3
uuid: ^4.4.0
intl: ^0.19.0
equatable: ^2.0.5
shared_preferences: ^2.3.2
# Subtitles & Media
subtitle: ^0.1.4
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.2
# Code Generation
build_runner: ^2.4.13
riverpod_generator: ^2.4.0
hive_generator: ^2.0.1
flutter:
uses-material-design: true
# Polices embarquees : google_fonts detecte ces fichiers via l'AssetManifest
# et n'effectue AUCUNE requete reseau vers fonts.gstatic.com au demarrage.
assets:
- assets/google_fonts/