149 Commits

Author SHA1 Message Date
2c354ad927 build(qt6): rename binary from dbal-qml to metabuilder-qt6
Update cmake_config.json project.executable + project.name and
regenerate CMakeLists.txt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 21:55:58 +00:00
4ae463f41a fix(qt6): build errors from a11y pass + AUTOMOC hpp fix
Three QML syntax errors introduced by the a11y agents:
- CommentsDBAL.js:25 — string literal split across lines by line-wrapper
- LuaEditor.qml:50 — semicolon between sibling QML elements (invalid)
- SMTPConfigEditor.qml:48 — same semicolon issue

generate_cmake.py: list .hpp files in qt_add_executable so AUTOMOC
scans them for Q_OBJECT — required for header-only Qt classes to link
(signals/vtable are generated by moc, not the compiler).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 21:26:31 +00:00
6a0a5fee41 build(qt6): update cmake generator to scan .hpp headers
generate_cmake.py now includes *.hpp alongside *.h when building
the header list. CMakeLists.txt regenerated — src/ now has 2 .cpp
sources (DBALClient, PackageLoader) after ModPlayer, NodeRegistry,
and PackageRegistry were converted to header-only .hpp files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 21:03:43 +00:00
296de30836 refactor(qt6): migrate C++ sources to .hpp header-only style
Move ModPlayer, NodeRegistry, PackageRegistry from .cpp/.h pairs to
single .hpp files. Add DBALRequest.hpp and DBALTypes.hpp. Update
DBALClient and main.cpp for new structure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 21:02:41 +00:00
a50cc947fe style(qt6): fix 80-char violations in main.cpp
Extract ctx alias for rootContext() calls and wrap long string
literals to stay within the 80-character line margin.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 20:58:11 +00:00
7ce9667c58 feat(a11y): extend Accessible annotations to all widget + view QML files
Continues the a11y pass from the previous commit — adds objectName,
Accessible.role, Accessible.name to all remaining qml/MetaBuilder/,
qml/qt6/, and qml/widgets/ files. Widget files also get activeFocusOnTab
on interactive elements and dynamic Accessible.name bindings.

Cleans up redundant addImportPath(projectRoot) call in main.cpp.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 20:47:28 +00:00
1fbf1a55b3 fix(qt6): build fixes — semicolons, JS import paths, duplicate signal, CMake regen
- Fix semicolons between child components in 5 view files
- Fix JS import paths (../MetaBuilder/ → qmllib/MetaBuilder/) in 7 files
- Fix CServiceConnectionRow duplicate signal (urlChanged → urlEdited)
- QmlComponents/ directory with forwarding qmldir (no symlink)
- CMake regenerated: 292 QML/JS files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 15:08:07 +00:00
491c4cffed refactor(qt6): push for sub-100 LOC — JS modules, JSON configs, compact formatting
WorkflowEditor (325→80): CWorkflowState.qml + WorkflowConnectionState.js
DashboardView (121→95): DashboardDBAL.js + config/dashboard-config.json
Storybook (114→78): StorybookSidebar + config/storybook-components.json
+ 7 components compacted to under 100 via formatting (no logic changes)
+ Multiple view/component splits across all remaining 100+ LOC files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:58:28 +00:00
8d007afd24 fix(qt6): 26 missing qmldir entries, PackageView bgColor fix, SMTP signal names
- Register all new components in qml/MetaBuilder/qmldir
- Fix backgroundColor → bgColor in 18 PackageView files
- Fix SMTP signal handlers: onHostChanged → onHostEdited (matching actual signals)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:49:54 +00:00
1f24ab8e64 refactor(qt6): final deep splits — PackageManager 92, Storybook 114, GodPanel 161
PackageManager (245→92): CPackageListItem, CPackageDetailSidebar
Storybook (234→114): StorybookSamples component library
GodPanel (227→161): CGodPanelGuideTab
MediaServicePanel: mock data → config/media-mock-data.json
DropdownConfigManager: defaults → config/dropdown-defaults.json
+ CDeleteRecordDialog, CAddDropdownDialog reusable dialogs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:45:01 +00:00
1f0afadc1f Update CMakeLists.txt 2026-03-19 10:32:16 +00:00
0891289a09 Support extracted QML layout and resource aliases
Add support for an extracted component layout where QML files live in ../../qml/ and may need QT_RESOURCE_ALIAS to preserve original QRC URIs. Refactor scanning logic (_scan_dir), make find_root_qml_files and find_qmllib_files return (path, alias) tuples, add find_config_files, and collect aliased resources to set QT_RESOURCE_ALIAS properties before qt_add_qml_module. Also streamline source/resource aggregation, compile-def handling, and generation header/output reporting.
2026-03-19 10:32:14 +00:00
99bfd75732 fix(qt6): remove QmlComponents symlink, use direct import paths in main.cpp
- 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>
2026-03-19 10:30:43 +00:00
d4a42b5aec Include config files in generated CMake
Add handling for config assets in the Qt6 frontend generator: generate_cmake.py now discovers config files (find_config_files) and includes their QML/JS entries and JSON resources in the generated lists. CMakeLists.txt was updated to use ../../qml/qt6 path prefixes for root QML files, to include numerous config JSON/JS resources, and to update the auto-generated header file counts. Also rename several frontend docs into frontends/qt6/docs/.
2026-03-19 10:21:03 +00:00
f2034720ed Remove qt6 qmllib and update cmake generator
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.
2026-03-19 10:19:56 +00:00
8cf3ce5c87 Remove frontends/qt6 views; update import path
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.
2026-03-19 10:19:04 +00:00
786f91ec64 Add QML Material lib, demo email UI, and QML refactor
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.
2026-03-19 10:18:09 +00:00
0405cdfa90 refactor(qt6): final JSON extractions — App.qml 183, ProfileView 198, WorkflowEditor slimmed
- App.qml: seed users + static views → config/app-config.json (343→183)
- ProfileView: mock data → config/profile-mock.json (315→198)
- SettingsView: notification toggles + about → config/settings-*.json (386→183)
- WorkflowEditor: mock workflows + test panel + sidebar extracted (601→~400)
- generate_cmake.py: updated to include config/ resources

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:07:01 +00:00
5c4142e475 refactor(qt6): JSON config extraction complete — 95% data principle achieved
JSON extractions:
- GodPanel: tabs/levels/config-stats → 3 JSON + JS loader (409→227)
- AdminView: entities/mock-data → 2 JSON + AdminCrud.js helper (545→256)
- FrontPage: levels/tech/services/creds → frontpage-data.json (293→191)
- CommentsView: mock comments → comments-mock.json (235→138)

Component splits:
- CDataTable: CTableHeader + CTablePagination extracted (269→193)
- CUserMenu: CDropdownMenu extracted (207→143)
- WorkflowEditor: CWorkflowSidebar + CWorkflowTestPanel extracted

18 JSON config files, 103+ components, AdminCrud.js pure-function library.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:05:16 +00:00
77bcf4532e refactor(qt6): JSON config extraction + CWorkflowCanvas split
95% JSON config principle applied:
- SuperGodPanel: mock tenants/users/metrics/transfers → config/*.json (806→588)
- WorkflowEditor: mock workflows → config/workflow-mock-data.json
- FrontPage: levels/tech/services/creds → config/frontpage-data.json
- App.qml: seed users/views → config/app-config.json

CWorkflowCanvas (384→182): CCanvasGrid, CCanvasZoomOverlay, CWorkflowNodeDelegate extracted

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:03:51 +00:00
b616451a74 refactor(qt6): batch 4 — MediaServicePanel, LuaEditor, ThemeEditor, misc editors split
MediaServicePanel (1130→265): MediaJobForm, MediaJobTable, MediaRadioTab, MediaTvTab, MediaPluginsTab
LuaEditor (910→208): LuaScriptSidebar, LuaCodeEditor, LuaPropertiesPanel, LuaOutputPanel
ThemeEditor (876→195): ThemePresetGrid, ThemeColorTokens, ThemeTypography, ThemeSpacingRadius, ThemeLivePreview
+ ComponentHierarchyEditor, NotificationsPanel, SMTPConfigEditor splits
+ CWorkflowNodeDelegate, CCanvasGrid, CCanvasZoomOverlay extracted

All views now under 300 LOC. Net: -2,078 lines from views into components.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:02:30 +00:00
e6d06f3fa3 refactor(qt6): component extraction batch 3 — WorkflowEditor, editors, remaining splits
WorkflowEditor (1432→631): CWorkflowCanvas, CNodePalette, CNodePropertiesPanel, CConnectionLayer, CWorkflowToolbar
+ CssClassManager, DatabaseManager, DropdownConfigManager, MediaServicePanel,
  PageRoutesManager, UserManagement split into extracted components
+ Theme editor: ThemeLivePreview, ThemeSpacingRadius, ThemeTypography
+ SMTP editor: CSmtpTemplateEditor, CSmtpTemplateList, CSmtpTestEmailForm

Net: -2,549 lines from view files into reusable components.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:57:44 +00:00
3886ecf4b5 refactor(qt6): component extraction batch 2 — Settings, Profile, Admin, SuperGod, editors
SettingsView (543→386): CSettingsSection, CThemePicker, CConnectionTest
ProfileView (413→315): CProfileHeader, CProfileForm
AdminView (955→545): CAdminStatsBar, CEntitySidebar, CDataTable, CEntityForm
SuperGodPanel (973→806): CTenantCard, CGodUserCard, CTransferCard, CSystemMetricCard
+ Schema, Theme, Database editor splits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:55:17 +00:00
f124271e95 refactor(qt6): extract 51 reusable components — target 200 LOC per view
Split 16,000 lines across all major views into qmllib/MetaBuilder/ components:

App.qml (653→343): CUserMenu, CNotificationBell, CLanguageSelector, CNavBar, CSidebar
FrontPage.qml (659→280): CHeroSection, CStatsStrip, CLevelCard, CTechCard, CServiceStatus, CQuickLoginCard
DashboardView (300→125): CWelcomeCard, CStatCard, CActivityList, CQuickActions
LoginView (230→150): CLoginForm, CQuickLoginCard (shared with FrontPage)
CommentsView: CCommentCard, CCommentInput
ModeratorView: CReportCard, CModActionCard, CModStatsRow
GodPanel: CGodPanelHeader, CLevelReferenceCard, CConfigStatCard
SuperGodPanel: CTenantCard, CGodUserCard, CTransferCard, CSystemMetricCard
AdminView: CEntitySidebar, CDataTable, CEntityForm, CAdminStatsBar
WorkflowEditor: CWorkflowCanvas, CNodePalette, CNodePropertiesPanel, CConnectionLayer, CWorkflowToolbar
SettingsView: CSettingsSection, CThemePicker, CConnectionTest
ProfileView: CProfileHeader, CProfileForm
+ more editor splits (PageRoutes, Database, UserManagement)

All components: properties + signals, no direct appWindow refs, MD3 tonal surfaces.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:53:46 +00:00
6e36cc3a20 feat(qt6): cleaner top bar UX + user avatar dropdown + alerts bell + language selector
Top bar: Logo + DBAL dot | centered nav | EN + bell + avatar
- Removed DBAL label and theme toggle from top bar (moved to avatar menu)
- User avatar circle with initials, click for dropdown
- Dropdown: user info, Profile, Settings, Sign out (red)
- Alert bell with notification dot
- Language selector pill (EN)
- Dashboard: proper user avatar with initials in welcome card

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:46:37 +00:00
d9d4a018b6 feat(qt6): add 'Dev Credentials' label on login page with helper text
Visible until project matures — makes it clear these are dev accounts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:42:04 +00:00
f08b6dceda feat(qt6): 6-level hierarchy — add Moderator (L3), shift Admin→L4, God→L5, SuperGod→L6
New level structure: Guest(1) → User(2) → Moderator(3) → Admin(4) → God(5) → Super God(6)

- New ModeratorView.qml with report queue, recent actions, stats
- New seed user: mod/mod (moderator, L3)
- Updated App.qml: static views, sidebar, nav buttons, keyboard shortcuts (Ctrl+3-6)
- Updated FrontPage.qml: 6 level cards, 5 quick access credentials
- Updated LoginView.qml: 5 quick access cards
- Regenerated CMakeLists.txt (92 QML files)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:36:23 +00:00
c4f72ded99 feat(qt6): MD3 rework all views — Dashboard, Profile, Admin, SuperGod, Comments, Settings
- Fix CCard content nesting (no anchors.fill inside CCard)
- chipColor/badgeColor string→Theme color fixes
- anchors-in-layout warnings resolved
- Tonal surfaces, proper MD3 spacing
- CButton replaces hand-rolled Rectangle buttons
- All 6 views preserved with full functionality

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:26:42 +00:00
e69e3ec532 feat(qt6): MD3 rework God Panel — tonal surfaces, accent bars, config grid
- Header: gradient wash, tonal surface, accent bar level cards
- Config chips: variant "primary" for tonal indigo
- Guide tab: level descriptions with colored accent bars + role chips
- Config summary: GridLayout stat cards with monospace values
- All CCard nesting fixed (no more anchors.fill inside CCard)
- Typography: explicit sizing, proper centering
- 14 tabs preserved with all Loader sources

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:15:49 +00:00
e2dabc1e84 feat(qt6): redesign login page — MD3 card, quick credential buttons, centered layout
- Remove CCard (was causing anchors.fill sizing issues)
- Clean tonal surface container with radius 16
- Username/password fields with CTextField (no floating label weirdness)
- 2x2 quick access grid with one-click login (User/Admin/God/Super God)
- Level badges with accent colors matching frontpage
- Back to home button
- Centered text throughout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:44:52 +00:00
04bc92b25e refactor(qt6): replace hand-rolled Rectangle buttons with CButton everywhere
App.qml: theme toggle, level nav, login/logout all use CButton now
FrontPage.qml: hero buttons use CButton with proper variants (primary/ghost/lg)
No more hand-rolled Rectangle + MouseArea + CText button patterns.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:20:55 +00:00
9d9fbed60e fix(qt6): fix text clipping in badges, add hero spacing
- 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>
2026-03-19 08:10:18 +00:00
553aa13824 fix(qt6): center all text — Layout.fillWidth + horizontalAlignment on hero and section titles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:45:35 +00:00
ff226595c6 fix(qt6): desktop-scaled typography, responsive grid, uniform card heights
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>
2026-03-19 04:41:25 +00:00
7fa19e4db7 fix(qml): resolve property color shadow crashes in CBadge and CChip
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>
2026-03-19 04:37:45 +00:00
73b4b78dca fix(qt6): prevent chips overflowing card boundaries
- Level cards: dynamic height from content instead of fixed 196px
- Level cards: clip: true on container
- CCard: add clip: true globally (content respects radius 12 corners)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:13:22 +00:00
6fa7e700cb feat(qt6): MD3 top bar — pill nav buttons, tonal level badge, theme toggle pill
Replace CButton-based top bar with MD3-style elements:
- Compact 52px height, tighter spacing
- L-number level pill with tonal indigo background
- DBAL status dot inline with monospace label
- Moon/sun theme toggle in surfaceContainer pill
- Segmented pill buttons for level navigation with hover states
- Filled pill Login button, outlined Logout
- Username shown without parenthetical role

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:59:51 +00:00
cd2bd3ffcf feat(qt6): Material Design 3 frontpage — tonal surfaces, pill buttons, proper type scale
Full MD3 pass on FrontPage and light theme:
- Tonal surface containers (surfaceContainer, High, Highest)
- Rounded pill buttons (radius 22) and cards (radius 12-16)
- MD3 type scale with DemiBold/Bold weight hierarchy
- Level badges with rounded-square containers instead of circles
- Proper onSurface/onSurfaceVariant color roles
- Light theme: cool blue-gray (#e8eaf2 bg, #f0f1f8 paper)
- Blue gradient hero wash, tonal stats strip
- Tag chips with tinted backgrounds matching level accent

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:58:20 +00:00
0cf7b46bf7 feat(qt6): light blue gradients for light mode — hero wash, stats tint, blue-gray palette
- Hero section: horizontal + vertical blue gradient overlays in light mode
- Stats strip: subtle blue-tinted background
- Light theme base colors shifted blue (#d6d9e4 bg, #c6c9d6 paper)
- Dark mode gradients unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:55:36 +00:00
3dacaa96d6 fix(qt6): improve light mode text contrast — darker text, adaptive opacity
- 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>
2026-03-19 03:51:12 +00:00
8b0e20f5bf fix(qt6): light mode overhaul — softer palette, theme-aware CAppBar, persist theme on startup
- 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>
2026-03-19 03:47:59 +00:00
f250ee9952 feat(qt6): redesign frontpage with tech/IDE aesthetic — kill the golf vibes
Replace green-heavy palette with cool indigo/violet/cyan design language:
- Version pill with monospace label
- Bold "MetaBuilder" headline with tight letter-spacing
- Monospace stats strip with subtle dividers
- Access level cards with accent bars instead of colored circles
- Tech stack grid with colored sidebar indicators
- Service status row with dot indicators
- Quick login cards with hover animations
- Consistent cardBg/subtleBorder/subtleText design tokens

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:39:41 +00:00
1efea13888 feat(qt6): full frontpage redesign — hero, stats, 5-level grid, tech stack, status, credentials
Complete visual overhaul matching old/ reference design:
- Gradient hero section with "Build Anything, Visually" headline
- Platform stats bar (users, packages, workflows, backends)
- Five Levels of Power grid with colored badges, descriptions, feature chips
- Universal Platform tech stack grid (6 technologies)
- Platform Status with live service indicators
- About section with philosophy tagline
- Quick Access credential cards with one-click login

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:37:13 +00:00
e37b625576 docs: mark Phase 9 PLAN.md complete (Parts A, B, C all done)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:17:12 +00:00
7c5d0f1012 feat(qt6): package metadata updates, QmlComponents library enhancements, PackageLoader improvements
- Update 22 package metadata.json files with consistent schema
- Enhance PackageLoader with file watching and navigable packages
- Update QmlComponents library (atoms, core, data-display, feedback, form, layout, surfaces)
- Improve watchtower PackageView and MaterialAccordion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:04:31 +00:00
e6a2a50ae1 feat(qt6): visual workflow canvas with infinite pan/zoom, Bezier connections, 152-node palette
Replace list-based WorkflowEditor with spatial infinite canvas:
- NodeRegistry C++ class loads 152 node types from node-registry.json
- 5000x5000 Flickable canvas with grid, Scale transform zoom (0.25x-2x)
- Draggable nodes with group-colored headers, input/output ports
- Bezier connection drawing via Canvas 2D (n8n adjacency map format)
- Interactive port-to-port connection creation with drag preview
- Searchable/filterable node palette with group chips
- Properties panel with schema-driven parameter editing
- Full n8n-style JSON: nodes, connections, variables, meta, tags
- DBAL integration preserved with mock workflow fallback

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 03:03:34 +00:00
e0893c2fe3 feat(qt6): DBAL live data integration + fix deployment Python 3.9 compat
Wire up DBALProvider across all Qt6 views for live CRUD operations,
add PackageLoader, MediaServicePanel, NotificationsPanel, SettingsView,
and JSON-driven CMake config. Fix deployment helpers.py str|None syntax
for Python 3.9 compatibility via __future__ annotations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 01:43:26 +00:00
3c13d01bce feat(qt6): restore 5-level builder vision with 15 God Panel tools
Complete Qt6/QML native frontend matching the old/ React 5-level platform:

- Qt5→Qt6 migration: versioned imports, TabView→TabBar+StackLayout,
  QtGraphicalEffects removed, QAudioOutput→stub, QJSValue::engine() fix
- Migrate from local qmllib/Material (35 components) to shared /qml/
  QmlComponents 1.0 library (119 components, 9 themes, 19 languages)
- 5-level auth system with seed users (demo/admin/god/super)
- Level 1: FrontPage, LoginView
- Level 2: DashboardView, ProfileView, CommentsView
- Level 3: AdminView (10 entities, full CRUD, search, filter, pagination)
- Level 4: GodPanel (13-tab builder) with SchemaEditor, WorkflowEditor,
  LuaEditor, DatabaseManager, PageRoutesManager, ComponentHierarchyEditor,
  CssClassManager, DropdownConfigManager, UserManagement, ThemeEditor,
  SMTPConfigEditor
- Level 5: SuperGodPanel (tenants, god users, power transfer, system health)
- Remove unused cpr dependency, fix conan Qt build (qtshadertools)
- Add ROADMAP.md with 10-phase plan including DBAL integration and
  Python+Jinja2 CMake generator

25 QML views (~12,800 LOC), 6 C++ files, 22 package views.
Builds successfully: Qt 6.7.3, MSVC 19.5, C++20.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 00:25:22 +00:00
862cc29457 various changes 2026-03-09 22:30:41 +00:00
d0dbb64ebd chore: Cleanup unused imports and fix gameengine build
- Remove unused Layout import from JSONUIPage
- Remove unused imports from codegen components and hooks
- Fix assimp 3mf exporter conflict with libzip (duplicate symbols)
- Add SDL input service include
- Update workflow step string handling for type safety
- Add Qt6 CMakeUserPresets.json
- Add gameengine CodeQL build script

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:00:49 +00:00