Skip to content

Commit 8239812

Browse files
TheyCallMeErickclaude
andcommitted
Squash wip: AkkornStudio rebrand + tabbed workspaces, schema/data compare, analyzer & UX overhaul
Squashes the entire wip development line onto main as a single commit. Highlights: - Rebrand VisualSqlArchitect -> AkkornStudio across the codebase. - Tabbed workspace shell (tab = connection + multi-mode Query/DDL/SQL/ER) with per-tab state, new-tab mode modal, mode switcher, session restore. - DDL Schema Compare overhaul (typed engine), whole-database compare, and new row-level Data Compare (per-dialect INSERT/UPDATE/DELETE) with manual key. - Schema Analysis workspace wiring (sort/group/reviewed/bulk/ignore-rule). - UX/UI pass: standardized scrollbars, connection card redesign, density fixes, SQL/ER connection-context inheritance. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent d3c5d16 commit 8239812

591 files changed

Lines changed: 78584 additions & 6775 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ claude/settings.local.json
33
archive/*
44
.codex
55
*.log
6-
.superpowers/*
7-
.worktrees/
8-
dbweaver_app/*
9-
*.md
6+
.superpowers/*
7+
.worktrees/
8+
dbweaver_app/*
9+
*.md
10+
node_modules/

Directory.Build.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,9 @@
44
<Nullable>enable</Nullable>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<LangVersion>latest</LangVersion>
7+
<RestorePackagesPath Condition="'$(RestorePackagesPath)' == '' and '$(UserProfile)' != ''">$(UserProfile)\.nuget\packages</RestorePackagesPath>
8+
<NuGetAudit>false</NuGetAudit>
9+
<RestoreDisableParallel>true</RestoreDisableParallel>
10+
<BuildInParallel>false</BuildInParallel>
711
</PropertyGroup>
812
</Project>

Directory.Build.rsp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-maxCpuCount:1

Directory.Packages.props

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6-
<PackageVersion Include="Avalonia" Version="11.1.4" />
7-
<PackageVersion Include="Avalonia.AvaloniaEdit" Version="11.1.0" />
8-
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.1.4" />
9-
<PackageVersion Include="Avalonia.Desktop" Version="11.1.4" />
10-
<PackageVersion Include="Avalonia.Diagnostics" Version="11.1.4" />
11-
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.1.4" />
12-
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.1.4" />
6+
<PackageVersion Include="Avalonia" Version="11.3.0" />
7+
<PackageVersion Include="Avalonia.AvaloniaEdit" Version="11.3.0" />
8+
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="11.3.0" />
9+
<PackageVersion Include="Avalonia.Desktop" Version="11.3.0" />
10+
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.0" />
11+
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.3.0" />
12+
<PackageVersion Include="Svg.Controls.Skia.Avalonia" Version="11.3.0.1" />
13+
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.3.0" />
1314
<PackageVersion Include="ClosedXML" Version="0.102.3" />
1415
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
1516
<PackageVersion Include="Material.Icons.Avalonia" Version="2.1.9" />
17+
<PackageVersion Include="HarfBuzzSharp.NativeAssets.Linux" Version="8.3.0.1" />
1618
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
1719
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0" />
1820
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
@@ -22,6 +24,7 @@
2224
<PackageVersion Include="Microsoft.SqlServer.TransactSql.ScriptDom" Version="170.128.0" />
2325
<PackageVersion Include="MySqlConnector" Version="2.3.7" />
2426
<PackageVersion Include="Npgsql" Version="8.0.3" />
27+
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="3.116.1" />
2528
<PackageVersion Include="SqlKata" Version="2.4.0" />
2629
<PackageVersion Include="SqlKata.Execution" Version="2.4.0" />
2730
<PackageVersion Include="Testcontainers" Version="3.9.0" />

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
21
<div align="center">
32

43
<br/>
5-
<img width="512" alt="banner" src="https://github.com/user-attachments/assets/3b6f5b91-3020-43d1-9bff-ec596f30531f" />
4+
5+
# AkkornStudio
66

77
### Monte consultas SQL arrastando nós — veja o SQL ao vivo enquanto você cria.
88

docs/INDEX.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ A documentação ativa está dividida em dois níveis:
1818
- **[CODE_CONVENTIONS.md](CODE_CONVENTIONS.md)** — Convenções de código, naming e estrutura geral
1919
- **[EXCEPTION_HANDLING_STRATEGY.md](EXCEPTION_HANDLING_STRATEGY.md)** — Estratégia de tratamento de erros e falhas
2020
- **[SEARCH_FILTERING_GUIDELINE.md](SEARCH_FILTERING_GUIDELINE.md)** — Padrão de busca textual centralizada (fuzzy vs estrito) para UI
21+
- **[OBSERVABILITY_BASELINE_TEMPLATE.md](OBSERVABILITY_BASELINE_TEMPLATE.md)** - Template operacional de baseline semanal para Onda 0 (OBS-01/OBS-02/OBS-03)
2122
- **[LIST_RENDERING_PERFORMANCE_GUIDELINE.md](LIST_RENDERING_PERFORMANCE_GUIDELINE.md)** — Regras normativas para listas/listagens performáticas (virtualização, cache, debounce e invalidação)
2223
- **[MODAL_LAYOUT_GUIDELINE.md](MODAL_LAYOUT_GUIDELINE.md)** — Guideline normativa para estrutura de modais (header + body rolável + footer fixo)
2324
- **[MODAL_ADOPTION_MAP.md](MODAL_ADOPTION_MAP.md)** — Inventário de modais e status de adoção da guideline
@@ -91,3 +92,8 @@ A documentação ativa está dividida em dois níveis:
9192
---
9293

9394
*Última atualização: 15 de abril de 2026*
95+
96+
## Atualizacoes recentes
97+
98+
- 2026-05-08: fluxo de conexao atualizado para modal com cards, logo SVG por provider, cards full-width e busca no picker.
99+
- 2026-05-08: busca de schema com atalhos (`@`, `#`, `!`, `schema:`, `fk`, `pk`, `idx`) e cobertura de testes de regressao.

src/AkkornStudio.UI/AkkornStudio.UI.csproj

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
<!-- Diagnostics / hot-reload (dev only — exclude from release) -->
1919
<PackageReference Include="Avalonia.Diagnostics" Condition="'$(Configuration)' == 'Debug'" />
2020
<PackageReference Include="Material.Icons.Avalonia" />
21+
<PackageReference Include="Svg.Controls.Skia.Avalonia" />
22+
<PackageReference Include="SkiaSharp.NativeAssets.Linux" />
23+
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" />
2124
<!-- Excel export -->
2225
<PackageReference Include="ClosedXML" />
2326
<PackageReference Include="Microsoft.SqlServer.TransactSql.ScriptDom" />
@@ -26,13 +29,20 @@
2629

2730
<!-- ── Core engine reference ── -->
2831
<ItemGroup>
29-
<ProjectReference Include="..\AkkornStudio\AkkornStudio.csproj" />
30-
<ProjectReference Include="..\AkkornStudio.Canvas\AkkornStudio.Canvas.csproj" />
32+
<ProjectReference Include="..\AkkornStudio\AkkornStudio.csproj">
33+
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
34+
</ProjectReference>
35+
<ProjectReference Include="..\AkkornStudio.Canvas\AkkornStudio.Canvas.csproj">
36+
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
37+
</ProjectReference>
3138
</ItemGroup>
3239

3340
<!-- ── AXAML files handled by Avalonia SDK auto-discovery ── -->
3441
<ItemGroup>
3542
<AvaloniaResource Include="Assets\Syntax\*.xshd" />
43+
<EmbeddedResource Include="Assets\ReportFrontend\dist\report-app.css" />
44+
<EmbeddedResource Include="Assets\ReportFrontend\dist\report-app.js" />
45+
<AvaloniaResource Include="Assets\Images\**" />
3646
<None Update="Assets\Localization\*.json">
3747
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
3848
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>

src/AkkornStudio.UI/App.axaml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,35 @@
33
xmlns:mi="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
44
xmlns:sqlcomp="using:AkkornStudio.UI.Services.SqlEditor"
55
x:Class="AkkornStudio.UI.App"
6-
RequestedThemeVariant="Dark">
6+
RequestedThemeVariant="Dark"
7+
>
78

89
<Application.Resources>
910
<ResourceDictionary>
1011
<ResourceDictionary.MergedDictionaries>
11-
<!-- Design tokens first -->
1212
<ResourceInclude Source="avares://AkkornStudio.UI/Assets/Themes/DesignTokens.axaml"/>
1313
</ResourceDictionary.MergedDictionaries>
14+
15+
<!-- Force Fluent system accent away from default amber/orange hues -->
16+
<Color x:Key="SystemAccentColor">#5B7CFA</Color>
17+
<Color x:Key="SystemAccentColorLight1">#6C8CFF</Color>
18+
<Color x:Key="SystemAccentColorLight2">#8EA7FF</Color>
19+
<Color x:Key="SystemAccentColorLight3">#B8C6FF</Color>
20+
<Color x:Key="SystemAccentColorDark1">#4E6EE8</Color>
21+
<Color x:Key="SystemAccentColorDark2">#3F5BC7</Color>
22+
<Color x:Key="SystemAccentColorDark3">#31469B</Color>
23+
24+
<!-- Fluent semantic brushes override (avoid neutral gray surfaces) -->
25+
<SolidColorBrush x:Key="SystemControlBackgroundBaseLowBrush" Color="#101629"/>
26+
<SolidColorBrush x:Key="SystemControlBackgroundBaseMediumLowBrush" Color="#121A2E"/>
27+
<SolidColorBrush x:Key="SystemControlBackgroundBaseMediumBrush" Color="#151E34"/>
28+
<SolidColorBrush x:Key="SystemControlBackgroundBaseHighBrush" Color="#19233D"/>
29+
<SolidColorBrush x:Key="SystemControlBackgroundChromeLowBrush" Color="#0F1528"/>
30+
<SolidColorBrush x:Key="SystemControlBackgroundChromeMediumBrush" Color="#15203A"/>
31+
<SolidColorBrush x:Key="SystemControlBackgroundChromeHighBrush" Color="#1C2946"/>
32+
<SolidColorBrush x:Key="SystemControlForegroundBaseHighBrush" Color="#E7ECFF"/>
33+
<SolidColorBrush x:Key="SystemControlForegroundBaseMediumBrush" Color="#AEB9D9"/>
34+
<SolidColorBrush x:Key="SystemControlForegroundBaseLowBrush" Color="#7F8AAE"/>
1435
</ResourceDictionary>
1536
</Application.Resources>
1637

@@ -54,7 +75,16 @@
5475

5576
<Application.Styles>
5677
<!-- Fluent Dark base -->
57-
<FluentTheme/>
78+
<FluentTheme>
79+
<FluentTheme.Palettes>
80+
<ColorPaletteResources x:Key="Dark"
81+
Accent="#5B7CFA"
82+
RegionColor="#090B14"/>
83+
<ColorPaletteResources x:Key="Light"
84+
Accent="#5B7CFA"
85+
RegionColor="#EEF2FF"/>
86+
</FluentTheme.Palettes>
87+
</FluentTheme>
5888

5989

6090

0 commit comments

Comments
 (0)