Record the finite dependency search, Wi-Fi maintenance blocker, and pinned icon provenance. Add bounded host orchestration and fixture coverage, and update release documentation with current evidence.
118 lines
7.1 KiB
Markdown
118 lines
7.1 KiB
Markdown
# Exact USB and Wi-Fi icon provenance
|
|
|
|
Reviewed 2026-09-16. This record resolves the identity of the **two retained
|
|
preferred-form SVG sources at Material Design Icons 7.4.47**, not all project
|
|
artwork, historical authorship of manual edits, or release compliance.
|
|
No firmware, mockup, web asset, or generated asset was changed or regenerated.
|
|
|
|
## Official pinned source and licenses
|
|
|
|
Official SVG distribution: <https://github.com/Templarian/MaterialDesign-SVG>.
|
|
Its upstream README identifies this as the production SVG distribution and
|
|
points to the main MaterialDesign repository for issues. The main repository
|
|
URL with tag `v7.4.47` returned 404; it is not used as version evidence.
|
|
|
|
- Distribution tag: `v7.4.47`.
|
|
- Annotated tag object: `5edde266e281d26a03dcfa89fb651183cbab0f2e`.
|
|
- Peeled commit: `9e04201d4557e729822fb57f62a316c3dea1d4a8`.
|
|
- Upstream `package.json`: `@mdi/svg`, version `7.4.47`, license `Apache-2.0`.
|
|
- Tag timestamp: `2023-12-26T23:33:26Z`; GitHub reports it **unsigned**.
|
|
HTTPS retrieval and content pins are evidence, not signature authentication.
|
|
|
|
Unmodified upstream SVGs, LICENSE, README, package metadata, complete `meta.json`,
|
|
and GitHub tag/tree responses are retained in
|
|
[`third_party/material-design-icons/upstream-7.4.47/`](../third_party/material-design-icons/upstream-7.4.47/).
|
|
`downloads.json` records exact retrieval URLs, sizes and SHA-256 hashes. Raw
|
|
source URLs use the immutable commit, not a moving branch or tag. API responses
|
|
are retained as fetched; future API formatting is not assumed stable.
|
|
The full metadata/tree files intentionally preserve the evidence behind the
|
|
per-icon selections and absence check, rather than only project-written claims.
|
|
|
|
The existing `third_party/material-design-icons/LICENSE` is byte-identical to
|
|
the pinned upstream Pictogrammers Free License summary and remains unchanged.
|
|
It distinguishes icon Apache-2.0/respective grants from code MIT terms. The
|
|
package declares Apache-2.0; the two metadata entries contain authors but no
|
|
per-icon alternate grant. This is the scoped upstream licensing evidence for
|
|
these two SVGs, not a blanket conclusion about every icon in the collection.
|
|
`upstream-7.4.47/Apache-2.0.txt` supplies the **full Apache-2.0 text**, fetched
|
|
from <https://www.apache.org/licenses/LICENSE-2.0.txt> (SHA-256
|
|
`cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30`).
|
|
It is a separately sourced license text, not a file falsely attributed to the
|
|
upstream icon tree. The retained non-truncated recursive tree has no path
|
|
containing `notice` (case-insensitive); no upstream NOTICE was found in this
|
|
pinned distribution and none is fabricated here. This does not audit unrelated
|
|
repositories or assert that a NOTICE is mandatory for every Apache work.
|
|
|
|
| Icon | Metadata attribution | Stable icon ID | First-version metadata | SVG SHA-256 |
|
|
| --- | --- | --- | --- | --- |
|
|
| `usb` | Google | `25033E0B-3AD4-414D-9972-559F2690FC1D` | `1.5.54` | `c9918e9a983fbd788378ca4c524e7a07a0d5eedcaeff73d19814e6f6ae221f22` |
|
|
| `wifi-strength-4` | Simran | `41B86B22-7245-4A97-9BAA-3E9EBD44CEB0` | `2.3.50` | `89d14daf863076b0f73c76d913212875f2e9bcddaaf49c9e5d1825e0b2dc2d5f` |
|
|
|
|
The metadata `version` fields describe icon introduction versions, **not** a
|
|
contradiction of package 7.4.47. Matching these sources to that release does not
|
|
prove they originated in that release or were originally downloaded from it.
|
|
|
|
## Exact comparison to project derivatives
|
|
|
|
1. **Retained SVGs:** `third_party/material-design-icons/usb.svg` (403 bytes)
|
|
and `wifi-strength-4.svg` (219 bytes) are each byte-for-byte identical to the
|
|
pinned upstream originals, including every path command, coordinate, arc
|
|
flag and viewBox. Each has one path, `viewBox="0 0 24 24"`, and no transform
|
|
on the root or path. No coordinate rounding, normalization or visual-match
|
|
inference was used. The files remain unchanged.
|
|
2. **USB mockup:** `docs/phase7c_icon_mockup.svg` symbol `usb` has exactly the
|
|
upstream `d` string and 24-by-24 viewBox, without symbol/path transforms.
|
|
Its two direct use definitions are `(x,y,width,height)=(150,4,30,30)` inside
|
|
reusable `status`, and `(8,72,30,30)` on the broker page. These apply uniform
|
|
scale `30/24 = 1.25` and the stated translations. Status is instantiated in
|
|
page groups translated by `(62,98)`, `(592,98)`, `(62,438)`, `(592,438)`;
|
|
the broker use is in `(62,438)`. Thus status USB geometry maps as
|
|
`(X,Y)=(pageX+150+1.25*x, pageY+4+1.25*y)` and broker USB as
|
|
`(X,Y)=(62+8+1.25*x,438+72+1.25*y)`. CSS adds presentation fill/stroke;
|
|
this is path geometry equivalence, not pixel/rendering equivalence.
|
|
3. **Wi-Fi mockup:** symbol `wifi` in that same mockup uses a different,
|
|
segmented path starting `M1 8q11-9 22 0`. It is **not** an exact copy of
|
|
`wifi-strength-4` (which starts `M12,3C7.79,3`). No exact affine derivation
|
|
or upstream provenance for that distinct mockup path is established here.
|
|
4. **Actual firmware:** `src/local_status_ui.c` explicitly calls the USB mask
|
|
hand-rasterized and the Wi-Fi masks compact segmented adaptations. The exact
|
|
editable row bytes are:
|
|
|
|
```text
|
|
s_icon_usb: 18 3c 18 5a 3e 18 3c 18
|
|
s_icon_wifi_full: 7e 81 3c 42 18 24 00 18
|
|
s_icon_wifi_three: 00 00 3c 42 18 24 00 18
|
|
s_icon_wifi_two: 00 00 00 00 18 24 00 18
|
|
s_icon_wifi_one: 00 00 00 00 00 00 00 18
|
|
```
|
|
|
|
These manual 8-by-8 masks are not SVG coordinates or exact scaled vector
|
|
paths. No deterministic rasterizer, sampling/threshold rule or edit history
|
|
establishes an exact upstream-to-mask transform. Their declared design
|
|
provenance is supported by the now-verified retained sources, but **exact
|
|
mechanical derivation of the firmware masks remains unresolved**. Preserve
|
|
the C arrays as the preferred editable form of those manual modifications,
|
|
together with both original SVGs; do not substitute an invented generator.
|
|
The existing source comment is the adaptation notice. This dated record
|
|
documents the inspected modifications; it does not invent their edit date.
|
|
|
|
## Offline checks and release boundary
|
|
|
|
`python3 tests/release_notices/run.py` verifies the pinned source bytes and Git
|
|
blob identities, version/author metadata, catalog inclusion, exact SVG geometry,
|
|
USB mockup placement/ancestry, distinct Wi-Fi mockup path, and current manual
|
|
mask bytes. Negative checks reject coordinate and transform changes. Tests do
|
|
not regenerate artwork or claim raster equivalence.
|
|
|
|
The notice catalog retains all previous inputs and adds the two existing SVGs,
|
|
these source originals, licensing/metadata evidence and this record. The bundle
|
|
is still **not corresponding source or release clearance**. Firmware C arrays
|
|
and the full mockup remain in the project, not copied into this bounded notice
|
|
bundle; include them in a separately reviewed corresponding-source delivery
|
|
where required. Radio-blob/source-exception questions, wolfSSH packaging,
|
|
recipient notice/source delivery and other release gates remain open.
|
|
|
|
Older global inventory/packaging/memory documents describe the pre-verification
|
|
state and counts. They were intentionally not edited in this scoped task;
|
|
this record and the current catalog provide the narrower updated evidence.
|