Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ src/
β”œβ”€β”€ main.c libctru lifecycle and frame loop
β”œβ”€β”€ app/ application state and navigation
β”œβ”€β”€ gfx/ platform-neutral display lists (canvas)
β”œβ”€β”€ ui/ layout.c (pure) and ui.c (citro2d/citro3d backend)
β”œβ”€β”€ ui/ layout*.c (pure: geometry and hit tests in layout.c, the two screens in layout_top.c and layout_bottom.c, posts in layout_post.c, shared pieces in layout_widgets.c) and ui.c (citro2d/citro3d backend)
β”œβ”€β”€ input/ 3DS buttons, sticks and touchscreen
β”œβ”€β”€ atproto/ Wolfram-backed integration; session.c is the worker thread and its queue and the `session_*.c` files beside it hold the jobs (auth, view, read, people, lists, write; `session_internal.h` is what they share, `session_stub.c` stands in without a 3DS build of Wolfram), prefs.c is the pure muted-word matching
β”œβ”€β”€ store/ session and settings codecs, atomic stores on sdmc
Expand Down Expand Up @@ -573,7 +573,7 @@ Do not silently substitute a host compiler or desktop libraries.

## 22. Testing

Layout is pure: `ui/layout.c` fills `gfx/canvas` display lists and never calls libctru or citro2d, so `make test`, `make warnings` and `make snapshots` run on the host without devkitARM. `ui/ui.c` only replays display lists. Keep new screens in layout so they can be snapshotted; UI work needs a snapshot or emulator screenshot of both screens.
Layout is pure: `ui/layout*.c` fill `gfx/canvas` display lists and never calls libctru or citro2d, so `make test`, `make warnings` and `make snapshots` run on the host without devkitARM. `ui/ui.c` only replays display lists. Keep new screens in layout so they can be snapshotted; UI work needs a snapshot or emulator screenshot of both screens.

Validation has distinct levels.

Expand Down
2 changes: 1 addition & 1 deletion mk/host.mk
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ HOST_WOLFRAM_OBJS := $(addprefix $(HOST_OUT)/wf_,$(subst /,_,$(HOST_WOLFRAM_FILE
$(addprefix $(HOST_OUT)/wf_,$(subst /,_,$(HOST_WOLFRAM_CXX_FILES:.cpp=.o)))

# Sources that never touch libctru/citro2d.
HOST_SRCS := src/app/app.c src/app/app_posts.c src/app/app_screens.c src/app/app_results.c src/app/search.c src/app/signin.c src/app/social.c src/app/timeline.c src/atproto/errors.c src/atproto/prefs.c src/media/media.c src/store/session_codec.c src/store/session_store.c src/store/settings_codec.c src/store/settings_store.c src/store/draft_store.c src/store/file.c src/gfx/canvas.c src/ui/layout.c src/ui/wrap.c src/util/log.c src/util/clock.c src/update/update.c src/update/updater.c src/update/update_sig.c src/media/cdn_url.c
HOST_SRCS := src/app/app.c src/app/app_posts.c src/app/app_screens.c src/app/app_results.c src/app/search.c src/app/signin.c src/app/social.c src/app/timeline.c src/atproto/errors.c src/atproto/prefs.c src/media/media.c src/store/session_codec.c src/store/session_store.c src/store/settings_codec.c src/store/settings_store.c src/store/draft_store.c src/store/file.c src/gfx/canvas.c src/ui/layout.c src/ui/layout_widgets.c src/ui/layout_post.c src/ui/layout_top.c src/ui/layout_bottom.c src/ui/wrap.c src/util/log.c src/util/clock.c src/update/update.c src/update/updater.c src/update/update_sig.c src/media/cdn_url.c
HOST_SANITIZE := -fsanitize=address,undefined -fno-omit-frame-pointer -g -O1

.PHONY: test warnings snapshots
Expand Down
Loading
Loading