- Delete QmlComponents symlink (Windows incompatible, bad practice)
- main.cpp: add qml/ and project root as import paths directly
- No more symlink dependency — works cross-platform
- Clean up stale duplicate files from background agents
- Update generate_cmake.py and CMakeLists.txt for new paths
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Delete bundled frontends/qt6/qmllib QML libraries (Material, MetaBuilder, dbal, etc.) now provided from the extracted qml/qt6 tree. Update frontends/qt6/generate_cmake.py to also scan ../../qml/qt6 (relative to the root) and include those files (using relative paths) when generating the list. Also apply small updates to a few qml/MetaBuilder files (CSmtpServerForm.qml, CWorkflowTestPanel.qml, ThemeColorTokens.qml, ThemeTypography.qml) to align with the extraction.
Delete duplicated frontend QML files under frontends/qt6 (GodPanel.qml, SettingsView.qml). Adjust qml/qt6/GodPanel.qml to import the local qmllib/MetaBuilder path instead of the MetaBuilder 1.0 module, keeping the canonical QML implementation in qml/qt6.
Add a large set of QML components (qml/Material, qml/MetaBuilder, qml/dbal) and a QmlComponents symlink for local development; migrate many frontends/qt6 files into qml/qt6. Replace the email client bootloader with a self-contained demo UI using FakeMUI primitives (MailboxLayout, ThreadList, EmailHeader, ComposeWindow), demo data, handlers, and new folder-navigation styles in globals.css. Update several QML component APIs to new signal/handler names (e.g. selectAllChanged→selectAllToggled, pageChanged→pageRequested, *Changed→*Edited) to standardize events. Add find_config_files() to frontends/qt6/generate_cmake.py to include config JS/JSON in QML/files and resources. Also add /frontends/qt6/_build to .gitignore.
- CText: use ProportionalHeight for all variants (FixedHeight with 1.0 = 1px, clips text)
- FrontPage: 8px top spacer, hero height 400px, content offset +16px for breathing room
- Text centered in badge circles no longer cut off
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CText: scale MD3 type sizes for desktop (h1: 32px not 57px, body1: 14px not 16px)
- Remove body1 letterSpacing 0.5 (caused word gaps everywhere)
- Default wrapMode: NoWrap (callers opt in to wrapping)
- Headings get Bold/DemiBold instead of Normal weight
- lineHeight only on body1
FrontPage: responsive GridLayout for level cards and tech stack
- columns adapt: Math.floor(width / 220) for levels, /260 for tech
- Fixed 190px card height (no more random heights)
- 3+2 wrap on medium windows, 2+2+1 on narrow, 5 on wide
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CBadge: rename 'color' prop to 'badgeColor' (avoids Rectangle.color conflict)
CChip: rename 'color' prop to 'chipColor' (same issue)
Update all callers in WorkflowEditor and UserManagement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Light theme text #111118, textSecondary #333345 (was too faint)
- FrontPage opacity values scale with isDark (0.45→0.65, 0.3→0.5, etc.)
- All secondary text now readable on gray backgrounds in both modes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Light mode background #d8d8e0, paper #c8c8d2, surface #bfbfc9.
Enough contrast to read, not enough to need sunglasses.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Change default primary from green (#10a37f) to indigo (#6366f1/#4f46e5)
- Light theme: soft off-white (#f0f0f3) background instead of blinding #ffffff
- CAppBar now uses Theme.paper background instead of native ToolBar styling
- App.qml calls Theme.setTheme() on startup + on currentTheme change
- FrontPage uses isDark flag for all surface/border colors (works both modes)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>