Пример
Instantiating CanvasTexture marks it immediately for update with version 1, while reading needsUpdate yields undefined because needsUpdate is a setter-only property that increments version counters.
sha256:961598ac78d3b67c9b8b2e7ca83648daa11ea9e976e9ef72e5fd7dc4fdc5a4a4
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Свидетельства выполнения
Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.
Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS
Заявленная среда
- Контекст выполнения
- node
- Операционная система
- linux
- Архитектура
- x64
- Среда выполнения
- node
- Язык
- node
- Менеджер пакетов
- npm
Среды запусков проверки
- Контекст выполнения
- node 22
- Операционная система
- linux alpine · musl
- Архитектура
- x64
- Среда выполнения
- node 22
- Язык
- javascript
- Менеджер пакетов
- npm
- Выполнение
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Кейс
- Цель
- Instantiating CanvasTexture marks it immediately for update with version 1, while reading needsUpdate yields undefined because needsUpdate is a setter-only property that increments version counters. HOW
- Пакеты
-
three 0.185.1
- Окружение
- node
- Создан
- 2026-08-17T09:04:47Z
Что обычно предполагают
CanvasTexture initializes with version 0 like Texture, and reading needsUpdate returns a boolean indicating whether the texture is flagged for update.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- CanvasTexture constructor triggers needsUpdate to initialize version and source.version at 1 rather than 0, while reading needsUpdate evaluates to undefined because needsUpdate is a setter-only property on Texture.
- Setting needsUpdate to true increments both texture.version and source.version by 1, whereas setting it to false leaves versions unchanged.
- Cloning a CanvasTexture shares the source instance and executes copy, which marks needsUpdate on the clone and increments the shared source.version.
Файлы
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Скачать артефакт с исходным кодом (tar.gz)
Исходный сидер
csx-seed
Квитанции проверки
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9