Commit Graph
100 Commits
Author SHA1 Message Date
Gabriel Fontes 2506a3fa31 fix(merope/books): allow Readarr to move SABnzbd downloads
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 23:45:14 -03:00
Gabriel Fontes 314ccdc9bb feat(merope/books): add Readarr and Calibre-Web stack 2026-08-16 22:51:29 -03:00
Gabriel Fontes 8bae9367ef fix(merope/sabnzbd): make completed downloads world-readable
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 22:08:21 -03:00
Gabriel Fontes 7c72dcba22 fix(aerc): restrict permanent message deletion
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 15:00:41 -03:00
Gabriel Fontes 8d811d3025 refactor(home/xdg): remove redundant default applications
Drop defaults where one desktop entry is already the sole available handler,
whether declared by the desktop or added explicitly. Keep browser defaults
because their ordering is intentional.

Assisted-by: pi (gpt-5.6-sol)
2026-08-16 12:22:10 -03:00
Gabriel Fontes 09e41235bf refactor(home/hyprland): remove window swallowing
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 12:19:17 -03:00
Gabriel Fontes c660195792 feat(home/calendar): split import and viewer handlers
Add khal-import.desktop for interactive text/calendar imports. Associate
pkgs.khal's existing khal.desktop, which launches ikhal, with
x-scheme-handler/calendar and use that handler from Waybar.

Assisted-by: pi (gpt-5.6-sol)
2026-08-16 12:13:40 -03:00
Gabriel Fontes 8633ecf494 fix(home/aerc): move deleted messages to trash
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 12:08:55 -03:00
Gabriel Fontes 21a163299d fix(home/qutebrowser): handle xhtml documents
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 11:42:54 -03:00
Gabriel Fontes f94132a915 fix(home/aerc): show html link numbers
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 11:37:20 -03:00
Gabriel Fontes 6a4c9f456f fix(home/aerc): open html links in external browser
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 11:33:00 -03:00
Gabriel Fontes 04325fa348 feat(home/productivity): install gtkhal on graphical hosts
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 11:24:16 -03:00
Gabriel Fontes 940fcc823f refactor(projects/gtkhal): rename khora to gtkhal
Assisted-by: pi (gpt-5.6-sol)
2026-08-16 11:11:17 -03:00
Gabriel Fontes 4ad0744f85 fix(projects/khora): reload imported GTK CSS live
Watch and reload the Home Manager GTK 4 user stylesheet so theme switches replace the immutable imported theme without restarting Khora.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:42:44 -03:00
Gabriel Fontes 0dc86e8fb6 fix(projects/khora): inherit GTK theme accent colors
Map libadwaita accent roles to the active GTK theme selection colors so generated themes control highlights, focus rings, and selected dates.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:39:25 -03:00
Gabriel Fontes c3bf58ba38 fix(projects/khora): override user theme event styles
Register Khora component CSS above GTK user-theme priority so generated themes cannot erase event backgrounds and foreground contrast.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:35:49 -03:00
Gabriel Fontes ba52a64c4a fix(projects/khora): anchor events to timeline positions
Use a fixed event overlay with pixel positions derived from time slots so lane layout cannot distort vertical placement.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:32:35 -03:00
Gabriel Fontes ac358a1ec6 fix(projects/khora): restore event card backgrounds
Reset the full GTK background shorthand for clickable event buttons so flat-button theme imagery cannot hide calendar colors.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:28:15 -03:00
Gabriel Fontes eccf8a2978 feat(projects/khora): add month view
Render a six-week month grid with colored event chips, overflow links, adjacent-month dates, and navigation into day or agenda views.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:25:51 -03:00
Gabriel Fontes 2ef5d34edd feat(projects/khora): show event dots in mini calendar
Replace the stock sidebar calendar with a compact month widget that marks each visible date with up to three calendar-colored event dots.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:24:01 -03:00
Gabriel Fontes af7bab8759 fix(projects/khora): lay out overlapping events
Assign simultaneous timed events to adjacent lanes while allowing isolated events to retain the full day-column width.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:20:11 -03:00
Gabriel Fontes f4a1942885 feat(projects/khora): add forward agenda stream
Load agenda events in two-week chunks from the selected date, continuing near the scroll boundary with an explicit fallback to load more.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:17:38 -03:00
Gabriel Fontes 2957f91fb8 feat(projects/khora): refresh on vdir changes
Monitor local calendar directories and debounce automatic refreshes when vdirsyncer or another application changes event files.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:15:11 -03:00
Gabriel Fontes cb7fe0bb7d feat(projects/khora): persist interface state
Remember the active view, vertical zoom, sidebar width, calendar visibility, and collapsed account groups across restarts.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:13:10 -03:00
Gabriel Fontes 39f60cc29f feat(projects/khora): add keyboard navigation
Add shortcuts for period navigation, Today, view selection, refresh, and vertical zoom controls.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:10:52 -03:00
Gabriel Fontes 3a07038b84 feat(projects/khora): show event details
Open timed, all-day, and agenda events in a read-only details dialog with their time, calendar, location, description, URL, organizer, and attendees.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:09:09 -03:00
Gabriel Fontes 379f559ded chore(projects/khora): add development roadmap
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:06:40 -03:00
Gabriel Fontes ca70481215 fix(projects/khora): reload GTK theme on appearance changes
Follow the GNOME GTK and icon theme settings alongside the color scheme so live light/dark switches do not combine a new libadwaita palette with the previous GTK theme.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:04:51 -03:00
Gabriel Fontes 63f512c623 feat(projects/khora): zoom calendar time grids
Support session-wide vertical zoom in day and week views with Ctrl+scroll while preserving the visible point in the timeline.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 16:00:30 -03:00
Gabriel Fontes 366c1ab5d7 fix(projects/khora): use calendar colors for events
Color day and week event cards with their calendar color and choose a contrasting foreground instead of showing only a colored marker.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:56:37 -03:00
Gabriel Fontes 55bd52ff49 feat(projects/khora): collapse calendar account groups
Render each account as an expanded libadwaita expander row so its calendars can be hidden independently.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:54:15 -03:00
Gabriel Fontes cf586aa7d4 feat(projects/khora): group calendars by account
Derive account groups from khal calendar paths and place grouped calendar controls in a scrollable sidebar region.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:52:57 -03:00
Gabriel Fontes 8405980567 feat(projects/khora): show current time in calendar grids
Draw a live current-time marker over today in day and week views and advance it while the window remains open.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:50:01 -03:00
Gabriel Fontes 89efd17130 fix(projects/khora): align header with calendar pane
Remove redundant branding, compact the sidebar calendar, and offset navigation controls to the main calendar pane.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:46:39 -03:00
Gabriel Fontes f4cc409dd3 fix(projects/khora): adopt calendar-style header navigation
Arrange branding, today and date navigation around a dynamic period title, with refresh and view controls on the right.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:43:55 -03:00
Gabriel Fontes 10af41bcba feat(projects/khora): add calendar grid views
Add a Google Calendar-style day and week time grid behind a compact view dropdown, while retaining the existing list as the agenda view.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:38:53 -03:00
Gabriel Fontes c774f2b4e7 fix(projects/khora): style agenda switcher as tabs
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:19:47 -03:00
Gabriel Fontes 8cd8c0c13d fix(projects/khora): center agenda view switcher
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:17:18 -03:00
Gabriel Fontes 88b2725f81 feat(projects/khora): add week agenda view
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:11:48 -03:00
Gabriel Fontes 3dfb7307b2 chore(projects/khora): add development shell
Assisted-by: openai-codex (gpt-5.6-luna)
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 15:05:23 -03:00
Gabriel Fontes 4d00f544bd fix(projects/khora): follow live color-scheme changes
Watch the GNOME interface color-scheme setting directly and update
libadwaita instead of relying on portal propagation under Hyprland.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 12:36:27 -03:00
Gabriel Fontes c7392e5d6c feat(projects/khora): color-code calendar events
Render calendar colors beside both event and calendar rows, including
conversion of khal named and xterm palette values.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 12:28:07 -03:00
Gabriel Fontes 5575c02521 fix(projects/khora): use compact calendar toggles
Avoid theme-sensitive check buttons by using standard Adwaita action rows
with trailing switches.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 12:25:41 -03:00
Gabriel Fontes 1d21154a47 feat(projects/khora): scaffold graphical vdir calendar
Add a read-only GTK/libadwaita agenda backed by khal, with calendar
filters, Nix packaging, desktop metadata, and model tests.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 12:23:27 -03:00
Gabriel Fontes a9a0110a36 fix(overleaf-sync): push after commit editor closes
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 11:57:12 -03:00
Gabriel Fontes b1160b2317 fix(home/pi): treat null web search keys as unset
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 11:54:25 -03:00
Gabriel Fontes e04855e5a8 refactor(home/pi): remove unused packages
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 11:39:21 -03:00
Gabriel Fontes f359f31660 refactor(home/pi): simplify websearch secrets fallback 2026-08-15 11:37:44 -03:00
Gabriel Fontes 9b934e63cd feat(home/pi): add invisible continue extension
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 10:03:18 -03:00
Gabriel Fontes 17e9e5f983 fix(home/waybar): count unread mail by Maildir flags
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 08:56:57 -03:00
Gabriel Fontes 317a703a09 refactor(home/aerc): use helix-like bindings
Assisted-by: pi (gpt-5.6-sol)
2026-08-15 08:47:56 -03:00
Gabriel Fontes e8f2fe11b0 feat(pkgs/overleaf-sync): edit push commit messages
Open Git’s commit editor with the staged diff included for review.

Assisted-by: pi (gpt-5.6-sol)
2026-08-15 08:36:16 -03:00
Gabriel Fontes 3053b8d7be feat(home/aerc): show inbox unread counts in tabs
Assisted-by: pi (openai-codex/gpt-5.6-sol)
2026-08-15 08:30:08 -03:00
Gabriel Fontes 74e831433c chore(home): remove neomutt 2026-08-14 16:37:15 -03:00
Gabriel Fontes 6c4bdc6a48 feat(home/aerc): add khal completion 2026-08-14 16:37:15 -03:00
Gabriel Fontes b2b14ee86c refactor(home/productivity): use folders.sent to disable gmail extra copy 2026-08-14 16:37:15 -03:00
Gabriel Fontes f42f603068 fix(electra): configure wireless interface explicitly
Assisted-by: pi (gpt-5.6-luna)
2026-08-14 15:18:04 -03:00
Gabriel Fontes a932fa4d38 feat(aerc): support including binding files
Patch aerc to load nested $include paths before the including binds file, with relative and home path expansion plus cycle detection. Include the packaged defaults from Home Manager so custom bindings override them without duplication or IFD.

Assisted-by: pi (gpt-5.6-sol)
2026-08-14 15:16:55 -03:00
Gabriel Fontes 090a94b268 fix(system-manager): remove evaluation-time package reads
Assisted-by: pi (gpt-5.6-sol)
2026-08-14 15:00:06 -03:00
Gabriel Fontes 0ca27c059b fix(home/aerc): quit without confirmation
Assisted-by: pi (gpt-5.6-sol)
2026-08-14 14:18:57 -03:00
Gabriel Fontes 49a929063e fix(home/aerc): reload configuration on change 2026-08-14 14:18:57 -03:00
Gabriel Fontes 8db3f50867 fix(nixos/kdeconnect): scope ports to the tailnet
1714-1764 is a wide range to leave open on machines that join networks they
don't control.

Assisted-by: pi (claude-opus-5)
2026-08-13 17:34:49 -03:00
Gabriel Fontes baef0c6c8a fix(ubuntu/network): wait for any interface, not all
The generic ethernet rule makes an unplugged enp44s0 managed, so
networkd-wait-online blocked on it for the full 120s timeout and delayed
wg-quick@wg0. NixOS pairs its generic DHCP networks with --any for the same
reason.

Assisted-by: pi (claude-opus-5)
2026-08-13 17:16:15 -03:00
Gabriel Fontes c19ed9a3a7 fix(hosts/wireless): disable Wi-Fi Direct
Its control socket never gets ctrl_interface_group applied (upstream never
copies the field when creating the P2P device), so with the daemon running as
root the socket is root-only. wpa_gui scans the directory, hits p2p-dev-*
first and gives up before reaching the real interface.

Assisted-by: pi (claude-opus-5)
2026-08-13 17:07:51 -03:00
Gabriel Fontes cc5bd4b3c8 refactor(hosts): rename system-manager to ubuntu
The tree is heavily Ubuntu-coupled: masking netplan's generator and Ubuntu's
own wpa_supplicant units, apt packages in cloud-init, /etc/dbus-1 policy.

Assisted-by: pi (claude-opus-5)
2026-08-13 16:44:51 -03:00
Gabriel Fontes 4da7e34d42 refactor(hosts): move shared config into hosts/common
Assisted-by: pi (claude-opus-5)
2026-08-13 16:37:39 -03:00
Gabriel Fontes fc9ab65dd1 fix(hosts/wireless): disable wpa_supplicant hardening
The sandbox binds secretsFile into the unit's namespace, so a secret that
can't be decrypted kills the daemon along with the control socket needed to
connect by hand and fix it. It also breaks wpa_gui (nixpkgs#475438).

Tradeoff: the daemon runs as root again, as it does on most distros.

Assisted-by: pi (claude-opus-5)
2026-08-13 16:36:09 -03:00
Gabriel Fontes a587e539e9 feat(system-manager): port networking.wireless and generic DHCP
Run the upstream NixOS wpa_supplicant module under system-manager through a
compat shim. system-manager already reuses nixpkgs' systemdUtils,
environment.etc and userborn, so the unit, the generated config and the
wpa_supplicant user come out unchanged; only four NixOS-only options needed
stubbing, two of which are re-expressed on top of environment.etc.

Extract the wireless config to hosts/wireless.nix so both trees share one
source: they sit at the same depth, so every path resolves identically.
electra's generated wpa_supplicant.conf is now byte-identical to atlas'
except for the country line.

Take over networkd from netplan on electra with the same generic match rules
NixOS uses, which also covers ethernet and USB tethering, neither of which
was configured before. netplan is neutered by masking its generator rather
than uninstalling it, since purging netplan.io would take cloud-init,
ubuntu-minimal and ubuntu-server-minimal with it.

Assisted-by: pi (claude-opus-5)
2026-08-13 16:36:09 -03:00
Gabriel Fontes 91005fcfb9 chore(hosts): move wifi secrets from nixos to hosts 2026-08-13 15:09:51 -03:00
Gabriel Fontes 0ed723235b feat(home): add Atelier/bin to PATH 2026-08-13 14:53:05 -03:00
Gabriel Fontes 2b8b2d9c71 feat(hosts/electra): declare uidmap deb 2026-08-13 14:26:55 -03:00
Gabriel Fontes df734b3f5e feat(home/electra): add juju and glab 2026-08-13 12:21:14 -03:00
Gabriel Fontes 6741355646 feat(home/aerc): theme from colorscheme, sort folders, wire filters
Generate an aerc styleset from config.colorscheme.colors, matching how
tmux, zathura and the rest are themed. Keys are quoted throughout since
unquoted dotted names build nested attrsets and fail the module's type
check.

Home Manager writes the whole aerc.conf, so aerc's shipped filters never
applied: bring back colorize, calendar and html, and point the viewer at
less. Pin the mailbox order per account instead of taking plain
alphabetical, and fold subfolders under their parent.

Assisted-by: pi (claude-opus-5)
2026-08-12 21:11:25 -03:00
Gabriel Fontes 31ffe6195c feat(home): distinguish host wallpapers
Give each host a wallpaper whose derived colorscheme sits at its own position on an evenly spaced hue wheel:
- Atlas: aenami-dawn; Celaeno: mountain-yellow-red
- Alcyone: autumn-leaves-orange; Pleione: plains-flowers-green-red
- Electra: aenami-northern-lights; Merope: aenami-bright-planet
- Maia: deer-lunar-fantasy; Taygeta: nebula-purple-pink

Reserve the remaining turquoise position for a future asterope host, and regenerate the website colorscheme data.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 19:44:02 -03:00
Gabriel Fontes c8247e3fdc fix(projects/website): restore listing title hover underline
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 15:19:07 -03:00
Gabriel Fontes b5be716f85 feat(projects/website): update sesos paper 2026-08-12 12:41:15 -03:00
Gabriel Fontes c167c08809 fix(projects/website): update constellation connections
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 12:36:36 -03:00
Gabriel Fontes b2e31f3cca refactor(projects/website): simplify stylesheet cascade
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 12:26:03 -03:00
Gabriel Fontes ae6361afa1 refactor(projects/website): centralize style tokens
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 12:22:27 -03:00
Gabriel Fontes ac15815de9 refactor(projects/website): modularize stylesheet structure
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 12:17:51 -03:00
Gabriel Fontes aedb99a2b1 chore(projects/website): remove unused sass code
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 12:15:49 -03:00
Gabriel Fontes 05725a71ef fix(projects/website): remove dead colorscheme page 2026-08-12 12:08:48 -03:00
Gabriel Fontes 8ee7b0446c feat(projects/website): collapse design paper appendix
Keep the appendix heading visible while placing its sustainability fragment table in a details disclosure that is collapsed by default.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:58:59 -03:00
Gabriel Fontes 4806800c88 fix(projects/website): remove duplicate figure border
Let the publication figure styling provide the frame instead of drawing a second border inside the relations SVG.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:52:23 -03:00
Gabriel Fontes cf32e51c6e fix(projects/website): refine publication navigation
Keep the publications navigation item selected on paper pages and align their DOI links with the publication listing while removing the redundant back link.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:44:05 -03:00
Gabriel Fontes b07eb924a7 fix(projects/website): improve paper figures in dark mode
Render publication figures on a stable light surface so their original colors and labels remain legible regardless of the site theme.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:39:52 -03:00
Gabriel Fontes e6a7ea04b1 feat(projects/website): add paper web editions
Publish complete Markdown editions of both papers with linked citations, references, tables, original figures, appendices, acknowledgments, and scholarly citation metadata. Include the sustainability fragment table and the updated SESoS ecosystem figure while preserving the PDFs as versions of record.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:39:52 -03:00
Gabriel Fontes 527fc899ca refactor(projects/website): replace link glow with starlight accents
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:15:00 -03:00
Gabriel Fontes 0a7121b071 fix(projects/website): refine section heading rhythm
Assisted-by: pi (gpt-5.6-sol)
2026-08-12 11:04:42 -03:00
Gabriel Fontes abcec31b41 feat(projects/site): remove telegram link 2026-08-12 03:51:16 -03:00
Gabriel Fontes 80a00cb29d fix(projects/website): move feed link to footer
Move the RSS link from its brittle absolute position above the blog listing into the global social footer, and remove the obsolete positional selector.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:49:23 -03:00
Gabriel Fontes 0c9471a4f2 fix(projects/website): update source link
Point the footer source link at the website path in the Foundry monorepo.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:46:42 -03:00
Gabriel Fontes f37f6314f2 fix(projects/website): brighten ambient sparks
Increase spark core size, palette contrast, halo, and shimmer range so the ambient layer remains subtle but actually visible.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:41:33 -03:00
Gabriel Fontes 6cbfc9e959 feat(projects/website): add ambient star sparks
Layer sparse palette-tinted sparks behind the site with slow staggered shimmer, no pointer interaction, and explicit reduced-motion and print fallbacks.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:40:04 -03:00
Gabriel Fontes b5901a4eaa fix(projects/website): move atlas a bit right 2026-08-12 03:40:04 -03:00
Gabriel Fontes b3744d9d8e fix(projects/website): smooth theme selection ring
Replace the aliased circular outline with an inset antialiased shadow ring and a faint outer glow for both selection and keyboard focus.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:33:10 -03:00
Gabriel Fontes 5a32f05d7f fix(projects/website): outline selected theme star
Apply the constellation control's circular focus outline to the active palette as a persistent selection indicator.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:28:05 -03:00
Gabriel Fontes 7ff867ed2f feat(projects/website): adopt star glyph motif
Use conventional hash markers for heading permalinks, frame the site identity with decorative stars, and render constellation points as luminous star glyphs while preserving their 48px controls and interaction behavior.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:26:08 -03:00
Gabriel Fontes 832fb45016 feat(projects/website): add heading permalinks
Add accessible self-links to rendered h2-h6 headings without embedding HTML in Markdown. Reveal the star marker on hover or keyboard focus, keep it visible on touch devices, and omit it from print.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:22:30 -03:00
Gabriel Fontes d693b272c8 feat(projects/website): extend constellation interactions
Carry the constellation's glow and motion into links, navigation, and form controls, add palette-lit structural rules, and glint anchored headings on arrival. Respect reduced-motion preferences throughout.

Assisted-by: pi (gpt-5.6-sol)
2026-08-12 03:16:28 -03:00