open-standards/aac/aac-rs/crates/aac-web/public/symbols/openmoji.eb70bd71ef52.svg
Transaction Science 4f54a8cae0
All checks were successful
standards workspaces build + test / jouleclaw-rs (push) Successful in 2m58s
standards workspaces build + test / aac-rs (push) Successful in 1m3s
standards workspaces build + test / joule-code-rs (push) Successful in 1m9s
standards workspaces build + test / joulecontract-rs (push) Successful in 31s
standards workspaces build + test / map-rs (push) Successful in 33s
standards workspaces build + test / mesh-rs (push) Successful in 32s
standards workspaces build + test / openpay (push) Successful in 1m56s
no-vanity-metrics / Scan committed Markdown for vanity metrics (push) Successful in 3s
standards workspaces build + test / eoc-rs (push) Successful in 1m49s
standards workspaces build + test / jcp-rs (push) Successful in 1m18s
standards workspaces build + test / proof-rs (push) Successful in 1m13s
standards workspaces build + test / sandbox-rs (push) Successful in 2m8s
standards workspaces build + test / smart-byte-rs (push) Successful in 2m35s
standards workspaces build + test / arl-rs (push) Successful in 2m25s
standards workspaces build + test / joule-ui-rs (push) Successful in 2m45s
standards workspaces build + test / jouledesk-rs (push) Successful in 2m16s
standards workspaces build + test / joulehook-rs (push) Successful in 2m53s
standards workspaces build + test / sense-rs (push) Successful in 3m9s
standards workspaces build + test / macOS energy backend (jcp-energy) (push) Successful in 2m46s
feat(symbols): people drawn in no one's skin, gender or age by default
Pictograms must be international in how they show gender, ethnicity and
age. Following Unicode's emoji model (UTS #51):

- Skin. Every person in Mulberry and OpenMoji is drawn in a generic,
  non-realistic colour -- UTS #51's own example, #FFCC22 (OpenMoji's
  lemon would melt into Mulberry's lemon hair, clothes and objects) --
  or in the skin tone the person chooses: one of the five modifiers
  U+1F3FB-U+1F3FF, in OpenMoji's colours (aac_core:🔣:SkinTone).
  The build writes skin as the CSS custom property --aac-skin (OpenMoji's
  skin shadow as --aac-skin-shade) over a neutral fill, so a renderer
  without the style still draws a person neutral, never black.
  - Mulberry: its authors' aac-skin-fill markers where present; for the
    rest, a reviewed decision per symbol in people.toml (a cake's icing
    and a computer case share the skin colour). The build stops on a
    missing or stale decision.
  - OpenMoji: its skin layers, checked element by element against its
    own toned variants.
  A visual audit of all 397 mapped symbols with the skin colour shown as
  magenta, and an adversarial second look, confirmed every call;
  people-review.md lists every symbol that draws a person and how.
- Gender and age. Where Mulberry drew a man's face or a child for a word
  that names neither (the feelings, Speak, eat, drink, doctor, teacher,
  police, hi...), OpenMoji's emoji face (no gender, age or skin) or
  Unicode's gender-neutral person is used instead; police wears a cap
  worn worldwide, not a British helmet.
- Hair keeps its colour whatever the tone.
- App: Settings > Symbols > People in pictures, and the same choice in
  setup; kept with the symbol set and applied on the app root.
- SPEC 4.3 (proposed): people in symbols.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 08:35:11 -04:00

118 lines
116 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.