Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4ea0fd8
feat(graphics): add hardware GPU detection, dual rendering pipeline (…
ehs22n Nov 4, 2026
5f9eab3
refactor(i18n): standardize all UI strings, test cases, and comments …
ehs22n Nov 4, 2026
40cac23
fix(ui): eliminate black focus borders and window margin artifacts ac…
ehs22n Nov 4, 2026
52ed0a1
Merge pull request #3 from ehs22n/dev
ehs22n Nov 4, 2026
c27637a
feat(terminal): add integrated multi-session PTY terminal, database C…
alirezasp404dev Nov 4, 2026
384574d
fix(results): auto-switch footer to Results tab on query execution & …
alirezasp404 Nov 4, 2026
d6707cb
fix(terminal): remove database cli from terminal selection dropdown
alirezasp404 Nov 4, 2026
e4e77dc
Merge pull request #4 from cipherunits/feat/integrated-terminal
alirezasp404 Nov 4, 2026
7720e32
feat(ui): harmonize footer Results and Terminal tabs with dynamic the…
ehs22n Nov 4, 2026
bb1563d
feat(ui): redesign docked modern IDE sidebar and unified custom titlebar
ehs22n Nov 4, 2026
1a36498
Merge pull request #5 from ehs22n/dev
ehs22n Nov 4, 2026
a0097a9
feat: rename project and application to Quell
alirezasp404 Nov 5, 2026
544841d
Merge pull request #6 from cipherunits/feat/rename-to-quell
ehs22n Nov 7, 2026
4dc4c22
fix(ui): prevent overlapping window caption buttons by using BorderOn…
ehs22n Nov 7, 2026
68969c0
feat(ui): consolidate top navbar menus into a modern hamburger menu
ehs22n Nov 7, 2026
9233294
feat(editor): execute highlighted/selected text if present with fallb…
ehs22n Nov 7, 2026
3afc493
feat(menu): add dedicated Database tools menu with Excel export, back…
ehs22n Nov 7, 2026
fcc6432
feat(branding): configure official Quell icon and splash screen artwo…
ehs22n Nov 7, 2026
7637a78
feat(diagram): add instant open, responsive loading indicator, and pa…
ehs22n Nov 7, 2026
f612f4a
fix(ui): eliminate black popup corner artifacts and enhance ER diagra…
ehs22n Nov 7, 2026
5fb0e95
feat(graphics): implement dynamic GPU-accelerated motion pipeline and…
ehs22n Nov 7, 2026
f73bdf5
fix(startup): add missing AppSurfaceColor resource and harden splash …
ehs22n Nov 7, 2026
89eb573
feat(splash): bind real-time startup progress to actual loading phase…
ehs22n Nov 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
name: fdb-customization-system
---
name: quell-customization-system
description: >-
Architectural patterns, procedural runbook, and token catalog for Fdb Studio's customization and color system.
Use when adding, modifying, or extending UI customization, Color Maker (رنگ‌ساز), theme tokens, button/border/sidebar styling,
or SQLite persistence of user preferences in Fdb.
Architectural patterns, procedural runbook, and token catalog for Quell's customization and color system.
Use when adding, modifying, or extending UI customization, Color Maker, theme tokens, button/border/sidebar styling,
or SQLite persistence of user preferences in Quell.
---

# Fdb Studio Customization & Color System Skill
# Quell Customization & Color System Skill

This skill defines the architectural blueprint, token taxonomy, and step-by-step procedures for extending Fdb Studio's UI customization, Color Maker ("رنگ‌ساز"), theme brushes, and SQLite configuration engine.
This skill defines the architectural blueprint, token taxonomy, and step-by-step procedures for extending Quell's UI customization, Color Maker, theme brushes, and SQLite configuration engine.

Follow this standard whenever you add new customizable elements, modify existing colors, or implement theme tokens.

---

## 1. Architectural Overview (The 4-Layer System)

Fdb Studio's customization engine operates across four synchronized layers:
Quell's customization engine operates across four synchronized layers:

```
┌────────────────────────────────────────────────────────┐
Expand Down Expand Up @@ -133,7 +133,7 @@ public void SelectMyElementColor(string hex)
}
```

### Step 6: Register in the Color Maker ("رنگ‌ساز")
### Step 6: Register in the Color Maker
In `ViewModels/SettingsModalViewModel.cs`:
- Add `"My Element Category: Target Name"` to `ColorMakerTargets`.
- In `ApplyColorMakerToTarget()`, add the switch case:
Expand Down Expand Up @@ -190,6 +190,11 @@ Add an assertion in `VerifyLayoutAndPanelsAsync()` verifying that the property p
| `AppTableGridLinesHorizontalBrush`| `#CBD5E1`| `#334155` | `GridLinesColor` | Horizontal data grid lines |
| `AppTableGridLinesVerticalBrush` | `#E2E8F0` | `#334155` | `GridLinesColor` | Vertical data grid lines |
| `AppTableSelectedBackgroundBrush`| `#DBEAFE` | `#1E3A5F` | `SelectionColor` | Selected row / cell highlight |
| `AppTerminalBackgroundBrush` | `#FFFFFF` | `#0F172A` | `TerminalBackground` | Integrated Terminal emulator background |
| `AppTerminalForegroundBrush` | `#0F172A` | `#F8FAFC` | `TerminalForeground` | Integrated Terminal output text |
| `AppTerminalToolbarBackgroundBrush`| `#F8FAFC` | `#1E293B` | Derived from Theme / `AppSurfaceBrush` | Terminal session bar background |
| `AppTerminalToolbarBorderBrush`| `#E2E8F0` | `#334155` | Derived from Theme / `AppBorderBrush` | Terminal session bar border |
| `AppTerminalStatusBackgroundBrush`| `#F8FAFC` | `#0B0F17` | Derived from Theme / `AppSurfaceBrush` | Terminal bottom status breadcrumb bar |

---

Expand All @@ -199,7 +204,7 @@ Always run these two commands before committing any customization or styling cha

```powershell
# 1. Compile in Release mode (must be 0 warnings, 0 errors)
dotnet build Fdb.csproj --configuration Release
dotnet build Quell.csproj --configuration Release

# 2. Run automated headless verification suite
dotnet run --configuration Release --no-build -- --verify
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Color Maker ("رنگ‌ساز") Architecture
# Color Maker Architecture

The Color Maker allows users to build custom colors via RGB sliders or direct HEX text input and apply them to any UI target in Fdb Studio.
The Color Maker allows users to build custom colors via RGB sliders or direct HEX text input and apply them to any UI target in Quell.

## 1. Bidirectional Synchronization Architecture

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SQLite Customization Storage Schema
# SQLite Customization Storage Schema

Fdb Studio persists all user appearance preferences, colors, shortcuts, and panel dimensions in SQLite using a lightweight, key-value `settings` table.
Quell persists all user appearance preferences, colors, shortcuts, and panel dimensions in SQLite using a lightweight, key-value `settings` table.

## 1. Table Schema

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Fdb Studio Theme Tokens Reference
# Quell Theme Tokens Reference

This document catalogs all XAML color and brush resources defined in the design system, their fallback defaults, and their relationships with `ThemeService`.

Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ jobs:
dotnet-version: '10.0.x'

- name: Restore Dependencies
run: dotnet restore Fdb.csproj
run: dotnet restore Quell.csproj

- name: Build Project
run: dotnet build Fdb.csproj --configuration Release --no-restore
run: dotnet build Quell.csproj --configuration Release --no-restore

- name: Execute Verification Suite (--verify)
run: dotnet run --configuration Release --no-build -- --verify
Expand All @@ -57,7 +57,7 @@ jobs:

- name: Publish Windows Standalone Executable (win-x64)
run: >
dotnet publish Fdb.csproj
dotnet publish Quell.csproj
-c Release
-r win-x64
--self-contained true
Expand All @@ -78,7 +78,7 @@ jobs:
- name: Create Portable Zip Package
shell: pwsh
run: |
Compress-Archive -Path ./publish/win-x64/* -DestinationPath ./dist/windows/Fdb-Studio-1.0.0-win-x64-portable.zip -Force
Compress-Archive -Path ./publish/win-x64/* -DestinationPath ./dist/windows/Quell-1.0.0-win-x64-portable.zip -Force

- name: Upload Windows Artifacts
uses: actions/upload-artifact@v4
Expand All @@ -105,7 +105,7 @@ jobs:

- name: Publish Linux Standalone Executable (linux-x64)
run: >
dotnet publish Fdb.csproj
dotnet publish Quell.csproj
-c Release
-r linux-x64
--self-contained true
Expand All @@ -120,7 +120,7 @@ jobs:
- name: Create Portable .tar.gz Package
run: |
mkdir -p dist/linux
tar -czvf dist/linux/Fdb-Studio-1.0.0-linux-x64-portable.tar.gz -C publish/linux-x64 .
tar -czvf dist/linux/Quell-1.0.0-linux-x64-portable.tar.gz -C publish/linux-x64 .

- name: Upload Linux Artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:

- name: Publish macOS App Binaries (${{ matrix.rid }})
run: >
dotnet publish Fdb.csproj
dotnet publish Quell.csproj
-c Release
-r ${{ matrix.rid }}
--self-contained true
Expand Down Expand Up @@ -218,11 +218,11 @@ jobs:
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
TAG_NAME="${GITHUB_REF#refs/tags/}"
echo "tag=$TAG_NAME" >> "$GITHUB_OUTPUT"
echo "title=Fdb Studio $TAG_NAME" >> "$GITHUB_OUTPUT"
echo "title=Quell $TAG_NAME" >> "$GITHUB_OUTPUT"
echo "prerelease=false" >> "$GITHUB_OUTPUT"
else
echo "tag=latest" >> "$GITHUB_OUTPUT"
echo "title=Fdb Studio Continuous Build" >> "$GITHUB_OUTPUT"
echo "title=Quell Continuous Build" >> "$GITHUB_OUTPUT"
echo "prerelease=false" >> "$GITHUB_OUTPUT"
fi

Expand Down
16 changes: 8 additions & 8 deletions App.axaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Application xmlns="https://github.com/avaloniaui"
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Fdb"
xmlns:local="using:Quell"
xmlns:sty="using:FluentAvalonia.Styling"
x:Class="Fdb.App">
x:Class="Quell.App">

<Application.DataTemplates>
<local:ViewLocator />
Expand All @@ -11,12 +11,12 @@
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://Fdb/Themes/ThemeTokens.axaml" />
<ResourceInclude Source="avares://Quell/Themes/ThemeTokens.axaml" />
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary.ThemeDictionaries>
<ResourceInclude x:Key="Default" Source="avares://Fdb/Themes/LightTheme.axaml" />
<ResourceInclude x:Key="Light" Source="avares://Fdb/Themes/LightTheme.axaml" />
<ResourceInclude x:Key="Dark" Source="avares://Fdb/Themes/DarkTheme.axaml" />
<ResourceInclude x:Key="Default" Source="avares://Quell/Themes/LightTheme.axaml" />
<ResourceInclude x:Key="Light" Source="avares://Quell/Themes/LightTheme.axaml" />
<ResourceInclude x:Key="Dark" Source="avares://Quell/Themes/DarkTheme.axaml" />
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
Expand All @@ -25,6 +25,6 @@
<sty:FluentAvaloniaTheme PreferUserAccentColor="True" />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
<StyleInclude Source="avares://AvaloniaEdit/Themes/Fluent/AvaloniaEdit.xaml" />
<StyleInclude Source="avares://Fdb/Resources/ClassicStyles.axaml" />
<StyleInclude Source="avares://Quell/Resources/ClassicStyles.axaml" />
</Application.Styles>
</Application>
59 changes: 45 additions & 14 deletions App.axaml.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Avalonia.Threading;
using Fdb.ViewModels;
using Fdb.Views;
using Quell.ViewModels;
using Quell.Views;

namespace Fdb;
namespace Quell;

public partial class App : Application
{
Expand Down Expand Up @@ -39,20 +40,50 @@ public override void OnFrameworkInitializationCompleted()

_ = Task.Run(async () =>
{
// Execute startup SQL queries and initialize SQLite engine
await splash.RunStartupSequenceAsync();

await Dispatcher.UIThread.InvokeAsync(() =>
try
{
var mainWindow = new MainWindow
// 1. Real Phase: Storage, schema, graphics, appearance, shortcuts & keywords (0% -> 88%)
await splash.RunStartupSequenceAsync(completeTo100: false);

// 2. Real Phase: Constructing Studio Workspace (89% -> 94%)
splash.UpdateProgress(89, "Building Studio Workspace...", "Initializing SQL Editor & IntelliSense engine...");

await Dispatcher.UIThread.InvokeAsync(async () =>
{
DataContext = new MainViewModel(),
};
try
{
var vm = new MainViewModel();

// 3. Real Phase: Building MainWindow & UI Shell (95% -> 99%)
splash.UpdateProgress(95, "Rendering Desktop Interface...", "Binding controls, layout grids and tabs...");
await Task.Delay(45);

desktop.MainWindow = mainWindow;
mainWindow.Show();
splash.Close();
});
var mainWindow = new MainWindow
{
DataContext = vm,
};

// 4. Real Phase: Finalizing Studio Environment (100%)
splash.UpdateProgress(100, "Studio Environment Ready", "Quell v1.0.0 Ready");
await Task.Delay(140);

desktop.MainWindow = mainWindow;
mainWindow.Show();
splash.Close();
}
catch (Exception uiEx)
{
Console.WriteLine($"[App Startup UI Error]: {uiEx}");
splash.Close();
throw;
}
});
}
catch (Exception ex)
{
Console.WriteLine($"[App Startup Error]: {ex}");
await Dispatcher.UIThread.InvokeAsync(() => splash.Close());
}
});
}
}
Expand Down
Binary file added Assets/Images/quell_splash.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Assets/Images/splash_screen.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions Assets/init_database.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-- ============================================================================
-- Fdb Studio: SQLite Database Startup & Dialect Keywords Initialization Script
-- ============================================================================
-- Quell: SQLite Database Startup & Dialect Keywords Initialization Script
-- ============================================================================

-- [STEP 1/4] Core Schema & Tables
Expand Down
Binary file added Assets/quell_icon.ico
Binary file not shown.
Binary file added Assets/quell_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading