Asset Sync Report
PicCollage Android · Figma vs Codebase
March 2026
What triggers each action
Safe to delete
Unused in codebase
Not present in Figma
Both conditions must be true
Check before removing
Unused in codebase
Still present in Figma
May be planned — needs human decision
Implement
Exists in Figma
Not in codebase
Appears to be active design
Fix naming
Exists on both sides
Names don't match exactly
Fuzzy match score > 0.75
Keep — justified
Unused in code but in Figma
Confirmed planned feature, or
Valid state / size variant
Add to Figma
Exists in codebase only
Not in Figma at all
No fuzzy match found either
Icons matched
325
of 383 Figma / 338 code
Images matched
223
of 267 Figma / 226 code
Figma only
102
58 icons · 44 images
Code only
16
13 icons · 3 images
Unused in code
74
49 icons · 25 images
Naming mismatches
12
Design ↔ dev name drift
Safe to delete now
~20
Unused + not in Figma
Condition: in Figma + not in code. Action depends on whether the asset is active design, legacy, or a naming mismatch.
Icons — Figma only 58
Asset nameConditionsAction + reason
icon/badge_newnot in codein Figma
Keep — planned
Linked to experiment 25BC7 — confirmed upcoming work
icon/close_searchicon/photo_edit_expandicon/setting_outline_24not in codein Figma
Implement
Active design with no code counterpart found
icon/context_copyicon/context_duplicateicon/context_effectsnot in codein Figma
Implement or verify
Context menu icons — check if replaced by img_ equivalents
icon/text_editor_color_backicon/text_editor_color_foreicon/text_editor_color_fore_snot in codein Figma
Implement
Text editor color controls — active feature, missing in code
icon/text_presets_*not in codein Figma
Implement or deprecate
Large cluster — confirm with design which presets are still needed
icon/animation_32icon/background_32icon/doodle_32icon/more_32icon/pages_32icon/sticker_32icon/text_32icon/number_32icon/photo_video_32not in codein Figma
Implement or merge
32px cluster — check if smaller sizes in code already cover these
icon/output_imageHDname mismatchicon_output_image_hd in code
Fix Figma name
Same asset — Figma uses camelCase, code uses snake_case
icon/deletenot in codein Figma
Consolidate
Code already has icon_delete_24/32/red/white/p — this base name is redundant
icon/adder_menu_*_xmasicon/adder_menu_*_xmas2022not in codein Figma
Deprecate
Seasonal assets never exported to code — remove from Figma
icon/bn_context_bkg_xmas_2019icon/bn_context_sticker_xmas_2019not in codein Figma
Deprecate immediately
2019 assets — 5+ years old, never exported, safe to remove from Figma
icon/global/reseticon/remove/32icon/overlay 40x40icon/settings/app icon piccollagemalformed name
Fix Figma naming
Slashes and spaces break exports — rename to snake_case before exporting
Images — Figma only 44
Asset nameConditionsAction + reason
img/style_category_cuteimg/style_category_elegantimg/style_category_filmimg/style_category_grid_collageimg/style_category_minimalimg/style_category_photo_dumpimg/style_category_retroimg/style_category_scrapbooknot in codein Figma
Implement
New template category thumbnails — active feature design
img/magic_letter_preset_bubblesimg/magic_letter_preset_donutsimg/magic_letter_preset_jellynot in codein Figma
Implement
Other magic letter presets are in code — these 3 are missing
img/film_roll_*not in codein Figma
Implement
Film roll UI assets not yet exported
img/notifications_androidnot in codein Figma
Implement
Android-specific notification image — missing from codebase
img/vipfont_afterimg/vipfont_beforeimg/vip_after_outlineimg/vip_badge_carouselimg/vip_template_badge_*not in codein Figma
Check against existing VIP assets
Code already has img_vip_badge / _template_badge — verify not duplicates
img/transparent_checkerboardimg/transparent_checkerboard_thumbnailname mismatchimg_transparent_checker in code
Fix Figma name
Code truncated the name — align to full name
img/context_add_slideshowsname mismatchimg_context_add_slideshow in code
Fix naming
Plural vs singular — agree on one convention
img/auto-backup_cloudname mismatchimg_cloud_auto_backup in code
Fix Figma name
Word order swapped + hyphen used — rename to match code convention
img/wm_linename mismatchimg_watermark_line in code
Fix Figma name
Figma uses abbreviation — rename to full name
img/vip_badgedescription in name
Clean Figma layer name
Description text leaked into layer name — strip everything after the asset name
img/app_icon_becomeimg/app_icon_lumicaimg/template_grey_fillimg/menu_newsimg/video_collageimg/icon_eyedropper_indicator_outlineimg/illustration_email_loginimg/magic_color_button_smallimg/templates_holidayimg/templates_holiday25not in codein Figma
Review individually
Not clearly active or legacy — needs manual check per asset
Condition: in code + not in Figma. Either added by devs without a Figma source, or the name diverged from Figma.
Icons — code only 13
Asset nameConditionsAction + reason
icon_output_image_hdname mismatch
Fix naming
Figma has icon_output_imageHD — camelCase vs snake_case
icon_text_bgcolorname mismatch
Fix naming
Figma has icon_text_editor_color_back — completely different names for same asset
icon_adder_menu_doodlename mismatch
Fix naming
Figma has icon_exp_adder_menu_doodle — exp_ prefix not stripped on export
icon_canvas_sizeicon_durationicon_multipage_pagesicon_multipage_pages_plusin codenot in Figma
Add to Figma
Used in code but no Figma source — design should add these
icon_plusin codenot in Figma
Check aliases
Very generic — may exist in Figma as icon_e_add or similar
icon_adder_menu_photosicon_stickersicon_moreicon_photos_videosicon_add_photos_videosin codeslight name diff
Verify naming
Figma has similar but not exact matches — likely same assets with minor name drift
Images — code only 3
Asset nameConditionsAction + reason
img_cloud_auto_backupname mismatch
Fix naming
Figma has img_auto-backup_cloud — word order + hyphen mismatch
img_creationpage_icon_templatesunused in codenot in Figma
Safe to delete
Unused in code AND not in Figma — both sides have forgotten it
img_text_editor_presets_sunused in codenot in Figma
Safe to delete
Unused in code AND not in Figma — small variant (_s) never cleaned up
49 icons + 25 images are unused. Condition for each action: unused alone is not enough — the Figma status determines whether it's safe to delete or just needs a conversation first.
Safe to delete — unused in code AND not in Figma
AssetConditionsReason
icon_google_photoicon_square_facebook
unusednot in Figma3rd party icons, integration removed on both sides
img_connect_fbimg_connect_fb_darkimg_fb_friends_albumsimg_square_instagram
unusednot in FigmaFacebook/Instagram integration — gone from both design and code
img_app_icon_selfie_gridimg_app_icon_stickerizeimg_app_icon_waveimg_app_icon_google_photo
unusednot in Figma3rd party app icons — apps no longer integrated
img_empty_likeimg_empty_privateimg_empty_resp
unusednot in FigmaOld empty states — replaced, forgotten on both sides
img_photoboothimg_snow_backgroundimg_adder_downloading_dark
unusednot in FigmaFeature/seasonal legacy not tracked in Figma
img_creationpage_icon_templatesimg_text_editor_presets_s
unusednot in FigmaSmall variant assets never cleaned up
Check before removing — unused in code BUT still in Figma
AssetConditionsWhy to check first
icon_fullscreen_video_closeicon_muteicon_pauseicon_playicon_replayicon_unmuteunusedin FigmaFull video feature cluster — confirm feature is deprecated before removing
icon_start_feed_video_playicon_replayunusedin FigmaFeed video — likely deprecated but designer still has it
icon_nav_discovericon_menu_news_nunusedin FigmaRemoved nav items — check if planned for re-introduction
img_illustration_cloud_banner_vipimg_illustration_successunusedin FigmaMay have been replaced — verify with design
img_button_vip_ctaimg_discount_offer_bgunusedin FigmaVIP flow — check against current paywall implementation
img_bg_context_arrow_down/upimg_entries_magic_camimg_context_menu_effect_magicimg_left_arrow_indicatorunusedin FigmaMisc legacy — discuss with design before removing
Low priority — unused but likely valid variants
icon_check_32icon_eyedropper_20icon_layout_32icon_search_20icon_arrow_downicon_arrow_upicon_autoicon_camera_flipicon_rotateicon_scissoricon_filtericon_photoicon_pinicon_collapse_buttonicon_adder_menu_sizeicon_e_add_circleicon_e_unselect
Condition: unused in code + in Figma + appears to be intentional size or state variant. Keep unless confirmed obsolete.
Condition: exists on both sides + fuzzy name match > 0.75. Same asset, different names given by design vs dev independently. No new work needed — just align the names.
Figma nameCodebase nameFix needed
icon/output_imageHD
icon_output_image_hd
camelCase → snake_case
icon/feature_request_24
icon_feature_request
add _24 suffix in code
icon/text_editor_color_back
icon_text_bgcolor
completely different names
icon/global/reset
icon_reset
remove slash prefix in Figma
icon/remove/32
icon_delete_32
remove vs delete + slash
icon/overlay 40x40
icon_overlay
remove size + space in Figma
icon/exp_adder_menu_doodle
icon_adder_menu_doodle
strip exp_ on export
img/transparent_checkerboard
img_transparent_checker
use full name in code
img/context_add_slideshows
img_context_add_slideshow
agree plural vs singular
img/auto-backup_cloud
img_cloud_auto_backup
word order + hyphen
img/wm_line
img_watermark_line
use full name in Figma
img/vip_badge "Badge shown…"
img_vip_badge
strip description from name
Convention to prevent future mismatches: snake_case only · No slashes or spaces · No camelCase · No sizes in base name · Figma layer name must match export name exactly · No descriptions after the asset name
Icon groups with 3+ variants sharing the same base shape. Red tags = component-origin fragmentation — same shape created independently per component.
Shape groupVariantsVerdict
close cluster
icon_closeicon_close_20/24/32/40icon_close_whiteicon_nav_close_nicon_e_closeicon_save_cancelicon_clip_nav_close_nicon_circle_close_20icon_preview_close
Fragmentation
icon_save_cancel is the most misleading — it's just an X shape. Red = component-origin copies.
check cluster
icon_check_20/24/40/sicon_check_whiteicon_checkbox_bluegreenicon_clip_icon_e_check_accenticon_e_check_whiteicon_menu_done_1_disabledicon_btn_check_dark_n/s
Fragmentation
7 different names for the same checkmark shape across multiple components.
icon_delete
icon_delete_24icon_delete_32icon_delete_picon_delete_redicon_delete_whiteicon_e_deleteicon_e_delete_open
Consolidate e_ variants
icon_e_delete / icon_e_delete_open are component-origin copies — merge into main delete group.
icon_eyedropper
icon_eyedropper_24icon_eyedropper_32icon_eyedropper_fillicon_eyedropper_outlineicon_eyedropper_20 (unused)
Remove unused size
icon_eyedropper_20 is unused in code — remove it. 4 remaining variants are justified.
icon_undoicon_redo
icon_nav_undo/redo_inactive_solidicon_undo_24icon_redo_24
Check undo_24 / redo_24
May be redundant with icon_nav_undo — verify if both sizes are actively used.
icon_nav_aniicon_nav_helpicon_nav_layer
base_inactive_solid× 3 icons
Justified
Consistent state pattern (default / inactive / solid) applied uniformly — this is intentional.