How to handle images loaded from files to avoid duplicates from different libraries.
Images should not be added to each SDK. It should be loaded from assets in a centralized lib and made available as Image Widget (for UI usage) and dar:ui Image object (for raw usage). These methods should be exposed by the lib and executed in runtime.
This library should work as a singleton as well as each object delivered by it to avoid duplicated objects for the same image.
How to store images in the design lib to avoid unnecessary loads and have it right available when needed.
The objects loaded by the lib should be lazy-loaded.
In the future, the lib could precache these images if the app ui blinks due to image loading (very unlikely)
How to generate the icons as font from svg files.
FlutterIcon http://fluttericon.com/ library should be used to generate the font icons to be added to the app.
Icon fonts should not be added to each sdk either. Each sdk should have its svg icons in the root of the project and the iconfonts should be generated manually and added in the design lib as assets.
Before adding a new icon, the developer should check if it doesn't exist yet in the lib.
how to automate the process (needs further investigation)
For fonts https://github.com/paulyoung/fontello-cli should be used as indicated by fluttericon. Needs investigation about the process itself and how to sanitize svg and compare added icons to avoid duplicates.
As a software architect I need to understand how Flutter/Dart deal with assets and resources to build the design library.
Research
Acceptance criteria: 1 - Answers for these questions for discussion.