Commit Graph

14 Commits

Author SHA1 Message Date
rob 6650280421 fix: Use item state polling for tooltip hover detection
Modal dialogs may block hover handler events, so now check
dpg.get_item_state("dictate_btn")["hovered"] in the main loop
instead of relying solely on the hover handler callback.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:40:12 -04:00
rob b06b3f98b1 feat: Custom sticky tooltip for Dictate button with fade-out
- Tooltip appears on hover and stays while mouse is still
- Starts 2-second fade when mouse moves or button is clicked
- Custom popup window instead of built-in tooltip for better control
- Automatically cleaned up when dialog closes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 13:05:32 -04:00
rob d30013778b feat: Add tooltip with dictation instructions to Dictate button
Explains double-click vs click-and-hold modes and the tip about
typing at insertion point first to set cursor position.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:58:31 -04:00
rob f063739348 feat: Cursor-aware dictation insertion for walkie-talkie mode
- Walkie-talkie mode: inserts transcribed text at cursor position
- Continuous mode: appends transcribed text to end
- Tracks approximate cursor position by detecting where text edits occur
- Adds appropriate spacing around inserted text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:15:37 -04:00
rob a2d6cb6f3c feat: Add dual-mode dictation (walkie-talkie + continuous)
- Press and hold: walkie-talkie mode, records while held, transcribes on release
- Double-click: continuous mode (existing behavior), click again to stop
- Uses Dear PyGui item handlers for mouse down/up detection
- Visual feedback shows current mode on button label

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 03:13:41 -04:00
rob 57efe6c931 feat: Implement continuous dictation with chunked transcription
- Add ContinuousRecorder class using sounddevice for gapless audio capture
- Record continuously and extract 10-second chunks with 0.5s overlap
- Overlap prevents words from being cut off at chunk boundaries
- Transcription happens in parallel with recording
- Text appears incrementally as chunks complete
- Add sounddevice and numpy as GUI dependencies

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 03:03:10 -04:00
rob 55aec4c7f2 refactor: Rename SmartTools to CmdForge throughout codebase
- Rename smarttools/ directory to cmdforge/
- Update all Python imports and references
- Update documentation (CLAUDE.md, README.md, docs/*.md)
- Update Docker and build configs
- Update discussion files
- Improve dictation error handling in GUI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 02:15:24 -04:00
rob a39253c893 feat: Add cleanup command and improve artifact editor integration
Features:
- Add `discussions cleanup` command to find orphaned diagrams
  - Scans all discussions for DIAGRAM: references
  - Lists unreferenced files in diagrams/ folders with sizes
  - --delete flag removes orphans with confirmation prompt
- New Discussion dialog now shows and allows changing save location
- Add Browse button to select output directory for new discussions

Fixes:
- Fix silent failure when artifact-editor not installed (now shows error)
- Fix silent failure when artifact-editor missing GUI deps (PyQt6)
- Add error logging for subprocess failures in artifact editor

Dependencies:
- smarttools now installed automatically from git URL
- artifact-editor included in [gui] extra
- PyQt6/QScintilla included for artifact-editor GUI support

Also:
- Add diagrams/ to .gitignore (generated test artifacts)
- Update README with simplified installation instructions
- Document cleanup command in README and CLAUDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:07:44 -04:00
rob c592b93597 fix: VariableStore.get() default parameter and Docker improvements
- Add default parameter to VariableStore.get() method
- Install nano in Docker for TUI editor support
- Install dearpygui in Docker for GUI support
- Add GUI library dependencies (libgl1, libegl1, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 11:57:05 -04:00
rob a39103c2ca Add missing participant SmartTools
Added 7 additional AI participants:
- discussion-backend: Backend/API perspective
- discussion-designer: Visual/UX design perspective
- discussion-devops: Infrastructure/deployment perspective
- discussion-frontend: Frontend/UI perspective
- discussion-performance: Performance/optimization perspective
- discussion-qa: Testing/quality perspective
- discussion-ux: User experience perspective

These are now bundled with the project and will be installed
automatically when building the Docker container.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:28:57 -04:00
rob 896f855738 docs: Add Docker section and fix repo URLs
- Added Docker instructions for testing without local install
- Fixed URLs to point to Gitea instead of GitHub

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:22:02 -04:00
rob 0ee6e8ac7e Simplify docker-compose.yml to focus on this project only
Removed cross-project dependencies. Now clones SmartTools from Gitea
during build. Each project is self-contained and testable independently.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 01:01:53 -04:00
rob 6d9f32b20c Complete implementation with Docker support
- Full discussion orchestration system
- GUI (Dear PyGui) and TUI (urwid) interfaces
- 14 SmartTools for parsing, voting, participants
- Docker and docker-compose for testing
- Templates for feature and brainstorm workflows
- Auto phase advancement on consensus

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:40:25 -04:00
rob 3b0c0339f7 Initial project structure for Orchestrated Discussions
- Core modules: markers, voting, participant, discussion, runner, cli
- Bundled participants: architect, security, pragmatist, etc.
- Example discussion file demonstrating format
- Comprehensive design document
- Basic test suite for markers and voting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 07:57:43 -04:00