1.9 KiB
M16-GAP-00018 Status
status: done task: ParticleSettings data-block LOCAL_EXACT slice updated: 2026-08-19 America/New_York
scope: Blender 5.2 ParticleSettings identity and bounded emission fields: type, source, distribution, physics, count, frame range, lifetime, particle size and draw size.
evidence:
tools/web/generated/M16-GAP-00018.pygenerated a minimal retainedWebGapParticleSettingsdata-block without a particle-system modifier, avoiding unrelated modifier state while preserving the exact RNA data.- Desktop report reopened after save and matched exactly: emitter type, face source, JIT distribution, Newton physics, 128 particles, frames 4-96, lifetime 32, size 0.125 and draw size 0.25.
- The Blend reader now exports
ParticleSettingsblocks into SceneIR; WASM/Main opened the same fixture and matched every bounded field. Save/reopen matched the full ParticleSettings snapshot exactly. - A truncated malformed Blend submitted to an already loaded Main was rejected and the original snapshot remained unchanged.
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00018.py -- tests/files/web/generated/M16-GAP-00018-datablock-ParticleSettings.blendexited 0.npm --prefix web run test:generated-gap -- --task M16-GAP-00018exited 0.node tools/web/check-generated-gap.mjs --task M16-GAP-00018exited 0.
artifacts: tests/golden/M16-GAP-00018/manifest.json contains SHA-256 for the parent manifest, fixture, generator, desktop/Web checkers, reader/API/protocol/runtime and both reports.
knownRisk: This closes one datablock:ParticleSettings observability slice only. Particle-system modifiers, particle simulation, operators and all other generated gaps remain separate tasks.
rollback: remove this task's fixture, generator, checker branch, reports, manifest, status and context; restore M16-GAP-00017 as the queue tail without editing its successful evidence.
nextTask: M16-GAP-00019