1# whiskers-icons 2 3The pixel icons Whiskers may draw for what it remembers, and how to read them. A child who cannot read 4needs a picture on every card; these are the pictures. 5 6The icons are [shuqikhor/pixel-icons](https://github.com/shuqikhor/pixel-icons) by shuqikhor, vendored unchanged in 7[`third-party/pixel-icons`](../../third-party/pixel-icons/). **Not all of them are for a young child.** The 8decision is data, in [`allowlist.txt`](allowlist.txt), and it is the file to read when reviewing: one line per 9icon of the pack, `+` admitted or `-` excluded with the reason. The only reason to exclude one is that it does 10not suit a young child. 11 12## What is admitted and what is not (357 icons in the pack) 13 14| Category of the pack | Admitted | Excluded | Why those are out | 15|---|---:|---:|---| 16| Animals | 54 | 0 | | 17| Dinosaurs | 4 | 0 | | 18| Fruits, Vegetables and other Ingredients | 21 | 0 | | 19| Food and Drinks | 47 | 2 | `beer`, `wine`: alcohol | 20| Objects | 83 | 2 | `credit-card`, `dollar`: money | 21| Logos | 39 | 1 | `paypal`: money and payments | 22| Games | 7 | 0 | | 23| Pokemons | 18 | 0 | | 24| Memes | 5 | 4 | `stonks`, `take-my-money`: money; `sad-pepe`: not for a young child; `this-is-fine`: a room on fire could frighten | 25| UI | 44 | 26 | text-editor, file and mail buttons; warning signs (`alert-*`); `scissors`, `wrench`: not pictures of anything a child would tell Whiskers about | 26| **Total** | **322** | **35** | | 27 28The UI icons admitted (arrows, speaker, battery, star, thumbs, user, bell, ...) are for the app's own menu; 29a fact is given a picture of a *thing* (`IconId::depicts_a_thing`), never one of those. The pack has no 30check mark, so the green check is drawn by the app. 31 32## What is here 33 34| File | What | 35|---|---| 36| `allowlist.txt` | The curated list. Data, reviewed by the owner. | 37| `src/lib.rs` | `IconId`: the name of an admitted icon. The only way to make one is to name an admitted entry, so a fact cannot point at an icon that was not admitted. | 38| `src/allowlist.rs` | The reader of `allowlist.txt`. | 39| `src/raster.rs` | Reads the pack's SVG files into pixels, and refuses anything it cannot draw faithfully. | 40| `src/kotlin.rs`, `src/bin/gen-kotlin.rs` | Writes the admitted icons as Kotlin data for the app (`tools/build-core.sh` runs it). | 41| `examples/show.rs` | `cargo run -p whiskers-icons --example show -- cat bin` prints icons as text, to look at. | 42| `tests/pack.rs` | Holds the allowlist to the pack: every file decided once, every name a file, what does not suit a young child stays out, and what she loves is in. |