add format engine packages: jovial_svg, markdown, html_core (D-058)

Three format engines adopted per the new D-058 rule (format
engines clear the dependency bar; UI chrome stays in-house):

- jovial_svg 1.1.26 (BSD-3) — SVG renderer via CustomPaint
- markdown 7.2.2 (BSD-3) — GFM parser; renderer is ours
- flutter_widget_from_html_core 0.17.2 (MIT) — HTML renderer

Welcome screen now loads logo.svg via jovial_svg instead of a
raster PNG. POLICY.md updated with format engine rule. All three
documented in licenses.yaml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 10:28:46 +02:00
co-authored by Claude Opus 4.6
parent fa0032d26d
commit a44a2efae7
6 changed files with 131 additions and 1 deletions
+9 -1
View File
@@ -2,7 +2,9 @@ import 'dart:async';
import 'package:clide/kernel/kernel.dart';
import 'package:clide/widgets/widgets.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:flutter/widgets.dart';
import 'package:jovial_svg/jovial_svg.dart';
class WelcomeView extends StatelessWidget {
const WelcomeView({super.key});
@@ -54,7 +56,13 @@ class _Header extends StatelessWidget {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset('assets/logo/logo-192.png', width: 72, height: 72),
SizedBox(
width: 72,
height: 72,
child: ScalableImageWidget.fromSISource(
si: ScalableImageSource.fromSvg(rootBundle, 'assets/logo/logo.svg'),
),
),
const SizedBox(width: 24),
Column(
crossAxisAlignment: CrossAxisAlignment.start,