bigbrotherr commited on
Commit
d03c1cb
Β·
verified Β·
1 Parent(s): cb1531a

--- Change Log Entry: 2025-10-26 03:18:42 ---

Browse files

- Fixed a syntax error in `JCodeBrowserRuntime.js` by correctly closing the `if` block and adding a complete implementation for the `ai_call` case.

--- Change Log Entry: 2025-10-26 02:18:59 ---
- Created a unified VariableInputField component that automatically registers all variables in the Variable Browser
- Enhanced Variable Browser to show variables from the currently focused/selected block's scope
- Added scope context awareness - shows variables relevant to the current block being edited
- All blocks that save results now properly register variables through the unified system
- Function scope variables now appear when editing/viewing that function
- Global toggle variables properly appear in both local and global scopes
- Simplified maintenance by using a single variable input component across all blocks

--- Change Log Entry: 2025-10-26 01:53:21 ---
- Created new VariableBrowser component with real-time variable tracking and scope awareness
- Added Variable Browser panel on the right side of the Main Flow view
- Integrated variable registration system in runtime to track all variable definitions and their evaluated values
- Enhanced InputEnhancer to support variable selection from the browser
- Added variable scope tracking (global, local/function, loop iterations)
- Implemented click-to-insert functionality for variables with proper ${} formatting
- Added visual indicators for variable types and current values
- Integrated with debugger to show live variable updates during execution

--- Change Log Entry: 2025-10-26 01:16:10 ---
- Added event listener for 'ui-input-request' events to handle prompt/confirm UI
- Created custom UI in console for user input with proper input field and buttons
- Connected UI responses back to the runtime callback to complete the async flow

--- Change Log Entry: 2025-10-26 01:09:16 ---
- Added event listener to global scope toggle in LetBlock to trigger code execution on change
- Added event listener to global scope toggle in DefBlock to trigger code execution on change

--- Change Log Entry: 2025-10-26 00:57:04 ---
- Fixed function hoisting: Functions are now collected before execution, allowing calls before definition
- Fixed global variable scope: Variables marked as global inside functions now properly accessible in outer scopes
- Improved scope management to handle nested function calls with global variable declarations

--- Change Log Entry: 2025-10-26 00:45:18 ---
- Fixed LetBlock: Global scope toggle now works correctly by properly handling scope in runtime
- Fixed DefBlock: Global scope toggle now works correctly for function definitions
- Fixed PromptConfirmBlock: Implemented custom UI in console using event-driven approach
- Added lock icon button to block headers to prevent dragging/moving blocks
- Fixed KeyValueEditor: Add Pair button now stays visible after adding pairs
- Enhanced base.js to support block locking functionality
- Added lock icons (lockOpen and lockClosed) to icons.js

--- Change Log Entry: 2025-10-26 00:44:28 ---
- Fixed LetBlock: Global scope toggle now works correctly by properly handling scope in runtime
- Fixed DefBlock: Global scope toggle now works correctly for function definitions
- Fixed PromptConfirmBlock: Implemented custom UI in console using event-driven approach
- Added lock icon button to block headers to prevent dragging/moving blocks
- Fixed KeyValueEditor: Add Pair button now stays visible after adding pairs
- Enhanced base.js to support block locking functionality

--- Change Log Entry: 2025-10-26 00:16:21 ---
- Fixed a bug in the Array Utility block where using a literal array (e.g., `[1, 2, 3]`) as the source would fail with a "Source must be an array" error.
- Corrected the behavior of array manipulation functions to prevent unintended side-effects; operations like `push` and `sort` now work on a copy of the source array, leaving the original variable unchanged. Operations like `pop` and `shift` correctly modify the source variable as expected.

--- Change Log Entry: 2025-10-25 22:17:51 ---
- Added a 'Global Scope' toggle button to 'Let (Set Variable)' blocks to control variable scope.
- Function blocks (`def`) are now created with a random default name to prevent conflicts.
- Added a 'Global Scope' toggle button to 'Define Function' blocks to control function visibility.
- Updated 'Prompt' and 'Confirm' blocks to interact with the console UI instead of using native browser dialogs.
- Fixed a bug in 'String Utility' and 'Array Utility' blocks where changing the selected operation would duplicate input fields.

--- Change Log Entry: 2025-10-25 21:27:29 ---
- Added the ability to move files/folders to the root directory by dragging them onto the file path display.
- Implemented a "Copy Path" button for all files and folders.
- Replaced the emoji icons for "Rename" and "Delete" with clearer SVG icons for a consistent UI.
- Added new SVG icons for the copy and rename actions.

--- Change Log Entry: 2025-10-25 21:19:11 ---
- Implemented drag-and-drop functionality in the file browser to move files and folders.
- Folders now act as drop targets, with visual highlighting when you hover over them with a dragged item.
- The virtual file system has been updated with logic to handle moving items between directories, including necessary validation (e.g., preventing a folder from being moved into itself).
- The application state (like the path of the currently open file) is now correctly updated when an item is moved.

--- Change Log Entry: 2025-10-25 21:15:18 ---
- Fixed a bug where tab content would not appear after the recent UI update for the file system and text editor. The JavaScript logic for showing and hiding tab panels has been corrected to work with the new HTML structure.

--- Change Log Entry: 2025-10-25 21:11:49 ---
- Implemented a hierarchical file system with folder support.
- Redesigned the "File System" tab with a graphical file/folder browser UI.
- Added a full-featured text editor for creating and modifying non-JCode files (e.g., .txt, .md).
- Updated the Virtual File System to handle paths, different file types, and recursive operations.
- Added new icons for folders, JCode files, and generic text files.
- Integrated the text editor seamlessly, allowing users to switch between the visual builder and the text editor.

--- Change Log Entry: 2025-10-25 20:47:22 ---
- Updated the layout for the "Expression (Operators)" view in the `ExpressionBuilder` to be horizontal for a more compact and intuitive UI.
- Corrected a bug in the `ExpressionBuilder` that mishandled expression parsing and operator state, ensuring proper functionality when loading and creating expressions.

--- Change Log Entry: 2025-10-25 20:40:35 ---
- Enhanced `ExpressionBuilder` to be more robust by adding a toggle button for switching between single-line and multi-line input for literal values.
- Updated the UI to provide a more intuitive and flexible layout for editing expressions.
- Added new icons for the single-line/multi-line toggle button.
- Introduced new CSS styles to support the UI enhancements in `ExpressionBuilder`.

--- Change Log Entry: 2025-10-25 20:10:30 ---
-I am fixing this by adding logic to `_evalExpr` to detect multi-keyed objects or single-keyed objects that are not recognized JCode operators, and treating them as object literals that require recursive property evaluation before proceeding to process standard operator arguments.

--- Change Log Entry: 2025-10-25 19:41:20 ---
- Fixed the runtime error by implementing the required `readFileContent` method in `VirtualFileSystem.js`. This method returns the raw JSON content of a file (the `content` property which holds `{vars, program}`), which is then processed by `JCodeBrowserRuntime`'s `read_file` handler.
- Confirmed and refined the CSV implementation in `JCodeBrowserRuntime.js`:
- Adjusted the CSV stringify logic to correctly handle arrays of objects without requiring a manual header line in the source data.
- Updated CSV parsing to use the delimiter correctly and handle potential trailing empty lines.

--- Change Log Entry: 2025-10-25 19:26:12 ---
- Added `PromptConfirmBlock` for user interaction (browser `prompt` and `confirm` dialogs).
- Added `ReadFileBlock` to read content from the Virtual File System (VFS).
- Added `CsvBlock` to handle CSV data parsing and stringification.
- Updated `JCodeVisualBuilder/js/view/icons.js` with new icons for these blocks.
- Updated `JCodeVisualBuilder/js/view/blocks/index.js` and `JCodeVisualBuilder/js/viewModel/app.js` to register the new blocks in the toolbox.
- Implemented the execution logic for `prompt_confirm`, `read_file`, and `csv_utility` commands in `JCodeBrowserRuntime.js`, including basic CSV parsing/stringifying and VFS interaction.

--- Change Log Entry: 2025-10-25 19:05:08 ---
- Implemented the execution logic for the four new utility blocks (`string_utility`, `array_utility`, `math_utility`, `date_utility`) within `JCodeBrowserRuntime.js`.
- Added a private helper function `_simpleDateFormat` to handle basic date formatting, required by the `DateBlock`.
- The handlers correctly evaluate source expressions and arguments, perform the specified utility operation, handle potential errors (e.g., non-array source for array ops), save the result to the designated variable, and report the outcome to the visual debugger.

--- Change Log Entry: 2025-10-25 18:58:59 ---
- Fixed an issue where new utility blocks failed to display their UI components on the canvas because they did not override the base `render()` method.
- Added a `render()` implementation to `StringBlock`, `ArrayBlock`, `MathBlock`, and `DateBlock` to explicitly call `super.render()` (to build the base command block structure) followed by `this.renderContent()` (to populate the block-specific inputs and controls).

--- Change Log Entry: 2025-10-25 18:56:04 ---
- Registered new utility blocks (`StringBlock`, `ArrayBlock`, `MathBlock`, `DateBlock`) in `app.js` and `index.js` to make them available in the UI toolbox.
- Updated the `toJSON` method in all four new utility block files to correctly wrap the block data under snake_case keys (`string_utility`, `a

Files changed (9) hide show
  1. README.md +7 -4
  2. changelog.html +90 -0
  3. components/footer.js +60 -0
  4. components/navbar.js +72 -0
  5. features.html +169 -0
  6. index.html +97 -19
  7. script.js +62 -0
  8. style.css +90 -18
  9. timeline.html +133 -0
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Jcode Evolution Tracker
3
- emoji: 😻
4
  colorFrom: green
5
- colorTo: purple
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: JCode Evolution Tracker πŸš€
 
3
  colorFrom: green
4
+ colorTo: red
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
changelog.html ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Full Change Log - JCode Evolution Tracker</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ </head>
13
+ <body class="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900 to-violet-900">
14
+ <custom-navbar></custom-navbar>
15
+
16
+ <main class="container mx-auto px-4 py-8">
17
+ <div class="text-center mb-12">
18
+ <h1 class="text-4xl md:text-6xl font-bold text-white mb-4">
19
+ Complete Change Log
20
+ </h1>
21
+ <p class="text-xl text-gray-300 max-w-3xl mx-auto">
22
+ Every change, enhancement, and bug fix documented throughout the JCode Visual Builder development journey
23
+ </p>
24
+ </div>
25
+
26
+ <!-- Search and Filter -->
27
+ <div class="mb-8">
28
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
29
+ <div class="flex flex-col md:flex-row gap-4 items-center">
30
+ <input type="text" placeholder="Search changes..." class="flex-1 bg-black/30 border border-white/20 rounded-lg px-4 py-2 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary">
31
+ <select class="bg-black/30 border border-white/20 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary">
32
+ <option value="all">All Changes</option>
33
+ <option value="feature">New Features</option>
34
+ <option value="bugfix">Bug Fixes</option>
35
+ <option value="enhancement">Enhancements</option>
36
+ </select>
37
+ </div>
38
+ </div>
39
+
40
+ <!-- Change Log Entries -->
41
+ <div class="space-y-6">
42
+ <!-- October 26, 2025 -->
43
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
44
+ <div class="flex items-center justify-between mb-4">
45
+ <div class="text-primary font-bold text-lg">2025-10-26</div>
46
+ <div class="space-y-4">
47
+ <div class="border-l-4 border-primary pl-4">
48
+ <div class="text-white font-semibold mb-2">03:18:42 - Variable Browser & Scope System</div>
49
+ <p class="text-gray-300">Fixed syntax error in JCodeBrowserRuntime.js and completed implementation for ai_call case</p>
50
+ </div>
51
+ <div class="border-l-4 border-secondary pl-4">
52
+ <div class="text-white font-semibold mb-2">02:18:59 - Unified Variable Input System</div>
53
+ <p class="text-gray-300">Created unified VariableInputField component that automatically registers all variables</div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+ <!-- October 25, 2025 -->
59
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
60
+ <div class="flex items-center justify-between mb-4">
61
+ <div class="text-secondary font-bold text-lg">2025-10-25</div>
62
+ <div class="space-y-4">
63
+ <div class="border-l-4 border-green-400 pl-4">
64
+ <div class="text-white font-semibold mb-2">22:17:51 - File System & Global Scope</div>
65
+ <p class="text-gray-300">Added global scope toggle to LetBlock and DefBlock, updated Prompt/Confirm blocks</div>
66
+ </div>
67
+ </div>
68
+
69
+ <!-- October 24, 2025 -->
70
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
71
+ <div class="flex items-center justify-between mb-4">
72
+ <div class="text-purple-400 font-bold text-lg">2025-10-24</div>
73
+ <div class="space-y-4">
74
+ <div class="border-l-4 border-purple-400 pl-4">
75
+ <div class="text-white font-semibold mb-2">19:33:59 - Tabbed Interface & Color Coding</div>
76
+ <p class="text-gray-300">Implemented tabbed interface with color-coded commands and improved navigation</div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </main>
82
+
83
+ <custom-footer></custom-footer>
84
+
85
+ <script src="components/navbar.js"></script>
86
+ <script src="components/footer.js"></script>
87
+ <script src="script.js"></script>
88
+ <script>feather.replace();</script>
89
+ </body>
90
+ </html>
components/footer.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: rgba(0, 0, 0, 0.3);
8
+ backdrop-filter: blur(10px);
9
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
10
+ color: white;
11
+ padding: 2rem;
12
+ text-align: center;
13
+ margin-top: auto;
14
+ }
15
+ .footer-content {
16
+ max-width: 1200px;
17
+ margin: 0 auto;
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 1rem;
21
+ }
22
+ .footer-links {
23
+ display: flex;
24
+ justify-content: center;
25
+ gap: 2rem;
26
+ flex-wrap: wrap;
27
+ }
28
+ .footer-links a {
29
+ color: rgba(255, 255, 255, 0.7);
30
+ text-decoration: none;
31
+ transition: color 0.3s ease;
32
+ }
33
+ .footer-links a:hover {
34
+ color: white;
35
+ }
36
+ @media (max-width: 768px) {
37
+ footer {
38
+ padding: 1.5rem 1rem;
39
+ }
40
+ .footer-links {
41
+ gap: 1rem;
42
+ }
43
+ }
44
+ </style>
45
+ <footer>
46
+ <div class="footer-content">
47
+ <div class="footer-links">
48
+ <a href="/">Home</a>
49
+ <a href="/timeline.html">Timeline</a>
50
+ <a href="/features.html">Features</a>
51
+ <a href="/changelog.html">Full Log</a>
52
+ </div>
53
+ <p>&copy; 2024 JCode Evolution Tracker. Tracking the journey of visual programming innovation.</p>
54
+ </div>
55
+ </footer>
56
+ `;
57
+ }
58
+ }
59
+
60
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ background: rgba(255, 255, 255, 0.1);
8
+ backdrop-filter: blur(10px);
9
+ border-bottom: 1px solid rgba(255, 255, 255, 0.2);
10
+ padding: 1rem 2rem;
11
+ display: flex;
12
+ justify-content: space-between;
13
+ align-items: center;
14
+ position: sticky;
15
+ top: 0;
16
+ z-index: 1000;
17
+ }
18
+ .logo {
19
+ color: white;
20
+ font-weight: bold;
21
+ font-size: 1.5rem;
22
+ background: linear-gradient(135deg, #667eea, #764ba2);
23
+ -webkit-background-clip: text;
24
+ -webkit-text-fill-color: transparent;
25
+ background-clip: text;
26
+ }
27
+ ul {
28
+ display: flex;
29
+ gap: 2rem;
30
+ list-style: none;
31
+ margin: 0;
32
+ padding: 0;
33
+ }
34
+ a {
35
+ color: white;
36
+ text-decoration: none;
37
+ transition: all 0.3s ease;
38
+ padding: 0.5rem 1rem;
39
+ border-radius: 0.5rem;
40
+ font-weight: 500;
41
+ }
42
+ a:hover {
43
+ background: rgba(255, 255, 255, 0.1);
44
+ }
45
+ a.active {
46
+ background: linear-gradient(135deg, #667eea, #764ba2);
47
+ }
48
+ @media (max-width: 768px) {
49
+ nav {
50
+ padding: 1rem;
51
+ flex-direction: column;
52
+ gap: 1rem;
53
+ }
54
+ ul {
55
+ gap: 1rem;
56
+ }
57
+ }
58
+ </style>
59
+ <nav>
60
+ <div class="logo">JCode Evolution</div>
61
+ <ul>
62
+ <li><a href="/">Home</a></li>
63
+ <li><a href="/timeline.html">Timeline</a></li>
64
+ <li><a href="/features.html">Features</a></li>
65
+ <li><a href="/changelog.html">Full Log</a></li>
66
+ </ul>
67
+ </nav>
68
+ `;
69
+ }
70
+ }
71
+
72
+ customElements.define('custom-navbar', CustomNavbar);
features.html ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Feature Catalog - JCode Evolution Tracker</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ </head>
13
+ <body class="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900 to-violet-900">
14
+ <custom-navbar></custom-navbar>
15
+
16
+ <main class="container mx-auto px-4 py-8">
17
+ <div class="text-center mb-12">
18
+ <h1 class="text-4xl md:text-6xl font-bold text-white mb-4">
19
+ Feature Catalog
20
+ </h1>
21
+ <p class="text-xl text-gray-300 max-w-3xl mx-auto">
22
+ Comprehensive overview of all major features implemented in JCode Visual Builder
23
+ </p>
24
+ </div>
25
+
26
+ <!-- Feature Categories -->
27
+ <div class="grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6">
28
+ <!-- Core Development -->
29
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
30
+ <div class="flex items-center gap-3 mb-4">
31
+ <i data-feather="code" class="text-primary"></i>
32
+ <h2 class="text-xl font-semibold text-white">Core Development</h2>
33
+ </div>
34
+ <ul class="space-y-3 text-gray-300">
35
+ <li class="flex items-center gap-2">
36
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
37
+ Visual Debugger
38
+ </li>
39
+ <li class="flex items-center gap-2">
40
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
41
+ Variable Browser
42
+ </li>
43
+ <li class="flex items-center gap-2">
44
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
45
+ Expression Builder
46
+ </li>
47
+ </ul>
48
+ </div>
49
+
50
+ <!-- File System -->
51
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
52
+ <div class="flex items-center gap-3 mb-4">
53
+ <i data-feather="folder" class="text-secondary"></i>
54
+ <h2 class="text-xl font-semibold text-white">File System</h2>
55
+ </div>
56
+ <ul class="space-y-3 text-gray-300">
57
+ <li class="flex items-center gap-2">
58
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
59
+ Hierarchical File Browser
60
+ </li>
61
+ <li class="flex items-center gap-2">
62
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
63
+ Text Editor
64
+ </li>
65
+ <li class="flex items-center gap-2">
66
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
67
+ Drag & Drop File Management
68
+ </li>
69
+ </ul>
70
+ </div>
71
+
72
+ <!-- UI/UX -->
73
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
74
+ <div class="flex items-center gap-3 mb-4">
75
+ <i data-feather="layout" class="text-purple-400"></i>
76
+ <h2 class="text-xl font-semibold text-white">UI/UX Enhancements</h2>
77
+ </div>
78
+ <ul class="space-y-3 text-gray-300">
79
+ <li class="flex items-center gap-2">
80
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
81
+ Dark Theme
82
+ </li>
83
+ <li class="flex items-center gap-2">
84
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
85
+ Tabbed Interface
86
+ </li>
87
+ <li class="flex items-center gap-2">
88
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
89
+ Color-coded Commands
90
+ </li>
91
+ </ul>
92
+ </div>
93
+
94
+ <!-- Utility Blocks -->
95
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
96
+ <div class="flex items-center gap-3 mb-4">
97
+ <i data-feather="tool" class="text-orange-400"></i>
98
+ <h2 class="text-xl font-semibold text-white">Utility Blocks</h2>
99
+ </div>
100
+ <ul class="space-y-3 text-gray-300">
101
+ <li class="flex items-center gap-2">
102
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
103
+ String Operations
104
+ </li>
105
+ <li class="flex items-center gap-2">
106
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
107
+ Array Manipulation
108
+ </li>
109
+ <li class="flex items-center gap-2">
110
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
111
+ Math Functions
112
+ </li>
113
+ </ul>
114
+ </div>
115
+
116
+ <!-- Advanced Features -->
117
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
118
+ <div class="flex items-center gap-3 mb-4">
119
+ <i data-feather="zap" class="text-yellow-400"></i>
120
+ <h2 class="text-xl font-semibold text-white">Advanced Features</h2>
121
+ </div>
122
+ <ul class="space-y-3 text-gray-300">
123
+ <li class="flex items-center gap-2">
124
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
125
+ Function Call Graphs
126
+ </li>
127
+ <li class="flex items-center gap-2">
128
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
129
+ Comment Blocks
130
+ </li>
131
+ <li class="flex items-center gap-2">
132
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
133
+ Modular Programming
134
+ </li>
135
+ </ul>
136
+ </div>
137
+
138
+ <!-- Bug Fixes -->
139
+ <div class="feature-card bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
140
+ <div class="flex items-center gap-3 mb-4">
141
+ <i data-feather="shield" class="text-red-400"></i>
142
+ <h2 class="text-xl font-semibold text-white">Bug Fixes</h2>
143
+ </div>
144
+ <ul class="space-y-3 text-gray-300">
145
+ <li class="flex items-center gap-2">
146
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
147
+ Scope Management
148
+ </li>
149
+ <li class="flex items-center gap-2">
150
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
151
+ Variable Handling
152
+ </li>
153
+ <li class="flex items-center gap-2">
154
+ <i data-feather="check" class="text-green-400 w-4 h-4"></i>
155
+ Expression Evaluation
156
+ </li>
157
+ </ul>
158
+ </div>
159
+ </div>
160
+ </main>
161
+
162
+ <custom-footer></custom-footer>
163
+
164
+ <script src="components/navbar.js"></script>
165
+ <script src="components/footer.js"></script>
166
+ <script src="script.js"></script>
167
+ <script>feather.replace();</script>
168
+ </body>
169
+ </html>
index.html CHANGED
@@ -1,19 +1,97 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>JCode Evolution Tracker</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ <script>
13
+ tailwind.config = {
14
+ theme: {
15
+ extend: {
16
+ colors: {
17
+ primary: '#667eea',
18
+ secondary: '#764ba2',
19
+ }
20
+ }
21
+ }
22
+ }
23
+ </script>
24
+ </head>
25
+ <body class="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900 to-violet-900">
26
+ <custom-navbar></custom-navbar>
27
+
28
+ <main class="container mx-auto px-4 py-8">
29
+ <!-- Hero Section -->
30
+ <section class="text-center mb-16">
31
+ <h1 class="text-5xl md:text-7xl font-bold text-white mb-6">
32
+ JCode Evolution Tracker
33
+ </h1>
34
+ <p class="text-xl md:text-2xl text-gray-300 mb-8 max-w-3xl mx-auto">
35
+ Visualize the journey of JCode Visual Builder development through interactive timelines and detailed change logs
36
+ </p>
37
+ <div class="flex flex-col sm:flex-row gap-4 justify-center">
38
+ <a href="/timeline.html" class="bg-primary hover:bg-primary/90 text-white px-8 py-4 rounded-lg font-semibold transition-all duration-300 transform hover:scale-105">
39
+ <i data-feather="clock" class="inline mr-2"></i>
40
+ Explore Timeline
41
+ </a>
42
+ <a href="/features.html" class="bg-secondary hover:bg-secondary/90 text-white px-8 py-4 rounded-lg font-semibold transition-all duration-300 transform hover:scale-105">
43
+ <i data-feather="star" class="inline mr-2"></i>
44
+ View Features
45
+ </a>
46
+ </div>
47
+ </section>
48
+
49
+ <!-- Stats Section -->
50
+ <section class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-16">
51
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
52
+ <div class="text-3xl font-bold text-white mb-2">50+</div>
53
+ <div class="text-gray-300">Change Log Entries</div>
54
+ </div>
55
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
56
+ <div class="text-3xl font-bold text-white mb-2">25+</div>
57
+ <div class="text-gray-300">Major Features</div>
58
+ </div>
59
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
60
+ <div class="text-3xl font-bold text-white mb-2">15+</div>
61
+ <div class="text-gray-300">Bug Fixes</div>
62
+ </div>
63
+ </section>
64
+
65
+ <!-- Recent Changes Preview -->
66
+ <section class="mb-16">
67
+ <h2 class="text-3xl font-bold text-white mb-8 text-center">Recent Milestones</h2>
68
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
69
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
70
+ <h3 class="text-xl font-semibold text-white mb-4">
71
+ <i data-feather="code" class="inline mr-2"></i>
72
+ Variable Browser & Scope
73
+ </h3>
74
+ <p class="text-gray-300 mb-4">Real-time variable tracking with scope awareness and click-to-insert functionality</p>
75
+ <div class="text-sm text-primary">2025-10-26</div>
76
+ </div>
77
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
78
+ <h3 class="text-xl font-semibold text-white mb-4">
79
+ <i data-feather="file" class="inline mr-2"></i>
80
+ File System & Text Editor
81
+ </h3>
82
+ <p class="text-gray-300 mb-4">Hierarchical file management with full-featured text editing</p>
83
+ <div class="text-sm text-secondary">2025-10-25</div>
84
+ </div>
85
+ </section>
86
+ </main>
87
+
88
+ <custom-footer></custom-footer>
89
+
90
+ <!-- Scripts -->
91
+ <script src="components/navbar.js"></script>
92
+ <script src="components/footer.js"></script>
93
+ <script src="script.js"></script>
94
+ <script>feather.replace();</script>
95
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
96
+ </body>
97
+ </html>
script.js ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Shared JavaScript across all pages
2
+
3
+ // Initialize application
4
+ document.addEventListener('DOMContentLoaded', function() {
5
+ console.log('JCode Evolution Tracker loaded');
6
+
7
+ // Add subtle animations to cards
8
+ const cards = document.querySelectorAll('.bg-white\\/10');
9
+ cards.forEach((card, index) => {
10
+ card.style.animationDelay = `${index * 0.1}s`;
11
+ card.classList.add('fade-in-up');
12
+ });
13
+
14
+ // Handle navigation active states
15
+ const currentPath = window.location.pathname;
16
+ const navLinks = document.querySelectorAll('a[href]');
17
+
18
+ navLinks.forEach(link => {
19
+ if (link.getAttribute('href') === currentPath) {
20
+ link.classList.add('active');
21
+ }
22
+ });
23
+ });
24
+
25
+ // Utility functions
26
+ const utils = {
27
+ // Format date for display
28
+ formatDate: (dateString) => {
29
+ const options = { year: 'numeric', month: 'long', day: 'numeric' };
30
+ return new Date(dateString).toLocaleDateString(undefined, options);
31
+ },
32
+
33
+ // Truncate text with ellipsis
34
+ truncateText: (text, maxLength = 100) => {
35
+ if (text.length <= maxLength) return text;
36
+ return text.substring(0, maxLength) + '...';
37
+ },
38
+
39
+ // Debounce function for performance
40
+ debounce: (func, wait) => {
41
+ let timeout;
42
+ return function executedFunction(...args) {
43
+ const later = () => {
44
+ clearTimeout(timeout);
45
+ func(...args);
46
+ };
47
+ clearTimeout(timeout);
48
+ timeout = setTimeout(later, wait);
49
+ };
50
+ },
51
+
52
+ // Generate random color
53
+ randomColor: () => {
54
+ const colors = ['#667eea', '#764ba2', '#f093fb', '#f5576c', '#4facfe', '#00f2fe'];
55
+ return colors[Math.floor(Math.random() * colors.length)];
56
+ }
57
+ };
58
+
59
+ // Export for module usage
60
+ if (typeof module !== 'undefined' && module.exports) {
61
+ module.exports = { utils };
62
+ }
style.css CHANGED
@@ -1,28 +1,100 @@
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
 
 
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Shared styles across all pages */
2
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
3
+
4
+ * {
5
+ margin: 0;
6
+ padding: 0;
7
+ box-sizing: border-box;
8
+ }
9
+
10
  body {
11
+ font-family: 'Inter', sans-serif;
12
+ overflow-x: hidden;
13
+ }
14
+
15
+ /* Custom scrollbar */
16
+ ::-webkit-scrollbar {
17
+ width: 8px;
18
+ }
19
+
20
+ ::-webkit-scrollbar-track {
21
+ background: rgba(255, 255, 255, 0.1);
22
+ border-radius: 4px;
23
+ }
24
+
25
+ ::-webkit-scrollbar-thumb {
26
+ background: rgba(255, 255, 255, 0.3);
27
+ border-radius: 4px;
28
+ }
29
+
30
+ ::-webkit-scrollbar-thumb:hover {
31
+ background: rgba(255, 255, 255, 0.5);
32
+ }
33
+
34
+ /* Glass morphism effects */
35
+ .glass {
36
+ background: rgba(255, 255, 255, 0.1);
37
+ backdrop-filter: blur(10px);
38
+ border: 1px solid rgba(255, 255, 255, 0.2);
39
+ }
40
+
41
+ /* Animations */
42
+ @keyframes fadeInUp {
43
+ from {
44
+ opacity: 0;
45
+ transform: translateY(30px);
46
+ }
47
+ to {
48
+ opacity: 1;
49
+ transform: translateY(0);
50
+ }
51
  }
52
 
53
+ .fade-in-up {
54
+ animation: fadeInUp 0.6s ease-out;
 
55
  }
56
 
57
+ /* Timeline specific styles */
58
+ .timeline-item {
59
+ position: relative;
60
+ padding-left: 2rem;
 
61
  }
62
 
63
+ .timeline-item::before {
64
+ content: '';
65
+ position: absolute;
66
+ left: 0;
67
+ top: 0;
68
+ bottom: 0;
69
+ width: 2px;
70
+ background: linear-gradient(to bottom, transparent, #667eea, #764ba2, transparent);
71
  }
72
 
73
+ .timeline-dot {
74
+ position: absolute;
75
+ left: -6px;
76
+ top: 0;
77
+ width: 14px;
78
+ height: 14px;
79
+ border-radius: 50%;
80
+ background: linear-gradient(135deg, #667eea, #764ba2);
81
+ border: 2px solid white;
82
  }
83
+
84
+ /* Feature cards */
85
+ .feature-card {
86
+ transition: all 0.3s ease;
87
+ }
88
+
89
+ .feature-card:hover {
90
+ transform: translateY(-5px);
91
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
92
+ }
93
+
94
+ /* Gradient text */
95
+ .gradient-text {
96
+ background: linear-gradient(135deg, #667eea, #764ba2);
97
+ -webkit-background-clip: text;
98
+ -webkit-text-fill-color: transparent;
99
+ background-clip: text;
100
+ }
timeline.html ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Development Timeline - JCode Evolution Tracker</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ </head>
13
+ <body class="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900 to-violet-900">
14
+ <custom-navbar></custom-navbar>
15
+
16
+ <main class="container mx-auto px-4 py-8">
17
+ <div class="text-center mb-12">
18
+ <h1 class="text-4xl md:text-6xl font-bold text-white mb-4">
19
+ Development Timeline
20
+ </h1>
21
+ <p class="text-xl text-gray-300 max-w-3xl mx-auto">
22
+ Follow the chronological progression of JCode Visual Builder from concept to sophisticated development platform
23
+ </p>
24
+ </div>
25
+
26
+ <!-- Timeline Container -->
27
+ <div class="max-w-4xl mx-auto">
28
+ <!-- October 26, 2025 -->
29
+ <div class="timeline-item mb-12">
30
+ <div class="timeline-dot"></div>
31
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20 ml-4">
32
+ <div class="flex items-center gap-4 mb-4">
33
+ <div class="text-primary font-bold text-lg">2025-10-26</div>
34
+ <div class="h-px flex-1 bg-gradient-to-r from-primary to-secondary"></div>
35
+ </div>
36
+ <h2 class="text-2xl font-semibold text-white mb-4">
37
+ <i data-feather="code" class="inline mr-2"></i>
38
+ Variable Browser & Scope System
39
+ </h2>
40
+ <div class="space-y-4">
41
+ <div class="bg-black/30 rounded-lg p-4">
42
+ <div class="flex items-center gap-2 mb-2">
43
+ <i data-feather="check-circle" class="text-green-400"></i>
44
+ <span class="text-white font-medium">Real-time Variable Tracking</span>
45
+ </div>
46
+ <p class="text-gray-300">Live variable updates with scope awareness and click-to-insert functionality</p>
47
+ </div>
48
+ <div class="bg-black/30 rounded-lg p-4">
49
+ <div class="flex items-center gap-2 mb-2">
50
+ <i data-feather="eye" class="text-blue-400"></i>
51
+ <span class="text-white font-medium">Scope Context Awareness</span>
52
+ </div>
53
+ <p class="text-gray-300">Variables show based on currently focused block's scope</p>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </div>
59
+
60
+ <!-- October 25, 2025 -->
61
+ <div class="timeline-item mb-12">
62
+ <div class="timeline-dot"></div>
63
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20 ml-4">
64
+ <div class="flex items-center gap-4 mb-4">
65
+ <div class="text-secondary font-bold text-lg">2025-10-25</div>
66
+ <div class="h-px flex-1 bg-gradient-to-r from-secondary to-purple-500"></div>
67
+ </div>
68
+ <h2 class="text-2xl font-semibold text-white mb-4">
69
+ <i data-feather="file" class="inline mr-2"></i>
70
+ File System & Text Editor
71
+ </h2>
72
+ <div class="space-y-4">
73
+ <div class="bg-black/30 rounded-lg p-4">
74
+ <div class="flex items-center gap-2 mb-2">
75
+ <i data-feather="folder" class="text-yellow-400"></i>
76
+ <span class="text-white font-medium">Hierarchical File Management</span>
77
+ </div>
78
+ <p class="text-gray-300">Complete file system with folder support and drag-and-drop</p>
79
+ </div>
80
+ <div class="bg-black/30 rounded-lg p-4">
81
+ <div class="flex items-center gap-2 mb-2">
82
+ <i data-feather="edit" class="text-green-400"></i>
83
+ <span class="text-white font-medium">Full-featured Text Editor</span>
84
+ </div>
85
+ <p class="text-gray-300">Built-in editor for creating and modifying non-JCode files</p>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+
92
+ <!-- October 24, 2025 -->
93
+ <div class="timeline-item mb-12">
94
+ <div class="timeline-dot"></div>
95
+ <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20 ml-4">
96
+ <div class="flex items-center gap-4 mb-4">
97
+ <div class="text-purple-400 font-bold text-lg">2025-10-24</div>
98
+ <div class="h-px flex-1 bg-gradient-to-r from-purple-400 to-pink-500"></div>
99
+ </div>
100
+ <h2 class="text-2xl font-semibold text-white mb-4">
101
+ <i data-feather="layers" class="inline mr-2"></i>
102
+ Architecture & Core Features
103
+ </h2>
104
+ <div class="space-y-4">
105
+ <div class="bg-black/30 rounded-lg p-4">
106
+ <div class="flex items-center gap-2 mb-2">
107
+ <i data-feather="git-branch" class="text-blue-400"></i>
108
+ <span class="text-white font-medium">MVVM Architecture</span>
109
+ </div>
110
+ <p class="text-gray-300">Restructured application into model-view-viewModel pattern</p>
111
+ </div>
112
+ <div class="bg-black/30 rounded-lg p-4">
113
+ <div class="flex items-center gap-2 mb-2">
114
+ <i data-feather="cpu" class="text-orange-400"></i>
115
+ <span class="text-white font-medium">Visual Debugger</span>
116
+ </div>
117
+ <p class="text-gray-300">Step-by-step execution with breakpoints and live variable inspection</p>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </main>
125
+
126
+ <custom-footer></custom-footer>
127
+
128
+ <script src="components/navbar.js"></script>
129
+ <script src="components/footer.js"></script>
130
+ <script src="script.js"></script>
131
+ <script>feather.replace();</script>
132
+ </body>
133
+ </html>