mirror of
https://github.com/m1ngsama/TUT.git
synced 2026-02-08 00:54:05 +00:00
docs: Update STATUS.md to reflect interactive features
Updated development status to v0.2.0-alpha with all interactive features now working: ✅ Content scrolling (j/k, g/G, Space/b) ✅ Link navigation (Tab, numbers, Enter) ✅ Address bar ('o' to open) ✅ Back navigation (Backspace) ✅ Refresh (r/F5) ✅ Real-time status display The browser is now fully usable for interactive web browsing! See KEYBOARD.md for complete keyboard shortcuts.
This commit is contained in:
parent
c965472ac5
commit
4aae1fa7dc
1 changed files with 58 additions and 44 deletions
102
STATUS.md
102
STATUS.md
|
|
@ -1,6 +1,6 @@
|
||||||
# TUT Browser - Development Status
|
# TUT Browser - Development Status
|
||||||
|
|
||||||
## ✅ Working Features (v0.1.0-alpha)
|
## ✅ Working Features (v0.2.0-alpha) - INTERACTIVE!
|
||||||
|
|
||||||
### Core Functionality
|
### Core Functionality
|
||||||
- ✅ **HTTP/HTTPS Client** - Fully functional with cpp-httplib
|
- ✅ **HTTP/HTTPS Client** - Fully functional with cpp-httplib
|
||||||
|
|
@ -28,13 +28,15 @@
|
||||||
- Parses HTML with renderer
|
- Parses HTML with renderer
|
||||||
- Resolves relative URLs
|
- Resolves relative URLs
|
||||||
- Error handling for failed requests
|
- Error handling for failed requests
|
||||||
|
- Back/forward navigation history
|
||||||
|
|
||||||
- ✅ **UI Framework** - FTXUI-based interface
|
- ✅ **Interactive UI** - Fully keyboard-driven navigation
|
||||||
- btop-style four-panel layout
|
- **Content Scrolling** - j/k, g/G, Space/b for navigation
|
||||||
- Address bar input
|
- **Link Navigation** - Tab, number keys (1-9), Enter to follow
|
||||||
- Content display area
|
- **Address Bar** - 'o' to open, type URL, Enter to navigate
|
||||||
- Status panels
|
- **Browser Controls** - Backspace to go back, r/F5 to refresh
|
||||||
- Keyboard shortcuts (q to quit, Enter to navigate)
|
- **Real-time Status** - Load stats, scroll position, selected link
|
||||||
|
- **Visual Feedback** - Navigation button states, link highlighting
|
||||||
|
|
||||||
### Build & Deployment
|
### Build & Deployment
|
||||||
- ✅ Binary size: **827KB** (well under 1MB target!)
|
- ✅ Binary size: **827KB** (well under 1MB target!)
|
||||||
|
|
@ -45,27 +47,25 @@
|
||||||
|
|
||||||
## ⚠️ Known Limitations
|
## ⚠️ Known Limitations
|
||||||
|
|
||||||
### UI Components (Not Yet Implemented)
|
### UI Components (Not Yet Fully Implemented)
|
||||||
- ⚠️ **Link Navigation** - Links are extracted and numbered, but not yet clickable in UI
|
- ⚠️ **Bookmark System** - Partially implemented
|
||||||
- `setLinks()` and `onLinkClick()` methods declared but not implemented
|
- No persistence layer yet
|
||||||
- Tab/Shift+Tab navigation not working yet
|
- No UI panel for managing bookmarks
|
||||||
- Number key shortcuts not working yet
|
- Keyboard shortcuts not connected
|
||||||
|
|
||||||
- ⚠️ **Bookmark System** - Declared but not implemented
|
- ⚠️ **History Panel** - Backend works, UI not implemented
|
||||||
- `setBookmarks()` method exists but no UI implementation
|
- Back navigation works with Backspace
|
||||||
- No persistence layer
|
- No visual history panel (F3)
|
||||||
|
- No persistence across sessions
|
||||||
- ⚠️ **History** - Declared but not implemented
|
|
||||||
- `setHistory()` method exists but no UI implementation
|
|
||||||
- No back/forward navigation in UI (though engine supports it)
|
|
||||||
|
|
||||||
- ⚠️ **Scrolling** - Content view not scrollable yet
|
|
||||||
- j/k, g/G shortcuts not implemented
|
|
||||||
- Page up/down not working
|
|
||||||
|
|
||||||
- ⚠️ **Search** - Not implemented
|
- ⚠️ **Search** - Not implemented
|
||||||
- / search command not working
|
- / search command not working
|
||||||
- n/N navigation not working
|
- n/N navigation not working
|
||||||
|
- No highlight of matches
|
||||||
|
|
||||||
|
- ⚠️ **Forward Navigation** - Not yet wired up
|
||||||
|
- Forward button shows but doesn't work
|
||||||
|
- Engine supports it, just needs UI connection
|
||||||
|
|
||||||
### Feature Gaps
|
### Feature Gaps
|
||||||
- ⚠️ No form support (input fields, buttons, etc.)
|
- ⚠️ No form support (input fields, buttons, etc.)
|
||||||
|
|
@ -75,23 +75,11 @@
|
||||||
|
|
||||||
## 🎯 Next Steps Priority
|
## 🎯 Next Steps Priority
|
||||||
|
|
||||||
### Phase 1: Core Interactive Features (High Priority)
|
### Phase 1: Polish Interactive Features (High Priority)
|
||||||
1. **Implement Content Scrolling** (src/ui/content_view.cpp)
|
|
||||||
- Add scroll position tracking
|
|
||||||
- Implement j/k, g/G, Space, b keyboard shortcuts
|
|
||||||
- Add scrollbar indicator
|
|
||||||
|
|
||||||
2. **Implement Link Navigation** (src/ui/main_window.cpp)
|
1. **Wire Up Forward Navigation** (src/main.cpp)
|
||||||
- Implement `setLinks()` to store link list
|
- Connect forward button click to engine.goForward()
|
||||||
- Implement `onLinkClick()` callback
|
- Add keyboard shortcut (maybe Shift+Backspace or Alt+→)
|
||||||
- Add Tab/Shift+Tab navigation
|
|
||||||
- Add number key shortcuts (1-9 to jump to links)
|
|
||||||
- Highlight selected link
|
|
||||||
|
|
||||||
3. **Wire Up Back/Forward** (src/main.cpp)
|
|
||||||
- Connect back/forward buttons to engine
|
|
||||||
- Add Backspace shortcut
|
|
||||||
- Update navigation buttons state
|
|
||||||
|
|
||||||
### Phase 2: Enhanced UX (Medium Priority)
|
### Phase 2: Enhanced UX (Medium Priority)
|
||||||
4. **Implement Search** (src/ui/content_view.cpp)
|
4. **Implement Search** (src/ui/content_view.cpp)
|
||||||
|
|
@ -134,12 +122,23 @@
|
||||||
|
|
||||||
Test 1: TLDP HOWTO index - ✅ PASSED
|
Test 1: TLDP HOWTO index - ✅ PASSED
|
||||||
Test 2: example.com - ✅ PASSED
|
Test 2: example.com - ✅ PASSED
|
||||||
|
|
||||||
|
Interactive test:
|
||||||
|
./build_ftxui/tut https://tldp.org/HOWTO/HOWTO-INDEX/howtos.html
|
||||||
|
|
||||||
|
✅ Scrolling with j/k - WORKS
|
||||||
|
✅ Tab to cycle links - WORKS
|
||||||
|
✅ Press '1' to jump to link 1 - WORKS
|
||||||
|
✅ Enter to follow link - WORKS
|
||||||
|
✅ Backspace to go back - WORKS
|
||||||
|
✅ 'r' to refresh - WORKS
|
||||||
|
✅ 'o' to open address bar - WORKS
|
||||||
```
|
```
|
||||||
|
|
||||||
Successfully browses:
|
Successfully browses:
|
||||||
- https://tldp.org/HOWTO/HOWTO-INDEX/howtos.html
|
- https://tldp.org/HOWTO/HOWTO-INDEX/howtos.html ⭐ FULLY INTERACTIVE
|
||||||
- https://example.com
|
- https://example.com ⭐ FULLY INTERACTIVE
|
||||||
- Any static HTML page
|
- Any static HTML page ⭐ FULLY INTERACTIVE
|
||||||
|
|
||||||
## 🚀 Quick Start
|
## 🚀 Quick Start
|
||||||
|
|
||||||
|
|
@ -157,6 +156,21 @@ cmake --build build_ftxui -j$(nproc)
|
||||||
|
|
||||||
## 📝 Notes
|
## 📝 Notes
|
||||||
|
|
||||||
The core browsing engine is **fully functional** - we can fetch, parse, and render web pages. The main work remaining is implementing the interactive UI components that are already architected but not yet coded.
|
**THE BROWSER IS NOW FULLY INTERACTIVE AND USABLE!** 🎉
|
||||||
|
|
||||||
The codebase is clean, well-structured, and ready for the next phase of development!
|
You can actually browse the web with TUT:
|
||||||
|
- Load pages via HTTP/HTTPS
|
||||||
|
- Scroll content with vim-style keys
|
||||||
|
- Navigate between links with Tab or numbers
|
||||||
|
- Follow links by pressing Enter
|
||||||
|
- Go back in history with Backspace
|
||||||
|
- Enter new URLs with 'o' key
|
||||||
|
- See real-time load stats
|
||||||
|
|
||||||
|
The core experience is complete! Remaining work is mostly enhancements:
|
||||||
|
- Search within pages
|
||||||
|
- Persistent bookmarks and history
|
||||||
|
- Form support
|
||||||
|
- Better styling
|
||||||
|
|
||||||
|
See [KEYBOARD.md](KEYBOARD.md) for complete keyboard shortcuts reference.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue