Phase 22
ANSI Escape
Learn how ANSI Escape fits into m3OS.
Learning goal
Understand ANSI Escape in m3OS.
Category
userspace
Components touched
Builds on
Unlocked by this phase
Why this phase matters
Learn how ANSI Escape fits into m3OS.
How it works in m3OS
The roadmap entry defines the learning scope for this phase; a deeper implementation doc has not been matched yet.
How it builds on earlier phases
This phase builds on TTY PTY and turns that foundation into ANSI Escape.
Implementation outline
- Implementation steps have not been extracted yet.
Task progress snapshot
No checklist tasks were discovered for this phase yet.
Documentation targets
- Documentation deliverables have not been listed yet.
Deferred follow-on work
- No deferred items were listed in the roadmap entry.
Source materials
- Roadmap entry not found.
- Implementation document
- Task list
Important code
Code spotlight cards
Code spotlight
Parser
The parser lives in kernel-core/src/fb.rs rather than in the kernel
Key files
- kernel-core/src/fb.rs — The parser lives in kernel-core/src/fb.rs rather than in the kernel
How real OSes differ
Success criteria
Related phases
Keep exploring the roadmap
Phase 22
CompleteTTY PTY
Give userspace programs a real terminal abstraction. The kernel's raw stdin buffer and hardcoded `stdin_feeder_task` are replaced by a proper TTY layer with a configurable line discipline. Programs can switch between cooked and raw mode via `tcgetattr` / `tcsetattr`, query the window size via `TIOCGWINSZ`, and detect whether they are attached to a terminal via `isatty`. The phase also lays the infrastructure for a future PTY master/slave pair.
Phase 23
CompleteSocket API
Expose the kernel's existing TCP/IP stack to userspace via standard Linux socket syscalls. At the end of this phase a userspace program can open a TCP connection, send an HTTP/1.0 request, and receive the response — entirely from ring-3 code, with no kernel modifications needed for each new network program. The `ping` shell builtin moves out of the kernel and into a standalone userspace ELF.