notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 9c26ce6f794248678b0c0cedaad700107f0bfaed
parent 8dfa7726ec4b30498110e1563ca653eafee24bfb
Author: alltheseas <alltheseas@users.noreply.github.com>
Date:   Fri,  2 Jan 2026 17:38:48 -0600

docs: add profiling annotation guidance

Document the use of #[profiling::function] attribute for marking
performance-critical functions that should be visible in puffin.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Diffstat:
MAGENTS.md | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -77,7 +77,8 @@ This document captures the current architecture, coding conventions, and design - Rust 2021, edition-lints are strict; clippy `disallowed_methods` is denied at crate root to enforce API hygiene (`crates/notedeck/src/lib.rs`). - Prefer module-level organization over monolithic files; each feature (accounts, decks, timelines, media) lives in its own module tree. -- Use `tracing` macros for structured logging and `profiling` scopes where hot paths exist (Columns’ relay/event loop). +- Use `tracing` macros for structured logging and `profiling` scopes where hot paths exist (Columns' relay/event loop). +- Mark performance-critical functions with `#[profiling::function]` for visibility in the puffin profiler. - UI code embraces egui idioms: builder chains, closures returning `Response`, `ui.vertical`/`horizontal` for layout. - Persist state via `TimedSerializer::try_save` to avoid blocking the frame; batch mutations with `SettingsHandler::update_batch`. - Tests live alongside modules (e.g., `JobPool`), often using `#[tokio::test]` when async behavior is involved.