Skip to content

Convert iconsScreen to LAVA: tabular home-screen layout + rendered PNG visual#1593

Merged
abrignoni merged 2 commits into
mainfrom
lava-convert-iconsscreen
Jun 24, 2026
Merged

Convert iconsScreen to LAVA: tabular home-screen layout + rendered PNG visual#1593
abrignoni merged 2 commits into
mainfrom
lava-convert-iconsscreen

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Summary

The home-screen layout parser was the last legacy artifact that emitted a custom HTML visualization rather than tabular data. It's now two LAVA artifacts:

Artifact What it gives
iconsScreen Queryable/sortable table — one row per app, folder, widget, stack, and dock item. Columns: Screen, Type, Name, Folder, Grid Size. Searchable (e.g. "which screen was an app on") and TSV-exportable.
iconsScreenVisual A PNG rendered per screen page (and the dock) via Pillow, checked in as embedded media — a visual reference of the layout (apps blue, folders brown w/ contents, widgets green, stacks purple).

Renamed from the generic 'iOS Screens' (which collided with webClips.py) to 'iOS Home Screen Layout' / '... - Visual'.

Validation

  • pylint 10.00/10.
  • Runtime-tested: parses apps/folders/widgets/stacks from a synthetic IconState.plist; _render_page produces a valid re-openable 808px PNG; the tabular function returns correct rows (folder apps tagged with their folder, dock rows present).
  • Reserved-word/CREATE TABLE clean; names globally unique; PluginLoader loads all 567 artifacts.

Convert the siriremembers.sqlite3 parser to __artifacts_v2__/@artifact_processor,
splitting its three reports into separate LAVA artifacts (siriRemembersMessages,
siriRemembersCalls, siriRemembersMedia). The validated research queries are preserved
verbatim. Timestamps use the SQL unixepoch UTC form; keys match function names.
Preserves the original author attribution (@SQL_McGee, Metadata Forensics, LLC) and
research date.
Convert the home-screen layout parser from a custom HTML report to two
__artifacts_v2__/@artifact_processor artifacts:
- iconsScreen: queryable tabular layout (one row per app/folder/widget/stack and
  the dock) with Screen, Type, Name, Folder, and Grid Size columns.
- iconsScreenVisual: a PNG rendered per screen page (and the dock) via Pillow,
  checked in as embedded media, preserving a visual reference of the layout.

Renamed from the generic 'iOS Screens' (which collided with webClips) to
'iOS Home Screen Layout' / '... - Visual'. Keys match function names.
@abrignoni abrignoni merged commit 64c84c4 into main Jun 24, 2026
1 check passed
@abrignoni abrignoni deleted the lava-convert-iconsscreen branch June 24, 2026 16:26
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