Commit Graph
24 Commits
Author SHA1 Message Date
google-labs-jules[bot] 158bbcf7df ⚡ Bolt: Fix shared state issue in background gradient caching
Introduces `cachedHorizonGlowHeight` to independently track dimensions for the horizon glow gradient, preventing stale rendering when `cachedHeight` is updated by other functions.
2026-01-17 23:49:38 +00:00
google-labs-jules[bot] ce91760be2 ⚡ Bolt: Cache canvas gradients in background loop
Optimizes performance by caching expensive CanvasGradient creations.
- Caches horizon glow gradient and invalidates on resize.
- Caches nebula radial gradients on entity objects.

Ref: .jules/bolt.md
2026-01-17 19:49:54 +00:00
google-labs-jules[bot] 0f4072c9d8 Fix focus state border radius
Removed incorrect border-radius override in focus-visible state to allow buttons to maintain their rounded corners.
2026-01-17 02:52:56 +00:00
google-labs-jules[bot] a07a996864 🎨 Palette: Improve keyboard navigation visibility
Added :focus-visible styles to sidebar interactive elements (sliders, buttons, links) to improve keyboard accessibility.
Added aria-label to GitHub link to indicate it opens in a new tab.
2026-01-17 02:44:51 +00:00
google-labs-jules[bot] 1da1a38e89 ⚡ Bolt: Optimize snow animation loop
- Cached `window.innerWidth` and `window.innerHeight` in `src/aether-snow.ts` to prevent layout thrashing in the animation loop.
- Switched to `translate3d` for snowflake transforms to enforce GPU acceleration.
- Updated `js/` artifacts (including `js/background-themes.js` which was out of sync with `src/`).
2026-01-16 20:10:07 +00:00
google-labs-jules[bot] 28d413403e 🎨 Palette: Add 'Reset Defaults' button and tooltips
- Added a "Reset Defaults" button to the sidebar footer to allow users to quickly revert all settings.
- Added tooltip (`title`) support to toggle and slider controls for better discoverability.
- Updated sidebar styles to accommodate the new button.
- Manually updated build artifacts `js/christmas-sidebar.js` via `pnpm build`.
2026-01-16 02:54:55 +00:00
AEmotionStudio a767cc3806 Merge pull request #16: Performance optimization for snowflake rendering 2026-01-15 15:02:21 -08:00
google-labs-jules[bot] 76a4b594f5 ⚡ Bolt: Pre-calculate snowflake gradient strings
Pre-calculates RGBA color strings for snowflake gradients to avoid string concatenation and allocation inside the main render loop. This optimization reduces GC pressure during animations.

- Caches full `rgba()` strings in `BgSnowflake` entities.
- Updates `initBgSnowflakes` and `updateBgSnowflakeColors` to populate cache.
- Updates `drawEnhancedBackground` to use cached strings.
2026-01-15 19:47:13 +00:00
google-labs-jules[bot] bfc3bc4d3b Sentinel: Fix unbounded recursive timer in background themes
- Added a retry limit (50 attempts) to `installBackgroundHook` in `src/background-themes.ts` to prevent infinite loops if `app.canvas` is unavailable.
- Updated `js/` build artifacts.
- Updated Sentinel journal with learnings on Availability/Reliability.
2026-01-15 19:41:13 +00:00
google-labs-jules[bot] d12058c00f Add ARIA labels to sidebar controls
Enhanced accessibility for the Christmas theme sidebar by adding `aria-label` attributes to select dropdowns, range sliders, and the custom file upload button. This ensures screen readers can correctly announce the purpose of each control, improving the experience for visually impaired users.

Changes:
- Added `ariaLabel` to `createSelect` helper.
- Added `ariaLabel` to `createSlider` helper.
- Added `ariaLabel` to `createSettingRow` inline slider logic.
- Added `ariaLabel` to the custom file upload button.
2026-01-15 03:00:53 +00:00
Æmotion Studio e05af734b1 Merge pull request #12 from AEmotionStudio/sentinel/fix-noopener-10903885983251945321
🛡️ Sentinel: [MEDIUM] Fix Reverse Tabnabbing Vulnerability
2026-01-14 15:57:35 -08:00
google-labs-jules[bot] b5e799cdb8 ⚡ Bolt: Optimize snowflake rendering performance
Pre-calculates RGB values for snowflakes to avoid repetitive hex string parsing in the render loop.
This reduces CPU overhead for background effects.
2026-01-14 23:25:58 +00:00
google-labs-jules[bot] d9be0207bb security: add rel="noopener noreferrer" to external links
Prevents reverse tabnabbing attacks on target="_blank" links.
2026-01-14 19:36:15 +00:00
google-labs-jules[bot] 86980ca3f0 feat(ui): improve toggle switch accessibility
- Add `role="switch"`, `aria-checked`, `aria-label`, and `tabindex="0"` to toggle switches in `christmas-sidebar.ts`.
- Add keyboard event handling (Enter/Space) to toggle switches.
- Add `:focus-visible` styles to `sidebar.css` for better keyboard navigation visibility.
- Ensure toggle logic is shared between mouse and keyboard interactions.
2026-01-14 02:45:48 +00:00
AEmotionStudio 4ba82a7565 perf: optimize candy cane effect and refactor link path tracing
- Introduce  to  for reusable path drawing.
- Refactor Candy Cane effect to use native  for smoother performance and cleaner code.
- Align Candy Cane animation flow and speed with other effects.
2026-01-11 15:06:32 -08:00
AEmotionStudio 16a2f5e07f style: refine frost and aurora animation flow and speeds 2026-01-11 14:59:13 -08:00
AEmotionStudio 4c2482b33d perf: optimize custom assets and enhance link animations
- Add image optimization for custom snowflake uploads (resize + WebP conversion).
- Implement caching for custom snowflake images to improve rendering performance.
- Refactor link renderers to support multiple styles (spline, straight, linear).
- Add/restore special link effects: Candy Cane, Frost, and Aurora.
- Increase custom image upload size limit to 5MB.
2026-01-11 14:40:59 -08:00
AEmotionStudio 1bc4b5fb80 fix: load saved settings during cache initialization 2026-01-10 18:39:56 -08:00
AEmotionStudio 42a1fd6ffb fix: sidebar bleed into other sidebar tabs 2026-01-10 05:04:11 -08:00
AEmotionStudio 98f50f5230 fix: background firework and star glow issue 2026-01-10 05:02:12 -08:00
AEmotionStudio 615da8f65c fix: resolve link visibility, brightness glitch, and startup animation issues 2026-01-09 17:58:39 -08:00
AEmotionStudio f2907b8c5f feat: add custom snowflake image uploads, mix mode support, and UI performance refactor 2026-01-09 17:21:51 -08:00
AEmotionStudio f79492cc22 refactor: sidebar, created css, organized 2026-01-09 17:01:12 -08:00
AEmotionStudio 1c33496b85 feat: Migrate to TypeScript, add tests, and refine UI
- Converted all JS source files to TypeScript in src/.
2026-01-09 15:31:32 -08:00