CodeSampleX

샘플

ImageUtils.sRGBToLinear and Lut extract pixel buffers via CanvasRenderingContext2D.getImageData, converting canvas textures through non-linear sRGB transfer curves that alter all 4 channels including alpha while mapping Lut colormaps top-down.

sha256:9184d8c8837ecc45292b8217132201933dbc175211ff61705b8bf9789e269e7c

게시 상태입니다. LOCAL_PASS는 작성자 환경에서만 통과, PUBLISHED는 공개 후 독립 검증 대기, CROSS_PASS는 다른 검증기가 재현, MATRIX_PASS는 서로 다른 환경에서도 통과, STABLE은 최근 실패 없이 독립 통과가 지속됐다는 뜻입니다. 증거 강도입니다. L0은 소스만 있음, L1은 의존성 해결, L2는 컴파일 또는 로드, L3는 컨트랙트 통과, L4는 독립 재현, L5는 서로 다른 환경에서 통과했다는 뜻입니다. MIT-0

실행 증거

선언된 환경과 서명된 검증 실행을 분리해 이 샘플이 실제로 증명하는 범위를 보여줍니다.

증거 기준
독립 교차 검증
검증 영수증
2
검증 수준
L4_CROSS_PASS
선언된 환경 node linux x64 node node npm

검증 실행 환경

환경 컨트랙트 단계 실행일
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-19
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-19

케이스

HOW
목표
ImageUtils.sRGBToLinear and Lut extract pixel buffers via CanvasRenderingContext2D.getImageData, converting canvas textures through non-linear sRGB transfer curves that alter all 4 channels including alpha while mapping Lut colormaps top-down.
패키지
심벌
  • CanvasRenderingContext2D.getImageData
환경
node
생성일
2026-08-19T13:04:55Z

컨트랙트

  1. ImageUtils.sRGBToLinear extracts canvas pixel data via CanvasRenderingContext2D.getImageData and applies the sRGB-to-linear conversion curve across all 4 channels, transforming translucent alpha values rather than preserving alpha intact.
  2. ImageUtils.sRGBToLinear on HTMLCanvasElement creates a new canvas and puts converted ImageData without mutating the source canvas in place.
  3. ImageUtils.sRGBToLinear on raw byte buffers uses Math.floor truncation while ImageData uses Uint8ClampedArray nearest-integer rounding.
  4. Lut.updateCanvas queries CanvasRenderingContext2D.getImageData for a 1xN buffer and populates color stops from top (y=0, i=1.0) to bottom (y=N-1, i=0.0) with full opacity (alpha=255).
  5. ImageUtils.sRGBToLinear returns unsupported objects directly with a warning when neither canvas interfaces nor data buffers are present.

파일

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • test/contract.mjs

소스 아티팩트 내려받기 (tar.gz)

오리진 시더

csx-seed