Releases: Jeevan-04/cpp-notebook
Releases · Jeevan-04/cpp-notebook
v0.1.0 — Alpha: Persistent-State C++ Notebook
🛠 Version 0.1.0 — Alpha: Native Interactive C++ Notebook
This release marks the first public snapshot of cpp-notebook.
The system has been developed and used locally prior to this release; this version formalizes the project with a proper release process and documentation.
cpp-notebook is a native, interactive C++ notebook environment designed for exploratory programming with persistent state in compiled C++.
✨ What’s Included
Core Features
- Interactive notebook UI built with Dear ImGui and SDL2
- Cell-based C++ execution using a persistent global translation unit
- Variables, functions, and classes persist across cell executions
- Automatic regeneration and recompilation of program state on each run
Editor & Documentation
- Syntax-highlighted C++ editor (C++20-compatible, compiler-dependent)
- Markdown cells with live preview toggle
- Notebook-style keyboard shortcuts (e.g. Shift+Enter to execute)
Developer Tools
- Real-time variable inspection with type and value display
- Function and class outline panels
- Execution timing and structured error reporting
- Color-coded output for successful and failed executions
Build System
- CMake-based build system
- Supported platforms: macOS and Linux
- Dependencies: SDL2, Dear ImGui, ImGuiColorTextEdit
🚧 Known Limitations
- No interactive debugger (breakpoints or stepping)
- Limited multi-file or project-level support
- Compilation latency increases as the execution context grows
- No package or dependency manager integration
- Error messages lack precise source-to-cell line mapping
🎯 Planned for Future Releases
- Save and load notebook files (
.cppnbformat) - Export notebooks to standalone
.cppor Markdown - ImPlot-based visualization support
- Auto-completion and IntelliSense-style hints
- Faster compilation via precompiled headers