fix(renderer): calibrate invisible overlay metrics and hover mapping

This commit is contained in:
2026-02-25 00:44:25 -08:00
parent 058d359553
commit efaf9a78cd
14 changed files with 410 additions and 44 deletions

63
scripts/dev-watch.sh Executable file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
electron_args=("$@")
if [[ ${#electron_args[@]} -eq 0 ]]; then
electron_args=(--start --dev)
fi
if ! command -v bun >/dev/null 2>&1; then
echo "[ERROR] bun not found in PATH" >&2
exit 1
fi
TS_WATCH_PID=""
RENDER_WATCH_PID=""
cleanup() {
local pids=("$TS_WATCH_PID" "$RENDER_WATCH_PID")
for pid in "${pids[@]}"; do
if [[ -n "$pid" ]] && kill -0 "$pid" 2>/dev/null; then
kill "$pid" 2>/dev/null || true
fi
done
}
trap cleanup EXIT INT TERM
sync_renderer_assets() {
mkdir -p dist/renderer
cp src/renderer/index.html src/renderer/style.css dist/renderer/
mkdir -p dist/renderer/fonts
cp -R src/renderer/fonts/. dist/renderer/fonts/
}
echo "[INFO] Syncing renderer static assets"
sync_renderer_assets
echo "[INFO] Running initial compile"
bun run tsc
bun run build:renderer
echo "[INFO] Starting TypeScript watch"
bun run tsc --watch --preserveWatchOutput &
TS_WATCH_PID=$!
echo "[INFO] Starting renderer watch"
bunx esbuild src/renderer/renderer.ts \
--bundle \
--platform=browser \
--format=esm \
--target=es2022 \
--outfile=dist/renderer/renderer.js \
--sourcemap \
--watch &
RENDER_WATCH_PID=$!
echo "[INFO] Launching Electron with args: ${electron_args[*]}"
bun run electron . "${electron_args[@]}"