refactor(brand): rename F∆I -> Ch∆In + hub binary fai -> chain
Some checks failed
Security / Security check (push) Failing after 2s

Studio follows the platform rename: product branding F∆I -> Ch∆In in UI
strings, command examples fai -> chain, and — critically — the spawned
hub binary path ~/.fai/bin/fai -> ~/.fai/bin/chain so Studio launches
the renamed binary. The fai_* Dart identifiers (FaiLog, widget files,
the generated SDK) stay = vendor/internal namespace. flutter analyze:
no issues.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-15 16:22:22 +02:00
parent a0007b9178
commit 7ff4fda2a3
36 changed files with 141 additions and 141 deletions

View file

@ -1,5 +1,5 @@
// FaiCard flat card with subtle accent gradient on the top
// border. Replaces Material's default Card for the F∆I look.
// border. Replaces Material's default Card for the Ch∆In look.
import 'package:flutter/material.dart';

View file

@ -1,4 +1,4 @@
// FaiDeltaMark the FI signature element. A precise triangle
// FaiDeltaMark the ChIn signature element. A precise triangle
// () drawn from primitives, not a font glyph. Three states:
//
// - idle: static, accent colour, soft glow

View file

@ -2,7 +2,7 @@
// Replaces "(no data)" strings with one tone, one icon, one tip.
//
// The blank surface is where an app most easily feels unfinished,
// so this state is deliberately *designed*: the FI delta ()
// so this state is deliberately *designed*: the ChIn delta ()
// sits as a soft watermark behind the icon badge, the badge
// carries a whisper of elevation, and the copy breathes. The
// result reads "nothing here yet, on purpose" rather than
@ -48,7 +48,7 @@ class FaiEmptyState extends StatelessWidget {
// Brand hero: an oversized, low-opacity watermark
// anchors the composition while the contextual icon
// badge sits crisply on top so every empty surface
// still carries the FI signature, never a bare icon.
// still carries the ChIn signature, never a bare icon.
SizedBox(
width: 112,
height: 112,

View file

@ -1013,7 +1013,7 @@ class McpClientDraft {
/// MCP-clients panel shows every configured server with its
/// last-discovery health, plus Add / Remove / Refresh actions.
/// Configure a server here, the store gains synthetic
/// capabilities for every advertised tool. Mirrors `fai mcp `
/// capabilities for every advertised tool. Mirrors `chain mcp `
/// on the CLI.
class _McpClientsPanel extends StatelessWidget {
final List<McpClientInfo> clients;
@ -1669,7 +1669,7 @@ class _ThemePluginPanel extends StatelessWidget {
}
/// Hub maintenance panel currently one action: reset operator
/// state via `fai reset --yes`. Lives at the bottom of Settings
/// state via `chain reset --yes`. Lives at the bottom of Settings
/// so the everyday config controls aren't crowded by a destructive
/// button. The reset itself is gated by an interactive confirm
/// dialog before the CLI is invoked.

View file

@ -820,7 +820,7 @@ class _ModelPicker extends StatelessWidget {
/// round-trip; works for Ollama tags (`gemma3:4b`), OpenAI names
/// (`gpt-4o-mini`), Anthropic-style (`claude-haiku-4-5`).
enum _Suitability {
recommended, // tested with FI System AI
recommended, // tested with ChIn System AI
balanced, // 4-8B params or known-good cloud model
small, // <4B params; quality may be insufficient
large, // 9-15B; slower but ok

View file

@ -1,4 +1,4 @@
// Barrel file for the FI Studio widget library.
// Barrel file for the ChIn Studio widget library.
//
// Pages should `import '../widgets/widgets.dart';` and use the
// primitives directly no Material `Card` / generic `Container`