You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[x]**Line count & character count in status bar**
12
12
Display total lines, character count, and current cursor position (Ln, Col) at the bottom of the editor pane — gives users immediate awareness of code size and cursor location, just like VS Code.
13
13
14
14
-[x]**Download code button**
15
-
Add a toolbar button to save the current editor content as a `.java` file to the user's machine — eliminates the need to manually copy-paste code out of the visualizer.
15
+
Toolbar icon button saves the current editor content as a `.java` file named after the class. Also triggered via `Cmd/Ctrl+S`.
16
16
17
17
-[x]**Fullscreen toggle**
18
-
Add a button to expand the editor or the entire app to fullscreen mode — provides a distraction-free environment for focused coding and visualization.
18
+
Toolbar button expands the entire app to browser fullscreen mode. Icon switches between Maximize/Minimize. Also triggered via `F11`.
19
19
20
20
-[x]**Keyboard shortcuts**
21
-
Implement common editor shortcuts: `Cmd/Ctrl+Enter`to Compile & Run, `Cmd/Ctrl+S`to download the file, `Cmd/Ctrl+/`to toggle line comments, `Cmd/Ctrl+Z`/`Cmd/Ctrl+Shift+Z`for undo/redo — accelerates workflow for power users and makes the editor feel professional.
21
+
`Cmd/Ctrl+Enter`(Compile & Run), `Cmd/Ctrl+S`(Download), `Cmd/Ctrl+/`(Toggle comment), `Cmd/Ctrl+Z`(Undo),`Cmd/Ctrl+Shift+Z`(Redo), `Tab` (Indent), `F11` (Fullscreen). Shortcut hints displayed in the status bar.
22
22
23
23
---
24
24
25
-
## Medium Features (Meaningful Upgrades)
25
+
## Medium Features (Meaningful Upgrades) — 3 of 5 COMPLETE
26
26
27
-
-[]**Step-through variable diff**
28
-
When stepping forward or backward, highlight exactly which variable changed with a before→after animation (not just showing current values) — makes it immediately obvious what each line of code did to the program state.
27
+
-[x]**Step-through variable diff**
28
+
Before→after diff pills (`13 → 21`), delta badges (`+8`), `NEW` badges for declarations, changes summary header, array cell diff with previous value strikethrough, pulse animations on changed cards.
29
29
30
-
-[]**Execution path visualization**
31
-
Add a minimap or margin indicator showing which lines were executed vs skipped (e.g., greyed-out lines that were never reached) — helps users understand control flow, especially in programs with conditionals and early returns.
30
+
-[x]**Execution path visualization**
31
+
Green execution stripes in gutter, execution count badges for looped lines, dimmed never-reached lines with "not reached" tags, coverage percentage indicator with mini progress bar in step bar.
32
32
33
33
-[ ]**Breakpoint-aware auto-play**
34
34
Make auto-play pause at breakpoints instead of stepping through every line — allows users to set breakpoints on interesting lines and "fast-forward" to them, mimicking a real debugger experience.
35
35
36
36
-[ ]**Multi-tab editor**
37
37
Support opening multiple files simultaneously with tabs in the editor pane — useful when users load several `.java` files from disk and want to switch between them without losing their place.
38
38
39
-
-[]**Undo/Redo**
40
-
Implement `Cmd/Ctrl+Z` for undo and `Cmd/Ctrl+Shift+Z` for redo in the code editor — essential for a comfortable editing experience, especially when experimenting with code changes.
39
+
-[x]**Undo/Redo**
40
+
100-entry history stack with `updateCode()` wrapper, `handleUndo()`/`handleRedo()` navigation, history reset on example/file load. Intercepts browser's native `Cmd+Z`.
41
41
42
42
---
43
43
@@ -73,7 +73,7 @@ This document tracks all planned features for the Java Code Visualizer, organize
73
73
74
74
---
75
75
76
-
## Interpreter Enhancements
76
+
## Interpreter Enhancements — 4 of 7 COMPLETE
77
77
78
78
-[ ]**Multi-line comment support**
79
79
Handle `/* */` block comments spanning multiple lines — currently only single-line `//` comments are fully supported.
@@ -87,14 +87,17 @@ This document tracks all planned features for the Java Code Visualizer, organize
87
87
-[ ]**Try/catch/finally**
88
88
Add exception handling support — enables programs that gracefully handle errors, which is fundamental to real-world Java programming.
89
89
90
-
-[]**ArrayList and HashMap**
91
-
Add basic support for `ArrayList` and `HashMap` from `java.util` — the most commonly used Java collections that students encounter early on.
90
+
-[x]**ArrayList and HashMap**
91
+
Full ArrayList (16 methods), HashMap (15 methods), StringBuilder (13 methods), Collections (8 static methods) support with proper state snapshots and deep-copying. Also supports `new ArrayList<>(Arrays.asList(...))` constructor pattern.
92
92
93
-
-[]**String formatting**
94
-
Support `String.format()` and `System.out.printf()`— commonly used in Java for formatted output.
-[ ]**Multiple classes / static methods across classes**
97
-
Allow programs with helper classes or utility methods defined outside `main` — enables more realistic Java program structures.
96
+
-[x]**Comprehensive standard library**
97
+
Math (17 methods + PI, E), Integer/Long/Double/Float/Byte/Short (methods + constants + SIZE/BYTES), Character (11 methods), String (17 new instance methods + 3 static), Arrays (8 utility methods), wrapper type declarations, number instance methods (.intValue(), .doubleValue(), etc.).
98
+
99
+
-[x]**Inline comment stripping**
100
+
`stripInlineComment()` handles `//` comments after statements while preserving `//` inside string literals (e.g., URLs). Applied during parsing before any pattern matching.
98
101
99
102
---
100
103
@@ -119,8 +122,8 @@ This document tracks all planned features for the Java Code Visualizer, organize
119
122
120
123
## Completed Features ✓
121
124
125
+
### Core Engine (v1.0)
122
126
-[x] Java Interpreter Engine (primitives, arrays, methods, recursion, control flow)
123
-
-[x] Dark/Light theme toggle with Sun/Moon animation
124
127
-[x] Syntax-highlighted code editor with Fira Code font
125
128
-[x] Line numbers with clickable breakpoints
126
129
-[x] Variables tab with array cell visualization and change highlighting
@@ -130,15 +133,58 @@ This document tracks all planned features for the Java Code Visualizer, organize
130
133
-[x] Step Forward/Back, Auto Play/Pause, Reset
131
134
-[x] Speed slider for auto-play
132
135
-[x] 9 built-in example programs with descriptive class names
133
-
-[x] Scanner/keyboard input support (nextInt, nextDouble, nextLine, next, nextBoolean)
134
-
-[x] Inline input display in Output tab (inputs appear after prompts)
136
+
137
+
### UI/Theme (v2.0–v12.0)
138
+
-[x] Dark/Light theme toggle with Sun/Moon animation
0 commit comments