spb/localvm-research Public License
Running LLMs larger than memory on a consumer Mac — falsification-driven research: margin-gated deferred refinement, out-of-core verification on Apple Silicon. TR-01 published.
Python 63.2%
JavaScript 23.5%
CSS 11.8%
Shell 0.9%
Makefile 0.5%
1// ============================================================================2// Project : localvm-research3// File : web/public/app.js4// Purpose : Client-side interactivity (chart hover tooltips)5// Author : Simon-Pierre Boucher6// Contact : contact@spboucher.ai7// Created : 2026-08-128// Modified : 2026-08-129// Platform : Web (deployed from macOS / Apple Silicon)10// License : All rights reserved (research code)11// ============================================================================12"use strict";1314// mobile hamburger menu15(function () {16 const toggle = document.getElementById("nav-toggle");17 const nav = document.getElementById("site-nav");18 if (!toggle || !nav) return;19 toggle.addEventListener("click", () => {20 const open = nav.classList.toggle("open");21 toggle.classList.toggle("open", open);22 toggle.setAttribute("aria-expanded", String(open));23 });24 nav.addEventListener("click", (e) => {25 if (e.target.tagName === "A") {26 nav.classList.remove("open");27 toggle.classList.remove("open");28 }29 });30})();3132// chart hover tooltips33(function () {34 const fig = document.querySelector(".chart-fig");35 if (!fig) return;36 const tip = fig.querySelector(".chart-tip");37 if (!tip) return;38 fig.querySelectorAll(".pt").forEach((pt) => {39 pt.addEventListener("mouseenter", () => {40 tip.textContent = pt.getAttribute("data-tip");41 tip.hidden = false;42 });43 pt.addEventListener("mousemove", (ev) => {44 const r = fig.getBoundingClientRect();45 tip.style.left = Math.min(ev.clientX - r.left + 14, r.width - tip.offsetWidth - 4) + "px";46 tip.style.top = ev.clientY - r.top - 34 + "px";47 });48 pt.addEventListener("mouseleave", () => { tip.hidden = true; });49 });50})();51