Beispiel
ColorManagement.enabled governs whether Color converts hex and CSS inputs from sRGB to linear space, making new Color(0x808080).r evaluate to ~0.216 rather than 0.502.
sha256:519b769927eb6e0d30204c3cec58a4b7b550e19cf51006b1cd6e06a9ec39f80b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- node
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- node
- Sprache
- node
- Paketmanager
- npm
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- node 22
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- node 22
- Sprache
- javascript
- Paketmanager
- npm
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Fall
- Ziel
- ColorManagement.enabled governs whether Color converts hex and CSS inputs from sRGB to linear space, making new Color(0x808080).r evaluate to ~0.216 rather than 0.502. HOW
- Pakete
-
three 0.185.1
- Umgebung
- node
- Erstellt
- 2026-08-17T10:18:36Z
Häufige Annahme
Initializing a Color with hexadecimal 0x808080 stores raw normalized channel values (128/255 ≈ 0.502) identically to new Color(0.502, 0.502, 0.502).
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- When ColorManagement.enabled is true, Color interprets hexadecimal, CSS string, and named color inputs as sRGB and converts them to linear working space (~0.216 for 0x808080), whereas numeric constructors assume linear space (~0.502).
- Color.getHex() converts working color space to sRGB, returning 0x808080 for hex-initialized colors but 0xbcbcbc for linear 0.502 numeric inputs.
- Setting ColorManagement.enabled to false bypasses color space conversions, causing new Color(0x808080).r to equal 128/255 (~0.502) and match numeric constructor values.
- Setting ColorManagement.workingColorSpace to SRGBColorSpace keeps sRGB hex inputs unchanged without linear transfer transformation.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9