Stickers, coloring pages (and later backgrounds) are delivered as content
packs (ADR 0018). In v1 the packs are bundled in
app/assets/packs/; a downloadable catalog may come later with the same
format.
app/assets/packs/
├── index.json # {"packs": ["fluent-animals", ...]}, in tab order
├── LICENSE-fluent-emoji.txt
└── fluent-animals/
├── pack.json
└── stickers/
├── dog_face.svg
└── ...
pack.json{
"id": "fluent-animals",
"version": 1,
"kind": "stickers",
"title": { "it": "Animali", "en": "Animals" },
"icon": "dog_face",
"author": "Microsoft Fluent Emoji",
"license": "MIT",
"licenseFile": "../LICENSE-fluent-emoji.txt",
"source": "https://github.com/microsoft/fluentui-emoji",
"items": [
{ "id": "dog_face", "file": "stickers/dog_face.svg", "name": "Dog face" }
]
}
| Field | Meaning |
|---|---|
id |
Stored in drawings with the item id: never rename it. |
version |
Increases when the pack changes. |
kind |
stickers (the default when omitted) or coloring. Packs of a kind the app does not know are skipped. |
title |
Category name by language; English is the fallback. |
icon |
Item shown on the category tab. |
license, licenseFile, author, source |
Shown in the credits. Only licenses compatible with GPL-3.0 (ADR 0014). |
items |
id (stored in drawings, never rename it), file (SVG, relative to the pack), name (English, for screen readers). |
A pack with "kind": "coloring" holds coloring pages in coloring/*.svg
(ADR 0022). Each page is fitted to the sheet
with a margin, so it works in portrait and landscape; square or slightly
wide pages fit both best.
"license": "CC0-1.0").app/assets/packs/pastello-animals/
├── pack.json # "kind": "coloring"
└── coloring/
├── cat.svg
└── ...
The bundled pages are generated by tool/generate_coloring_pages.py: edit
a page there and run it from the repository root, so the SVGs and the
manifests stay in sync. Shapes are filled with white and drawn back to
front, so a shape hides the lines behind it; white areas are see-through
in the app (ADR 0022).
pack.json and the SVGs. Keep SVGs simple (no
filters or embedded images) and square.index.json and both folders to the assets list in
app/pubspec.yaml.pack.json.The bundled packs contain 220 Fluent Emoji (Flat style), © Microsoft, MIT license.