Skip to content

feat(app): list the camera folder in the image picker - #74

Merged
ewanc26 merged 3 commits into
mainfrom
feat/camera-folder
Oct 7, 2026
Merged

ewanc26 merged 3 commits into
mainfrom
feat/camera-folder

Conversation

@ewanc26

@ewanc26 ewanc26 commented Oct 7, 2026

Copy link
Copy Markdown
Owner

What this changes

The attach picker listed only sdmc:/3ds/indigo/images. The 3DS camera saves photos as sdmc:/DCIM/<folder>/<image>, so the picker now also lists the images one folder down in sdmc:/DCIM, after the app folder's own entries.

  • The camera folder is scanned with Wolfram's wf_attach_scan_images_tree (rows are name or folder/name). The app folder keeps wf_attach_scan_images, unchanged.
  • Camera rows carry a camera flag on the menu item. Choosing one sets compose.image to sdmc:/DCIM/<folder>/<image>; app-folder rows are unchanged.
  • The camera folder is never created by Indigo; the camera owns it.
  • The picker's top screen names both folders.
  • indigo_menu_build_images takes the camera folder; app.camera_dir is the test seam, as app.images_dir already is.
  • The snapshot harness draws a camera folder beside the app folder; docs/PARITY.md records the decision that was open before.

Dependency: this PR needs Wolfram v0.39.0 released first. wf_attach_scan_images_tree is on ewanc26/wolfram PR #193 (branch feat/attach-camera-folder) and is not in any release. wolfram.ref stays at v0.38.0 on main in this PR, so the 3DS CI job may be red until the pin moves to v0.39.0. That is expected. Do not merge until v0.39.0 is out and the pin is bumped.

Limit: the camera scan takes the first matching files in directory order, up to the picker's 23 rows, so a camera folder with many more photos than that shows only some of them.

Verification

  • Host (make test, with WOLFRAM_ROOT at Wolfram 1c75415, built for host): 4065 checks, 0 failures. The new test_attach_camera_folder covers the camera rows' labels and flags, the order (app folder first), that a non-image file is skipped, and that choosing a camera row attaches its full path.
  • Host (make warnings): clean.
  • Host (make snapshots): attach-picker drawn and read. The top screen shows both folders and the paragraph fits. Host only.
  • 3DS cross-build (make, Wolfram 1c75415 built with make wolfram-3ds): links indigo.3dsx.
  • Not run: on a 3DS or in Azahar. The DCIM listing has not been seen on a console.

Docs

  • CHANGELOG.md: an Added entry under [Unreleased].
  • docs/PARITY.md: the picker row now covers sdmc:/DCIM, and the open "is it undecided" note is replaced by the decision.
  • AGENTS.md: no change needed; it does not describe the picker's folders.

Changelog: CHANGELOG.md

Checklist

  • CI is green (CI gate and flow / conventions) — not yet: the 3DS job needs the Wolfram v0.39.0 pin
  • No secrets, tokens or signing keys in the diff
  • Tests added or changed with the behaviour; none skipped, disabled or deleted

🤖 Generated with Claude Code

ewanc26 and others added 3 commits October 8, 2026 00:26
The picker listed only sdmc:/3ds/indigo/images. The 3DS camera saves
photos as sdmc:/DCIM/<folder>/<image>, so the picker now also lists the
images one folder down in sdmc:/DCIM, after the app folder's own. Each
camera row is marked, and choosing one attaches its full path. The app
folder scan is unchanged. The top screen names both folders.

The camera scan uses Wolfram's wf_attach_scan_images_tree, which needs
Wolfram v0.39.0 (not released yet). The pin stays at v0.38.0 on main.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@ewanc26
ewanc26 merged commit 52e93f6 into main Oct 7, 2026
9 checks passed
@ewanc26
ewanc26 deleted the feat/camera-folder branch October 7, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant