Skip to content

Commit 6f79410

Browse files
committed
feat(note): add initial Vix Note foundation
1 parent 7fb9815 commit 6f79410

53 files changed

Lines changed: 14513 additions & 2 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# Changelog
2+
3+
All notable changes to Vix Note will be documented in this file.
4+
5+
The format follows a simple versioned changelog style.
6+
7+
## v0.1.0
8+
9+
### Added
10+
11+
- Added the initial Vix Note module foundation.
12+
- Added the public umbrella header:
13+
- `include/vix/note/note.hpp`
14+
15+
- Added module version metadata:
16+
- `include/vix/note/Version.hpp`
17+
18+
- Added core note error support:
19+
- `NoteError`
20+
- `NoteErrorCode`
21+
22+
- Added core result and output models:
23+
- `NoteResult`
24+
- `NoteResultStatus`
25+
- `NoteOutput`
26+
- `NoteOutputKind`
27+
28+
- Added the note cell model:
29+
- markdown cells
30+
- Reply cells
31+
- C++ cells
32+
- HTML cells
33+
- cell ids
34+
- cell titles
35+
- execution counts
36+
- cell outputs
37+
38+
- Added the note document model:
39+
- document id
40+
- document title
41+
- document path
42+
- ordered cell storage
43+
- execution counter
44+
- cell insertion
45+
- cell removal
46+
- cell lookup by index or id
47+
48+
- Added the markdown-compatible `.vixnote` parser.
49+
- Added parser options for:
50+
- automatic cell id assignment
51+
- title inference from the first markdown heading
52+
53+
- Added `.vixnote` storage support:
54+
- load from disk
55+
- save to disk
56+
- atomic write option
57+
- parent directory creation
58+
- serialization back to markdown-compatible text
59+
60+
- Added C++ cell execution through `vix run`.
61+
- Added runtime session support:
62+
- mutable document state
63+
- execution records
64+
- output application
65+
- execution count tracking
66+
67+
- Added the high-level note kernel:
68+
- run one cell
69+
- run all cells
70+
- run executable cells only
71+
- stop on first failure option
72+
- non-executable skipped-cell option
73+
74+
- Added embedded web asset support:
75+
- default index HTML
76+
- default CSS
77+
- default JavaScript
78+
- asset lookup
79+
- asset content type detection
80+
81+
- Added local UI route resolver:
82+
- static asset routes
83+
- `/api/document`
84+
- `/api/cells/<index>/run`
85+
- `/api/run-all`
86+
87+
- Added local server facade:
88+
- server lifecycle state
89+
- start
90+
- stop
91+
- restart
92+
- local URL generation
93+
- route forwarding
94+
95+
- Added static HTML exporter:
96+
- standalone HTML export
97+
- fragment export
98+
- markdown rendering
99+
- code cell rendering
100+
- HTML cell rendering
101+
- output rendering
102+
- custom CSS option
103+
104+
- Added browser UI assets:
105+
- `assets/index.html`
106+
- `assets/css/note.css`
107+
- `assets/js/note.js`
108+
109+
- Added example note documents:
110+
- `examples/hello.vixnote`
111+
- `examples/learning_cpp.vixnote`
112+
- `examples/vix_ui_note.vixnote`
113+
114+
- Added CMake build configuration.
115+
- Added CMake test configuration.
116+
- Added CMake example file copying configuration.
117+
- Added README documentation.
118+
- Added roadmap documentation.
119+
120+
### Design
121+
122+
- Established Vix Note as a UI-first notebook foundation.
123+
- Clarified that Vix Note is not a replacement for `vix repl`.
124+
- Kept C++ cell execution aligned with normal Vix CLI behavior by delegating to `vix run`.
125+
- Kept the first server layer backend-independent through `NoteRoutes` and `NoteServer`.
126+
- Kept `.vixnote` files readable as markdown-compatible documents.
127+
128+
### Current Limitations
129+
130+
- Reply cells are recognized but not fully executed yet.
131+
- `NoteServer` is currently a lifecycle and routing facade, not a concrete socket-binding HTTP server.
132+
- The browser UI is static and prepared for later API integration.
133+
- Markdown rendering in the HTML exporter supports only a small dependency-free subset.
134+
- C++ cell execution currently depends on the `vix` command being available.
135+
136+
### Planned Next
137+
138+
- Connect `NoteServer` to the real Vix HTTP server layer.
139+
- Add a CLI command such as `vix note <file.vixnote>`.
140+
- Load real `.vixnote` documents into the browser UI.
141+
- Connect browser actions to note API routes.
142+
- Add real Reply cell execution through Vix Reply.
143+
- Improve compiler and runtime error display.
144+
- Improve HTML export rendering.

0 commit comments

Comments
 (0)