Skip to main content

New Commit: updated scratchpad

Repository: Hestenb62/_legacy_backup

Author: Hesten Berger

Commit Message: updated scratchpad

URL: https://github.com/Hestenb62/_legacy_backup/commit/f5e9b2c9eaa010ce6cf146d5d6eb70003cc4699f

Code Changes:

diff --git a/.agents/rules/planning-updates.md b/.agents/rules/planning-updates.md
index 60532f9..cd8a232 100644
--- a/.agents/rules/planning-updates.md
+++ b/.agents/rules/planning-updates.md
@@ -20,6 +20,7 @@ Whenever generating or updating an **Implementation Plan**, **Walkthrough**, **B
    ---
    title: "Descriptive Human-Readable Title"
    date: "YYYY-MM-DD"
+   version: "v2.5.0" # Active semantic version of the platform release (e.g. v2.5.0)
    category: "Walkthrough" # Allowed: "Walkthrough", "Implementation Plan", "Bugfix", "Architecture"
    tags: ["Tag1", "Tag2"]
    summary: "1-2 sentence executive summary of the plan or changes."
@@ -30,3 +31,22 @@ Whenever generating or updating an **Implementation Plan**, **Walkthrough**, **B
 3. **Portal Visibility**:
    - The Updates Portal at `/updates.php` and `/updates/` dynamically indexes and renders all files in `updates/docs/`.
    - Never finalize a task with planning or walkthrough information confined solely to chat messages.
+
+4. **Platform Version & Footer Release Info Synchronization**:
+   - Whenever platform features, major fixes, or architectural enhancements are made:
+     - Check and update the platform version constants in `src/header.php` and `src/footer.php`:
+       - `HL_SITE_VERSION`: Bump semantic version (e.g., `v2.4.0` -> `v2.5.0` for feature additions, `v2.5.1` for patch fixes).
+       - `HL_SITE_VERSION_DATE`: Reflect the current release month/year (e.g., `September 2026`).
+       - `HL_SITE_VERSION_LABEL`: Update human-readable release label (e.g., `September 2026 Release`).
+       - `HL_SITE_VERSION_SUMMARY`: Update the high-level release theme.
+     - Update the "What's in Version [X]" modal feature list in `src/footer.php` (`#footer-version-modal`) so that newly introduced capabilities are clearly documented in user-facing release notes.
+
+5. **Mandatory Help Center User Guides (`assets/text/hc-*.md`)**:
+   - Whenever introducing a new feature, study tool, or major platform enhancement:
+     - You MUST create or update a corresponding Markdown help article in `assets/text/hc-<feature-slug>.md`.
+     - Standard article structure:
+       - Level 2 heading: `## Feature Title`
+       - Executive overview explaining what the feature does and target users.
+       - Bullet list of core capabilities, keyboard shortcuts, and action buttons.
+       - Accessibility & UDL notes (screen reader support, font sizing, high contrast, offline access).
+     - Articles matching `assets/text/hc*.md` are automatically indexed, categorized, and rendered on [`pages/help-center.php`](file:///c:/Users/Heste/OneDrive/Documents/_legacy_backup/pages/help-center.php).
diff --git a/AGENTS.md b/AGENTS.md
index c9a10c3..f24e517 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -11,6 +11,7 @@
     ---
     title: "Descriptive Human-Readable Title"
     date: "YYYY-MM-DD"
+    version: "v2.5.0" # Active semantic version of the platform release (e.g. v2.5.0)
     category: "Walkthrough" # Walkthrough | Implementation Plan | Bugfix | Architecture
     tags: ["Tag1", "Tag2"]
     summary: "1-2 sentence executive summary of the changes."
@@ -19,6 +20,8 @@
     ```
   - All documents in `updates/docs/` are automatically indexed, searchable, and viewable on the Updates Portal at `/updates.php` and `/updates/`.
   - Never leave planning or walkthrough details solely in ephemeral chat context.
+- **Footer Version & Release Notes Sync**: Whenever platform features, major fixes, or updates are made, bump the platform version constants (`HL_SITE_VERSION`, `HL_SITE_VERSION_LABEL`, `HL_SITE_VERSION_SUMMARY`) in `src/header.php` and `src/footer.php`, and update the "What's New in Version [X]" modal feature list in `src/footer.php`.
+- **Help Center Articles Sync**: Whenever introducing or updating platform features or study tools, create or update a companion Help Center article in `assets/text/hc-<feature-slug>.md` so that the user-facing Help Center at `pages/help-center.php` remains complete and accurate.
 
 ## 2. Core Architectural Principles
 - **Offline Resiliency**: `offline.php` is the sole offline shell and service worker fallback. Never generate `offline.html`.
diff --git a/assets/css/components/fixed-tools.css b/assets/css/components/fixed-tools.css
index 038575b..6d53392 100644
--- a/assets/css/components/fixed-tools.css
+++ b/assets/css/components/fixed-tools.css
@@ -219,135 +219,334 @@
     }
   }
 
-  /* Scratchpad Panel Overlay */
+  /* ==========================================================================
+     Unified Super Scratchpad & Whiteboard Studio Styles
+     ========================================================================== */
   .scratchpad-panel-overlay {
     position: fixed;
     inset: 0;
-    z-index: 100;
+    z-index: 9999;
     display: none;
     align-items: center;
     justify-content: center;
     padding: 1rem;
+    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
   }
 
   .scratchpad-panel-overlay.active {
     display: flex;
   }
 
+  /* Centered Modal Backdrop */
   .scratchpad-backdrop {
     position: absolute;
     inset: 0;
-    background-color: rgba(17, 24, 39, 0.4);
-    backdrop-filter: blur(4px);
+    background-color: rgba(15, 23, 42, 0.55);
+    backdrop-filter: blur(6px);
     cursor: pointer;
+    transition: opacity 0.25s ease;
   }
 
   .dark .scratchpad-backdrop, .midnight .scratchpad-backdrop {
-    background-color: rgba(0, 0, 0, 0.6);
+    background-color: rgba(0, 0, 0, 0.75);
   }
 
+  /* Modal Content Window */
   .scratchpad-content {
     background-color: var(--color-bg-base);
     border-radius: var(--radius-2xl);
     position: relative;
     width: 100%;
-    max-width: 64rem;
-    height: 85vh;
+    max-width: 68rem;
+    height: 88vh;
+    max-height: 900px;
     display: flex;
     flex-direction: column;
     overflow: hidden;
     border: 1px solid var(--color-border);
-    box-shadow: var(--shadow-2xl);
+    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0,0,0,0.05);
     pointer-events: auto;
     z-index: 10;
+    transition: width 0.3s ease, height 0.3s ease, border-radius 0.3s ease;
   }
 
   .scratchpad-panel-overlay.active .scratchpad-content {
-    animation: scale-up 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
+    animation: sp-scale-up 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
+  }
+
+  @keyframes sp-scale-up {
+    0% { opacity: 0; transform: scale(0.96) translateY(10px); }
+    100% { opacity: 1; transform: scale(1) translateY(0); }
+  }
+
+  /* Docked Split View (Side-by-Side Reading & Note Taking) */
+  .scratchpad-panel-overlay.is-docked {
+    inset: 0 0 0 auto;
+    width: 520px;
+    max-width: 96vw;
+    height: 100vh;
+    padding: 0;
+    align-items: stretch;
+    justify-content: flex-end;
+    pointer-events: none;
+  }
+
+  .scratchpad-panel-overlay.is-docked .scratchpad-backdrop {
+    opacity: 0;
+    pointer-events: none;
+  }
+
+  .scratchpad-panel-overlay.is-docked .scratchpad-content {
+    width: 100%;
+    max-width: 100%;
+    height: 100vh;
+    max-height: 100vh;
+    border-radius: 0;
+    border-left: 2px solid var(--color-border);
+    border-top: none;
+    border-right: none;
+    border-bottom: none;
+    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.2);
+    pointer-events: auto;
+  }
+
+  /* Fullscreen Mode */
+  .scratchpad-panel-overlay.is-fullscreen {
+    padding: 0;
+  }
+
+  .scratchpad-panel-overlay.is-fullscreen .scratchpad-content {
+    width: 100vw;
+    max-width: 100vw;
+    height: 100vh;
+    max-height: 100vh;
+    border-radius: 0;
+    border: none;
   }
 
   /* Header */
   .scratchpad-header {
-    padding: 1.25rem 1.5rem;
+    padding: 0.875rem 1.25rem;
     border-bottom: 1px solid var(--color-border);
     display: flex;
+    flex-wrap: wrap;
     justify-content: space-between;
     align-items: center;
     background-color: var(--color-bg-surface);
+    gap: 0.75rem;
+    flex-shrink: 0;
   }
 
   .scratchpad-title-group {
     display: flex;
     align-items: center;
-    gap: 1rem;
+    gap: 0.75rem;
   }
 
   .scratchpad-icon-box {
-    width: 3rem;
-    height: 3rem;
+    width: 2.5rem;
+    height: 2.5rem;
     border-radius: var(--radius-lg);
-    background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
+    background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--color-primary);
-    font-size: 1.25rem;
+    font-size: 1.15rem;
+    flex-shrink: 0;
   }
 
   .scratchpad-title {
-    font-size: 1.25rem;
-    font-weight: 900;
+    font-size: 1.1rem;
+    font-weight: 800;
     color: var(--color-text-main);
     line-height: 1.2;
+    margin: 0;
   }
 
   .scratchpad-subtitle {
     font-size: 0.75rem;
     color: var(--color-text-muted);
+    margin: 0;
   }
 
-  .scratchpad-close-btn {
-    width: 2.5rem;
-    height: 2.5rem;
+  /* Notebook Controls Bar */
+  .scratchpad-notebook-bar {
+    display: flex;
+    align-items: center;
+    gap: 0.35rem;
+    background-color: var(--color-bg-base);
+    padding: 0.25rem 0.4rem;
+    border-radius: var(--radius-md);
+    border: 1px solid var(--color-border);
+  }
+
+  .scratchpad-note-select {
+    padding: 0.3rem 0.6rem;
+    font-size: 0.85rem;
+    font-weight: 700;
+    color: var(--color-text-main);
+    background-color: transparent;
+    border: none;
+    border-radius: var(--radius-sm);
+    outline: none;
+    max-width: 140px;
+    cursor: pointer;
+  }
+
+  .scratchpad-note-select:focus-visible {
+    box-shadow: 0 0 0 2px var(--color-primary);
+  }
+
+  .scratchpad-btn-sm {
+    padding: 0.3rem 0.55rem;
+    font-size: 0.75rem;
+    font-weight: 700;
+    color: var(--color-text-main);
+    background-color: var(--color-bg-surface);
+    border: 1px solid var(--color-border);
     border-radius: var(--radius-sm);
+    cursor: pointer;
+    display: inline-flex;
+    align-items: center;
+    gap: 0.25rem;
+    transition: all 0.15s ease;
+  }
+
+  .scratchpad-btn-sm:hover {
+    background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
+    color: var(--color-primary);
+    border-color: var(--color-primary);
+  }
+
+  .scratchpad-btn-sm.scratchpad-btn-danger:hover {
+    background-color: color-mix(in srgb, var(--color-error) 15%, transparent);
+    color: var(--color-error);
+    border-color: var(--color-error);
+  }
+
+  /* Window State Controls */
+  .scratchpad-window-controls {
+    display: flex;
+    align-items: center;
+    gap: 0.35rem;
+  }
+
+  .scratchpad-header-btn, .scratchpad-close-btn {
+    width: 2.25rem;
+    height: 2.25rem;

Popular Posts

New Commit: fixed theme issues

Repository: Hestenb62/_legacy_backup Author: Hesten Berger Commit Message: fixed theme issues URL: https://github.com/Hestenb62/_legacy_backup/commit/498741f8c633ecaf6e7e594bb0aed02c47e69b39 Code Changes: diff --git a/assessment/index.php b/assessment/index.php index 822865b..5e8b706 100644 --- a/assessment/index.php +++ b/assessment/index.php @@ -264,7 +264,7 @@ include '../src/header.php'; </div> <!-- Hint Modal (Inline) --> - <div id="hintText" class="hint-box" style="display: none;"> + <div id="hintText" class="hint-box hidden"> <strong>Hint:</strong> <span id="hint-content"></span> </div> </div> diff --git a/assets/css/pages/assessment.css b/assets/css/pages/assessment.css index b57e964..7eb0d74 100644 --- a/assets/c...

New Commit: added arura mesh

Repository: Hestenb62/_legacy_backup Author: Hesten Berger Commit Message: added arura mesh URL: https://github.com/Hestenb62/_legacy_backup/commit/d8a9c63f2df943f6e40651985fb1c273c5809dd4 Code Changes: diff --git a/assets/css/level-style.css b/assets/css/level-style.css index ed8b60b..49cddf7 100644 --- a/assets/css/level-style.css +++ b/assets/css/level-style.css @@ -100,6 +100,8 @@ h1, h2, h3, h4 { padding: 4rem 1rem 3rem 1rem; background: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%); border-bottom: 1px solid var(--glass-border); + position: relative; + overflow: hidden; } .hero-inner { @@ -111,6 +113,78 @@ h1, h2, h3, h4 { flex-wrap: wrap; gap: 1.5rem; animation: fadeUp 0.6s ease-out; + position: relative; + z-index: 2; +} + +/* Aurora Mesh Background for Level Hero */ +.level-aurora-bg { + position: absolute; + inset: 0; + overflow: hidden; + pointer-events: none; + z-index: 1; +} + +....

New Commit: Add JSON lesson migration and renderer scaffold Introduces a first-pass migration pipeline from PHP lesson files to structured JSON with `migrate_lessons.php`, and adds a generated `assets/data/lessons.json` catalog containing extracted metadata plus manual-migration placeholders for complex interactive content. Adds a new universal `src/lesson_renderer.php` to render lessons from JSON, along with initial component templates (`interactive-ladder` and `teacher-concepts`) for modular block rendering. Also includes `audit_report.html` documenting current security, accessibility, and architecture findings that motivated the move toward a template-driven lesson system.

Repository: Hestenb62/_legacy_backup Author: Hesten Berger Commit Message: Add JSON lesson migration and renderer scaffold Introduces a first-pass migration pipeline from PHP lesson files to structured JSON with , and adds a generated catalog containing extracted metadata plus manual-migration placeholders for complex interactive content. Adds a new universal to render lessons from JSON, along with initial component templates ( and ) for modular block rendering. Also includes documenting current security, accessibility, and architecture findings that motivated the move toward a template-driven lesson system. URL: https://github.com/Hestenb62/_legacy_backup/commit/f0c974b613ed65b7edcb712abb88bfae61ef0df5 Code Changes: diff --git a/assets/data/lessons.json b/assets/data/lessons.json new file mode 100644 index 0000000..0389666 --- /dev/null +++ b/assets/data/lessons.json @@ -0,0 +1,2835 @@ +{ + "lessons": { + "k-ela-m1-a-1": { + ...