From 5797c055ed53c7da2fcc32a8bf7e67a7db6c3ce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=9A=28noham=29=C2=B2?= <100566912+NohamR@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:55:19 +0200 Subject: [PATCH] Persist and restore bird position across sessions Add saving and restoring of bird positions so the bird can persist its location between navigations and reloads. Introduces SavedBirdPosition and birdPositions in save data, constants for save intervals and thresholds, and tracking of position deltas to mark dirty state. Implements sanitizeSavedBirdPositions, normalizePath, trimming logic, and a per-tab session key (using window.name) to avoid cross-tab restores. Saves periodically and on pagehide/beforeunload, restores on startup (with heuristics to snap to a nearby perchable element), and avoids overwriting restored Y when appropriate. --- dist/extension.zip | Bin 161132 -> 156148 bytes dist/extension/birb.js | 241 ++++++++++++++++++++++++++++++++-- dist/extension/manifest.json | 2 +- dist/obsidian/main.js | 243 +++++++++++++++++++++++++++++++++-- dist/obsidian/manifest.json | 2 +- dist/userscript/birb.user.js | 243 +++++++++++++++++++++++++++++++++-- dist/web/birb.embed.js | 241 ++++++++++++++++++++++++++++++++-- dist/web/birb.js | 241 ++++++++++++++++++++++++++++++++-- src/application.js | 236 ++++++++++++++++++++++++++++++++-- 9 files changed, 1397 insertions(+), 52 deletions(-) diff --git a/dist/extension.zip b/dist/extension.zip index 4d79e87eedad1757897e09527899bb58eed1916d..13ed65e32e9c27dc18e22e21d3c2566c121db797 100644 GIT binary patch delta 141963 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 delta 146952 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�E4|wEp~m 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

l#U6^s}0^$VPEe#PV+{)}b^U{nJe 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ⅈ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 I^Av*kfAf!j3jhEB diff --git a/dist/extension/birb.js b/dist/extension/birb.js index b822389..b535cf4 100644 --- a/dist/extension/birb.js +++ b/dist/extension/birb.js @@ -2111,6 +2111,13 @@ * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ + /** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -2119,6 +2126,7 @@ * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -2600,11 +2608,16 @@ // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes - const PET_FEATHER_BOOST = 2; - const PET_HAT_BOOST = 1.5; + const PET_FEATHER_BOOST = 2; // Multiplier for feather effect + const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints - const MIN_FOCUS_ELEMENT_WIDTH = 100; + const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target + const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow + const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again + const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" + const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep + const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -2741,7 +2754,7 @@ }), new Separator(), new MenuItem(() => `Source Code ${isPetBoostActive() ? " ❤" : ""}`, () => { window.open("https://github.com/IdreesInc/Pocket-Bird"); }), - new MenuItem("Build 2026.4.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.4"); }, undefined, false), + new MenuItem("Build 2026.4.6", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.6"); }, undefined, false), ]; /** @type {Birb} */ @@ -2780,6 +2793,13 @@ let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -2798,6 +2818,7 @@ currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -2832,6 +2853,9 @@ left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -2919,19 +2943,26 @@ drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -2992,7 +3023,9 @@ if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -3022,6 +3055,13 @@ // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -3578,6 +3618,7 @@ if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -3594,6 +3635,7 @@ * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -3628,11 +3670,16 @@ focusedBounds = { left, right, top }; } + function getCanvasWidth() { + return birb.getElementWidth(); + } + function hop() { if (frozen) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -3663,6 +3710,7 @@ * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -3692,6 +3740,183 @@ birb.setY(birdY); } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** diff --git a/dist/extension/manifest.json b/dist/extension/manifest.json index 7aaadfd..e5b6f4a 100644 --- a/dist/extension/manifest.json +++ b/dist/extension/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Pocket Bird", "description": "It's a pet bird in your browser, what more could you want?", - "version": "2026.4.4", + "version": "2026.4.6", "homepage_url": "https://idreesinc.com", "icons": { "48": "images/icons/transparent/48x48x1.png", diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 417086a..0e6cb2c 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -1,7 +1,7 @@ const { Plugin, Notice } = require('obsidian'); module.exports = class PocketBird extends Plugin { onload() { - console.log("Loading Pocket Bird version 2026.4.4..."); + console.log("Loading Pocket Bird version 2026.4.6..."); const OBSIDIAN_PLUGIN = this; (function () { 'use strict'; @@ -2144,6 +2144,13 @@ module.exports = class PocketBird extends Plugin { * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ + /** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -2152,6 +2159,7 @@ module.exports = class PocketBird extends Plugin { * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -2633,11 +2641,16 @@ module.exports = class PocketBird extends Plugin { // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes - const PET_FEATHER_BOOST = 2; - const PET_HAT_BOOST = 1.5; + const PET_FEATHER_BOOST = 2; // Multiplier for feather effect + const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints - const MIN_FOCUS_ELEMENT_WIDTH = 100; + const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target + const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow + const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again + const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" + const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep + const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -2774,7 +2787,7 @@ module.exports = class PocketBird extends Plugin { }), new Separator(), new MenuItem(() => `Source Code ${isPetBoostActive() ? " ❤" : ""}`, () => { window.open("https://github.com/IdreesInc/Pocket-Bird"); }), - new MenuItem("Build 2026.4.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.4"); }, undefined, false), + new MenuItem("Build 2026.4.6", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.6"); }, undefined, false), ]; /** @type {Birb} */ @@ -2813,6 +2826,13 @@ module.exports = class PocketBird extends Plugin { let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -2831,6 +2851,7 @@ module.exports = class PocketBird extends Plugin { currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -2865,6 +2886,9 @@ module.exports = class PocketBird extends Plugin { left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -2952,19 +2976,26 @@ module.exports = class PocketBird extends Plugin { drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -3025,7 +3056,9 @@ module.exports = class PocketBird extends Plugin { if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -3055,6 +3088,13 @@ module.exports = class PocketBird extends Plugin { // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -3611,6 +3651,7 @@ module.exports = class PocketBird extends Plugin { if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -3627,6 +3668,7 @@ module.exports = class PocketBird extends Plugin { * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -3661,11 +3703,16 @@ module.exports = class PocketBird extends Plugin { focusedBounds = { left, right, top }; } + function getCanvasWidth() { + return birb.getElementWidth(); + } + function hop() { if (frozen) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -3696,6 +3743,7 @@ module.exports = class PocketBird extends Plugin { * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -3725,6 +3773,183 @@ module.exports = class PocketBird extends Plugin { birb.setY(birdY); } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** diff --git a/dist/obsidian/manifest.json b/dist/obsidian/manifest.json index fd707c9..392d62b 100644 --- a/dist/obsidian/manifest.json +++ b/dist/obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "pocket-bird", "name": "Pocket Bird", - "version": "2026.4.4", + "version": "2026.4.6", "minAppVersion": "0.15.0", "description": "Add a pet bird to fly around your notes and keep you company!", "author": "Idrees Hassan", diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index 603516c..1e76b62 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Pocket Bird // @namespace https://idreesinc.com -// @version 2026.4.4 +// @version 2026.4.6 // @description It's a pet bird in your browser, what more could you want? // @author Idrees // @downloadURL https://github.com/IdreesInc/Pocket-Bird/raw/refs/heads/main/dist/userscript/birb.user.js @@ -2106,6 +2106,13 @@ * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ + /** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -2114,6 +2121,7 @@ * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -2595,11 +2603,16 @@ // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes - const PET_FEATHER_BOOST = 2; - const PET_HAT_BOOST = 1.5; + const PET_FEATHER_BOOST = 2; // Multiplier for feather effect + const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints - const MIN_FOCUS_ELEMENT_WIDTH = 100; + const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target + const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow + const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again + const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" + const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep + const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -2736,7 +2749,7 @@ }), new Separator(), new MenuItem(() => `Source Code ${isPetBoostActive() ? " ❤" : ""}`, () => { window.open("https://github.com/IdreesInc/Pocket-Bird"); }), - new MenuItem("Build 2026.4.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.4"); }, undefined, false), + new MenuItem("Build 2026.4.6", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.6"); }, undefined, false), ]; /** @type {Birb} */ @@ -2775,6 +2788,13 @@ let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -2793,6 +2813,7 @@ currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -2827,6 +2848,9 @@ left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -2914,19 +2938,26 @@ drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -2987,7 +3018,9 @@ if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -3017,6 +3050,13 @@ // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -3573,6 +3613,7 @@ if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -3589,6 +3630,7 @@ * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -3623,11 +3665,16 @@ focusedBounds = { left, right, top }; } + function getCanvasWidth() { + return birb.getElementWidth(); + } + function hop() { if (frozen) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -3658,6 +3705,7 @@ * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -3687,6 +3735,183 @@ birb.setY(birdY); } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** diff --git a/dist/web/birb.embed.js b/dist/web/birb.embed.js index 31365c7..70062f5 100644 --- a/dist/web/birb.embed.js +++ b/dist/web/birb.embed.js @@ -2086,6 +2086,13 @@ * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ + /** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -2094,6 +2101,7 @@ * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -2575,11 +2583,16 @@ // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes - const PET_FEATHER_BOOST = 2; - const PET_HAT_BOOST = 1.5; + const PET_FEATHER_BOOST = 2; // Multiplier for feather effect + const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints - const MIN_FOCUS_ELEMENT_WIDTH = 100; + const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target + const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow + const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again + const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" + const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep + const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -2716,7 +2729,7 @@ }), new Separator(), new MenuItem(() => `Source Code ${isPetBoostActive() ? " ❤" : ""}`, () => { window.open("https://github.com/IdreesInc/Pocket-Bird"); }), - new MenuItem("Build 2026.4.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.4"); }, undefined, false), + new MenuItem("Build 2026.4.6", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.6"); }, undefined, false), ]; /** @type {Birb} */ @@ -2755,6 +2768,13 @@ let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -2773,6 +2793,7 @@ currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -2807,6 +2828,9 @@ left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -2894,19 +2918,26 @@ drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -2967,7 +2998,9 @@ if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -2997,6 +3030,13 @@ // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -3553,6 +3593,7 @@ if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -3569,6 +3610,7 @@ * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -3603,11 +3645,16 @@ focusedBounds = { left, right, top }; } + function getCanvasWidth() { + return birb.getElementWidth(); + } + function hop() { if (frozen) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -3638,6 +3685,7 @@ * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -3667,6 +3715,183 @@ birb.setY(birdY); } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** diff --git a/dist/web/birb.js b/dist/web/birb.js index 31365c7..70062f5 100644 --- a/dist/web/birb.js +++ b/dist/web/birb.js @@ -2086,6 +2086,13 @@ * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ + /** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -2094,6 +2101,7 @@ * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -2575,11 +2583,16 @@ // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes - const PET_FEATHER_BOOST = 2; - const PET_HAT_BOOST = 1.5; + const PET_FEATHER_BOOST = 2; // Multiplier for feather effect + const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints - const MIN_FOCUS_ELEMENT_WIDTH = 100; + const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target + const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow + const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again + const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" + const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep + const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -2716,7 +2729,7 @@ }), new Separator(), new MenuItem(() => `Source Code ${isPetBoostActive() ? " ❤" : ""}`, () => { window.open("https://github.com/IdreesInc/Pocket-Bird"); }), - new MenuItem("Build 2026.4.4", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.4"); }, undefined, false), + new MenuItem("Build 2026.4.6", () => { alert("Thank you for using Pocket Bird! You are on version: 2026.4.6"); }, undefined, false), ]; /** @type {Birb} */ @@ -2755,6 +2768,13 @@ let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -2773,6 +2793,7 @@ currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -2807,6 +2828,9 @@ left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -2894,19 +2918,26 @@ drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -2967,7 +2998,9 @@ if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -2997,6 +3030,13 @@ // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -3553,6 +3593,7 @@ if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -3569,6 +3610,7 @@ * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -3603,11 +3645,16 @@ focusedBounds = { left, right, top }; } + function getCanvasWidth() { + return birb.getElementWidth(); + } + function hop() { if (frozen) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -3638,6 +3685,7 @@ * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -3667,6 +3715,183 @@ birb.setY(birdY); } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** diff --git a/src/application.js b/src/application.js index b8391a5..212398b 100644 --- a/src/application.js +++ b/src/application.js @@ -51,6 +51,13 @@ import { HAT, HAT_METADATA, createHatItemAnimation } from './hats.js'; * @typedef {import('./stickyNotes.js').SavedStickyNote} SavedStickyNote */ +/** + * @typedef {Object} SavedBirdPosition + * @property {number} x + * @property {number} y + * @property {number} updatedAt + */ + /** * @typedef {Object} BirbSaveData * @property {string[]} unlockedSpecies @@ -59,6 +66,7 @@ import { HAT, HAT_METADATA, createHatItemAnimation } from './hats.js'; * @property {string} currentHat * @property {Partial} settings * @property {SavedStickyNote[]} [stickyNotes] + * @property {Record} [birdPositions] */ /** @@ -118,11 +126,16 @@ const FEATHER_FALL_SPEED = 1; // Petting boosts const PET_BOOST_DURATION = 1000 * 60 * 5; // 5 minutes -const PET_FEATHER_BOOST = 2; -const PET_HAT_BOOST = 1.5; +const PET_FEATHER_BOOST = 2; // Multiplier for feather effect +const PET_HAT_BOOST = 1.5; // Multiplier for hat effect // Focus element constraints -const MIN_FOCUS_ELEMENT_WIDTH = 100; +const MIN_FOCUS_ELEMENT_WIDTH = 100; // Minimum width (in px) for an element to be considered a valid perch target +const BIRD_POSITION_SAVE_INTERVAL = 2000; // How often (ms) we attempt to persist position in normal flow +const BIRD_POSITION_SAVE_MIN_DELTA = 6; // Minimum movement (px) compared to last saved position required before writing again +const BIRD_POSITION_TRACKING_DELTA = 0.5; // Minimum movement (px) in runtime tracking to mark position as "dirty" +const MAX_SAVED_BIRD_POSITIONS = 200; // Maximum number of saved bird positions to keep +const TAB_SESSION_MARKER = "__pocket_bird_tab_session__="; // Marker used in localStorage to identify which tab session saved bird positions belong to, to prevent restoring positions from a different tab /** @type {Partial} */ let userSettings = {}; @@ -298,6 +311,13 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { let currentHat = DEFAULT_HAT; // let visible = true; let lastPetTimestamp = 0; + /** @type {Record} */ + let savedBirdPositions = {}; + let holdRestoredYPosition = false; + let birdPositionDirty = false; + let lastTrackedBirdX = birdX; + let lastTrackedBirdY = birdY; + let birdSessionKey = ""; /** @type {StickyNote[]} */ let stickyNotes = []; @@ -316,6 +336,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { currentSpecies = saveData.currentSpecies ?? DEFAULT_BIRD; unlockedHats = saveData.unlockedHats ?? [DEFAULT_HAT]; currentHat = saveData.currentHat ?? DEFAULT_HAT; + savedBirdPositions = sanitizeSavedBirdPositions(saveData.birdPositions); stickyNotes = []; if (saveData.stickyNotes) { @@ -350,6 +371,9 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { left: note.left })); } + if (Object.keys(savedBirdPositions).length > 0) { + saveData.birdPositions = savedBirdPositions; + } getContext().putSaveData(saveData); } @@ -437,19 +461,26 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { drawStickyNotes(stickyNotes, save, deleteStickyNote); - let lastPath = getContext().getPath().split("?")[0]; + let lastPath = normalizePath(getContext().getPath()); setInterval(() => { - const currentPath = getContext().getPath().split("?")[0]; + const currentPath = normalizePath(getContext().getPath()); if (currentPath !== lastPath) { log("Path changed from '" + lastPath + "' to '" + currentPath + "'"); + saveBirdPosition(true); lastPath = currentPath; drawStickyNotes(stickyNotes, save, deleteStickyNote); + restoreBirdPosition(); } }, URL_CHECK_INTERVAL); setInterval(update, UPDATE_INTERVAL); + setInterval(() => saveBirdPosition(), BIRD_POSITION_SAVE_INTERVAL); + window.addEventListener("pagehide", () => saveBirdPosition(true)); + window.addEventListener("beforeunload", () => saveBirdPosition(true)); - flyToElement(true); + if (!restoreBirdPosition()) { + flyToElement(true); + } } function update() { @@ -510,7 +541,9 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { if (focusedElement && !isWithinHorizontalBounds()) { flyToElement(); } - birdY = getFocusedY(); + if (focusedElement || !holdRestoredYPosition) { + birdY = getFocusedY(); + } } else if (currentState === States.FLYING) { // Fly to target location (even if in the air) if (updateParabolicPath(FLY_SPEED, 2)) { @@ -540,6 +573,13 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { // Update HTML element position birb.setX(birdX); birb.setY(birdY); + const movedX = Math.abs(birdX - lastTrackedBirdX); + const movedY = Math.abs(birdY - lastTrackedBirdY); + if (movedX >= BIRD_POSITION_TRACKING_DELTA || movedY >= BIRD_POSITION_TRACKING_DELTA) { + birdPositionDirty = true; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + } } /** @@ -1106,6 +1146,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { if (frozen) { return false; } + holdRestoredYPosition = false; const previousElement = focusedElement; focusedElement = getRandomValidElement(); updateFocusedElementBounds(); @@ -1122,6 +1163,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { * @param {number} y */ function teleportTo(x, y) { + holdRestoredYPosition = false; birdX = x; birdY = y; setState(States.IDLE); @@ -1165,6 +1207,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { return; } if (currentState === States.IDLE) { + holdRestoredYPosition = false; setState(States.HOP); birb.setAnimation(Animations.FLYING); if ((Math.random() < 0.5 && birdX - HOP_DISTANCE > focusedBounds.left) || birdX + HOP_DISTANCE > focusedBounds.right) { @@ -1195,6 +1238,7 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { * @param {number} y */ function flyTo(x, y) { + holdRestoredYPosition = false; targetX = x; targetY = y; setState(States.FLYING); @@ -1228,6 +1272,183 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { return Math.random() < 0.5; } + /** + * @param {unknown} value + * @returns {Record} + */ + function sanitizeSavedBirdPositions(value) { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return {}; + } + /** @type {Record} */ + const result = {}; + for (const [key, position] of Object.entries(value)) { + if (!position || typeof position !== "object" || Array.isArray(position)) { + continue; + } + // @ts-expect-error + const x = Number(position.x); + // @ts-expect-error + const y = Number(position.y); + // @ts-expect-error + const updatedAt = Number(position.updatedAt ?? 0); + if (!Number.isFinite(x) || !Number.isFinite(y)) { + continue; + } + result[key] = { x, y, updatedAt: Number.isFinite(updatedAt) ? updatedAt : 0 }; + } + return result; + } + + /** + * @param {string} path + * @returns {string} + */ + function normalizePath(path) { + return path.split("?")[0].split("#")[0]; + } + + function trimSavedBirdPositions() { + const entries = Object.entries(savedBirdPositions); + if (entries.length <= MAX_SAVED_BIRD_POSITIONS) { + return; + } + entries.sort((a, b) => a[1].updatedAt - b[1].updatedAt); + for (let i = 0; i < entries.length - MAX_SAVED_BIRD_POSITIONS; i++) { + delete savedBirdPositions[entries[i][0]]; + } + } + + function getBirdPositionScopeKey() { + if (birdSessionKey) { + return birdSessionKey; + } + + const existingWindowName = typeof window.name === "string" ? window.name : ""; + const markerIndex = existingWindowName.indexOf(TAB_SESSION_MARKER); + if (markerIndex >= 0) { + const end = existingWindowName.indexOf("|", markerIndex); + birdSessionKey = end >= 0 + ? existingWindowName.slice(markerIndex, end) + : existingWindowName.slice(markerIndex); + return birdSessionKey; + } + + const sessionToken = typeof crypto !== "undefined" && typeof crypto.randomUUID === "function" + ? crypto.randomUUID() + : `${Date.now()}-${Math.random().toString(36).slice(2)}`; + birdSessionKey = `${TAB_SESSION_MARKER}${sessionToken}`; + + try { + window.name = existingWindowName + ? `${existingWindowName}|${birdSessionKey}` + : birdSessionKey; + } catch { + // Ignore if the page blocks changing window.name. + } + + return birdSessionKey; + } + + /** + * @param {boolean} [force] + */ + function saveBirdPosition(force = false) { + if (!Number.isFinite(birdX) || !Number.isFinite(birdY)) { + return; + } + if (!force && !birdPositionDirty) { + return; + } + + const now = Date.now(); + const scopeKey = getBirdPositionScopeKey(); + const previous = savedBirdPositions[scopeKey]; + if (!force && previous) { + const movedX = Math.abs(previous.x - birdX); + const movedY = Math.abs(previous.y - birdY); + if (movedX < BIRD_POSITION_SAVE_MIN_DELTA && movedY < BIRD_POSITION_SAVE_MIN_DELTA) { + birdPositionDirty = false; + return; + } + } + + savedBirdPositions[scopeKey] = { + x: birdX, + y: birdY, + updatedAt: now + }; + trimSavedBirdPositions(); + birdPositionDirty = false; + save(); + } + + /** + * @returns {boolean} + */ + function restoreBirdPosition() { + const scopeKey = getBirdPositionScopeKey(); + const saved = savedBirdPositions[scopeKey]; + if (!saved) { + holdRestoredYPosition = false; + return false; + } + + const maxX = Math.max(0, window.innerWidth - getCanvasWidth()); + const maxY = getWindowHeight() * 1.5; + birdX = Math.min(Math.max(saved.x, 0), maxX); + birdY = Math.min(Math.max(saved.y, 0), maxY); + + // Attempt to keep the bird perched if an element still exists near the saved position. + focusedElement = getElementAtPosition(birdX, birdY); + updateFocusedElementBounds(); + + holdRestoredYPosition = focusedElement === null; + birdPositionDirty = false; + lastTrackedBirdX = birdX; + lastTrackedBirdY = birdY; + + setState(States.IDLE); + birb.setX(birdX); + birb.setY(birdY); + return true; + } + + /** + * @param {number} x + * @param {number} y + * @returns {HTMLElement|null} + */ + function getElementAtPosition(x, y) { + const desiredTop = getWindowHeight() - y; + let bestElement = null; + let bestScore = Number.POSITIVE_INFINITY; + const elements = document.querySelectorAll(getContext().getFocusableElements().join(", ")); + for (const element of elements) { + if (!(element instanceof HTMLElement)) { + continue; + } + if (element.offsetWidth < MIN_FOCUS_ELEMENT_WIDTH) { + continue; + } + const rect = element.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) { + continue; + } + const xDistance = Math.abs((rect.left + rect.right) / 2 - x); + const yDistance = Math.abs(rect.top - desiredTop); + const score = xDistance + yDistance * 1.5; + if (score < bestScore) { + bestScore = score; + bestElement = element; + } + } + if (bestScore > Math.max(window.innerWidth, getWindowHeight()) * 0.75) { + return null; + } + return bestElement; + } + // Helper functions /** @@ -1256,4 +1477,3 @@ function startApplication(birbPixels, featherPixels, hatsPixels) { init(); draw(); } -