Skip to content

Features: Offline Support & Caching, Placeholders, Field Bindings, more configuration#60

Open
bilal-arikan wants to merge 13 commits intosimonoliver:mainfrom
bilal-arikan:main
Open

Features: Offline Support & Caching, Placeholders, Field Bindings, more configuration#60
bilal-arikan wants to merge 13 commits intosimonoliver:mainfrom
bilal-arikan:main

Conversation

@bilal-arikan
Copy link

Hello,
thank you for making this library open source. I've added a few features and fixes to suit my needs and have started using it actively.
Please feel free to ask any questions.

Recent Updates

The following features have been recently added:

Offline Support & Caching

  • Cached Document Loading - Figma documents are now cached locally, allowing you to work offline or reprocess current documents without re-downloading
  • Separated Sync Workflows - The sync process is now split into multiple menu items for better control:
    • Sync ALL - Downloads the document and all assets (original behavior)
    • Sync Document (No Image) - Downloads only the Figma document structure without image assets
    • Reprocess Downloaded Document - Reprocesses the currently cached document without downloading
    • Download Server Rendered Images - Separately download complex vector shapes with rate limiting
    • Download Image Fills - Separately download image fills with rate limiting

Placeholder Images

  • Automatic Placeholder Generation - If image downloads fail, placeholder images (2x2 gray PNG) are automatically created to prevent broken references
  • Selective Re-downloading - Placeholders are automatically replaced with actual images on subsequent syncs

Smart Field Binding

  • Improved Field Name Matching - Field binding now supports multiple naming conventions:
    • Exact matches (case-insensitive)
    • Normalized matches (removes spaces, dashes, underscores) - e.g., "My Label" matches "MyLabel", "my-button" matches "MyButton"
    • Underscore prefixed fields - e.g., "m_ScoreLabel" matches "ScoreLabel"

Screen Enhancement Options

  • Canvas Components on Screens - New setting EnhanceScreensWithUIComponents automatically adds Canvas, CanvasScaler, and GraphicRaycaster components to generated screens
    • Useful when screens are used as standalone prefabs outside prototype flow
    • Components are only added if they don't already exist

Configurable Asset Root Folder

  • Custom Asset Location - New setting FigmaAssetsRootFolder allows you to specify where Figma assets are generated
    • Default: Assets/Figma
    • Change in Project Settings to organize assets differently
    • All generated folders (Screens, Components, ImageFills, Fonts, etc.) respect this setting

@bilal-arikan
Copy link
Author

image image Works really well

@simonoliver
Copy link
Owner

Hey, thanks for the PR, really appreciate you taking the time to submit. I'm currently a little stretched for time, so don't have a lot of capacity to support my open source projects, but I'll try to get to this in the near future.

Generally it's a lot more time consuming to review PRs that combine many different changes and features (rather than single fixes/improvements), but I can see there are lot of useful improvements here. Thanks again.

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.

2 participants