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
276
of 385 Figma / 289 code
Images Matched
200
of 260 Figma / 201 code
Figma Only
169
109 icons · 60 images
Code Only
14
13 icons · 1 images
Unused in Code
74
49 icons · 25 images
Naming Mismatches
12
Design ↔ dev name drift
Safe to Delete Now
2
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
109| Asset Name | Conditions | Action + Reason |
|---|---|---|
| icon_badge_new | not in code in Figma | Keep — planned Linked to experiment 25BC7 — confirmed upcoming work |
| icon_close_search icon_photo_edit_expand icon_setting_outline_24 | not in code in Figma | Implement Active design with no code counterpart found |
| icon_context_copy icon_context_duplicate icon_context_effects | not in code in Figma | Implement or verify Context menu icons — check if replaced by img_ equivalents |
| icon_text_editor_color_back icon_text_editor_color_fore icon_text_editor_color_fore_s | not in code in Figma | Implement Text editor color controls — active feature, missing in code |
| icon_text_presets_cheers icon_text_presets_corememories icon_text_presets_familytime icon_text_presets_friendsforever icon_text_presets_goodtimes icon_text_presets_lifelately icon_text_presets_loveyou icon_text_presets_makingmemories icon_text_presets_slowweekend icon_text_presets_wanderlust | not in code in Figma | Implement or deprecate Large cluster — confirm with design which presets are still needed |
| icon_animation_32 icon_background_32 icon_doodle_32 icon_more_32 icon_pages_32 icon_sticker_32 icon_text_32 icon_number_32 icon_photo_video_32 | not in code in Figma | Implement or merge 32px cluster — check if smaller sizes in code already cover these |
| icon_output_imageHD | name mismatch | Fix Figma name Same asset — Figma uses camelCase, code uses snake_case |
| icon_delete | not in code in Figma | Consolidate Code already has icon_delete_24/32/red/white/p — this base name is redundant |
| icon_adder_menu_*_xmas icon_adder_menu_*_xmas2022 | not in code in Figma | Deprecate Seasonal assets never exported to code — remove from Figma |
| icon_bn_context_bkg_xmas_2019 icon_bn_context_sticker_xmas_2019 | not in code in Figma | Deprecate immediately 2019 assets — 5+ years old, never exported, safe to remove from Figma |
| icon_global_reset icon_remove_32 icon_overlay 40x40 icon_settings_app icon piccollage | malformed name | Fix Figma naming Slashes and spaces break exports — rename to snake_case before exporting |
Images — Figma only
60| Asset Name | Conditions | Action + Reason |
|---|---|---|
| img_style_category_cute img_style_category_elegant img_style_category_film img_style_category_grid_collage img_style_category_minimal img_style_category_photo_dump img_style_category_retro img_style_category_scrapbook | not in code in Figma | Implement New template category thumbnails — active feature design |
| img_magic_letter_preset_bubbles img_magic_letter_preset_donuts img_magic_letter_preset_jelly | not in code in Figma | Implement Other magic letter presets are in code — these 3 are missing |
| img_film_roll_* | not in code in Figma | Implement Film roll UI assets not yet exported |
| img_notifications_android | not in code in Figma | Implement Android-specific notification image — missing from codebase |
| img_vipfont_after img_vipfont_before img_vip_after_outline img_vip_badge_carousel img_vip_template_badge_after img_vip_template_badge_before img_vip_template_badge_overlay_after img_vip_template_badge_overlay_before | not in code in Figma | Check against existing VIP assets Code already has img_vip_badge / _template_badge — verify not duplicates |
| img_transparent_checkerboard img_transparent_checkerboard_thumbnail | name mismatch | Fix Figma name Code truncated the name — align to full name |
| img_context_add_slideshows | name mismatch | Fix naming Plural vs singular — agree on one convention |
| img_auto_backup_cloud | name mismatch | Fix Figma name Word order swapped + hyphen used — rename to match code convention |
| img_wm_line | name mismatch | Fix Figma name Figma uses abbreviation — rename to full name |
| img_app_icon_become img_app_icon_lumica img_template_grey_fill img_menu_news img_video_collage img_icon_eyedropper_indicator_outline img_illustration_email_login img_magic_color_button_small img_templates_holiday img_templates_holiday25 | not in code in 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 Name | Conditions | Action + Reason |
|---|---|---|
| icon_output_image_hd | name mismatch | Fix naming Figma has icon_output_imageHD — camelCase vs snake_case |
| icon_text_bgcolor | name mismatch | Fix naming Figma has icon_text_editor_color_back — completely different names for same asset |
| icon_adder_menu_doodle | name mismatch | Fix naming Figma has icon_exp_adder_menu_doodle — exp_ prefix not stripped on export |
| icon_canvas_size icon_duration icon_multipage_pages icon_multipage_pages_plus | in code not in Figma | Add to Figma Used in code but no Figma source — design should add these |
| icon_plus | in code not in Figma | Check aliases Very generic — may exist in Figma as icon_e_add or similar |
| icon_adder_menu_photos icon_adder_menu_more icon_adder_menu_photos_videos icon_adder_menu_animation | in code slight name diff | Verify naming Figma has similar but not exact matches — likely same assets with minor name drift |
Images — code only
1| Asset Name | Conditions | Action + Reason |
|---|---|---|
| img_cloud_auto_backup | name mismatch | Fix naming Figma has img_auto-backup_cloud — word order + hyphen mismatch |
| img_creationpage_icon_templates | unused in code not in Figma | Safe to delete Unused in code AND not in Figma — both sides have forgotten it |
| img_text_editor_presets_s | unused in code not 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
2| Asset | Conditions | Reason |
|---|---|---|
| img_creationpage_icon_templates img_text_editor_presets_s | unused not in Figma | Safe to delete now Unused in code AND not in Figma — both sides have forgotten these |
Check before removing — unused in code BUT still in Figma
72| Asset | Conditions | Why to check first |
|---|---|---|
| icon_fullscreen_video_close icon_fullscreen_video_mute icon_fullscreen_video_pause icon_fullscreen_video_play icon_fullscreen_video_replay icon_fullscreen_video_unmute | unused in Figma | Full video feature cluster — confirm feature is deprecated before removing |
| icon_start_feed_video_play icon_start_feed_video_replay | unused in Figma | Feed video — likely deprecated but designer still has it |
| icon_nav_discover icon_menu_news_n | unused in Figma | Removed nav items — check if planned for re-introduction |
| img_illustration_cloud_banner_vip img_illustration_success | unused in Figma | May have been replaced — verify with design |
| img_button_vip_cta img_discount_offer_bg | unused in Figma | VIP flow — check against current paywall implementation |
| img_bg_context_arrow_down img_bg_context_arrow_up img_entries_magic_cam img_context_menu_effect_magic img_left_arrow_indicator | unused in Figma | Misc legacy — discuss with design before removing |
| icon_check_32 icon_eyedropper_20 icon_layout_32 icon_search_20 icon_arrow_down icon_arrow_up icon_auto icon_camera_flip icon_rotate icon_scissor icon_filter icon_photo icon_pin icon_collapse_button icon_adder_menu_size icon_e_add_circle icon_e_unselect icon_delete_n icon_collage_other icon_comment_small icon_like_small icon_more_n icon_nav_back_after icon_output_gif icon_output_setting icon_overlay icon_photo_edit_blur icon_photo_edit_overlays icon_photos_videos icon_play_mycollage icon_preview_close_button icon_res_reply icon_save_discard icon_save_mycollage icon_square_facebook icon_view_reply icon_vip_dot icon_google_photo icon_setting_alert img_adder_downloading_dark img_app_icon_google_photo img_app_icon_selfie_grid img_app_icon_stickerize img_app_icon_wave img_connect_fb img_connect_fb_dark img_fb_friends_albums img_photobooth img_snow_background img_square_instagram | unused in Figma | Low priority — unused but likely valid variants or feature flags. Confirm with design. |
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.
Naming mismatches
12| Figma Name | Codebase Name | Fix 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 clusters
6| Shape Group & Variants | Verdict |
|---|---|
| close cluster icon_close icon_close_20 icon_close_24 icon_close_32 icon_close_40 icon_close_white icon_nav_close_n icon_e_close icon_save_cancel icon_clip_nav_close_n icon_circle_close_20 icon_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 icon_check_24 icon_check_40 icon_check_s icon_check_white icon_checkbox_bluegreen icon_clip_icon_e_check_accent icon_e_check_white icon_menu_done_1_disabled icon_btn_check_dark_n icon_btn_check_dark_s |
Fragmentation 7 different names for the same checkmark shape across multiple components. |
| icon_delete icon_delete_24 icon_delete_32 icon_delete_p icon_delete_red icon_delete_white icon_e_delete icon_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_24 icon_eyedropper_32 icon_eyedropper_fill icon_eyedropper_outline icon_eyedropper_20 (unused) |
Remove unused size icon_eyedropper_20 is unused in code — remove it. 4 remaining variants are justified. |
| icon_undo / icon_redo icon_nav_undo icon_nav_undo_inactive icon_nav_undo_solid icon_nav_redo icon_nav_redo_inactive icon_nav_redo_solid icon_undo_24 icon_redo_24 |
Check undo_24 / redo_24 May be redundant with icon_nav_undo — verify if both sizes are actively used. |
| icon_nav_ani / help / layer icon_nav_ani icon_nav_ani_inactive icon_nav_ani_solid icon_nav_help icon_nav_help_inactive icon_nav_help_solid icon_nav_layer icon_nav_layer_inactive icon_nav_layer_solid |
Justified Consistent state pattern (default / inactive / solid) applied uniformly — this is intentional. |