<!-- NEW4 — TEST 4 · THE QUILT · part 116 -->
!== undefined ) this.depthWrite = json.depthWrite;
		if ( json.colorWrite !== undefined ) this.colorWrite = json.colorWrite;
		if ( json.clippingPlanes !== undefined ) this.clippingPlanes = json.clippingPlanes.map( plane => new Plane().fromJSON( plane ) );
		if ( json.clipIntersection !== undefined ) this.clipIntersection = json.clipIntersection;
		if ( json.clipShadows !== undefined ) this.clipShadows = json.clipShadows;
		if ( json.depthPacking !== undefined ) this.depthPacking = json.depthPacking;
		if ( json.blendSrc !== undefined ) this.blendSrc = json.blendSrc;
		if ( json.blendDst !== undefined ) this.blendDst = json.blendDst;
		if ( json.blendEquation !== undefined ) this.blendEquation = json.blendEquation;
		if ( json.blendSrcAlpha !== undefined ) this.blendSrcAlpha = json.blendSrcAlpha;
		if ( json.blendDstAlpha !== undefined ) this.blendDstAlpha = json.blendDstAlpha;
		if ( json.blendEquationAlpha !== undefined ) this.blendEquationAlpha = json.blendEquationAlpha;
		if ( json.blendColor !== undefined && this.blendColor !== undefined ) this.blendColor.setHex( json.blendColor );
		if ( json.blendAlpha !== undefined ) this.blendAlpha = json.blendAlpha;
		if ( json.stencilWriteMask !== undefined ) this.stencilWriteMask = json.stencilWriteMask;
		if ( json.stencilFunc !== undefined ) this.stencilFunc = json.stencilFunc;
		if ( json.stencilRef !== undefined ) this.stencilRef = json.stencilRef;
		if ( json.stencilFuncMask !== undefined ) this.stencilFuncMask = json.stencilFuncMask;
		if ( json.stencilFail !== undefined ) this.stencilFail = json.stencilFail;
		if ( json.stencilZFail !== undefined ) this.stencilZFail = json.stencilZFail;
		if ( json.stencilZPass !== undefined ) this.stencilZPass = json.stencilZPass;
		if ( json.stencilWrite !== undefined ) this.stencilWrite = json.stencilWrite;

		if ( json.wireframe !== undefined ) this.wireframe = json.wireframe;
		if ( json.wireframeLinewidth !== undefined ) this.wireframeLinewidth = json.wireframeLinewidth;
		if ( json.wireframeLinecap !== undefined ) this.wireframeLinecap = json.wireframeLinecap;
		if ( json.wireframeLinejoin !== undefined ) this.wireframeLinejoin = json.wireframeLinejoin;

		if ( json.rotation !== undefined ) this.rotation = json.rotation;

		if ( json.linewidth !== undefined ) this.linewidth = json.linewidth;
		if ( json.linecap !== undefined ) this.linecap = json.linecap;
		if ( json.linejoin !== undefined ) this.linejoin = json.linejoin;
		if ( json.dashSize !== undefined ) this.dashSize = json.dashSize;
		if ( json.gapSize !== undefined ) this.gapSize = json.gapSize;
		if ( json.scale !== undefined ) this.scale = json.scale;

		if ( json.polygonOffset !== undefined ) this.polygonOffset = json.polygonOffset;
		if ( json.polygonOffsetFactor !== undefined ) this.polygonOffsetFactor = json.polygonOffsetFactor;
		if ( json.polygonOffsetUnits !== undefined ) this.polygonOffsetUnits = json.polygonOffsetUnits;

		if ( json.dithering !== undefined ) this.dithering = json.dithering;

		if ( json.alphaToCoverage !== undefined ) this.alphaToCoverage = json.alphaToCoverage;
		if ( json.premultipliedAlpha !== undefined ) this.premultipliedAlpha = json.premultipliedAlpha;
		if ( json.forceSinglePass !== undefined ) this.forceSinglePass = json.forceSinglePass;
		if ( json.allowOverride !== undefined ) this.allowOverride = json.allowOverride;

		if ( json.visible !== undefined ) this.visible = json.visible;

		if ( json.toneMapped !== undefined ) this.toneMapped = json.toneMapped;

		if ( json.userData !== undefined ) this.userData = json.userData;

		if ( json.vertexColors !== undefined ) {

			if ( typeof json.vertexColors === 'number' ) {

				this.vertexColors = json.vertexColors > 0;

			} else {

				this.vertexColors = json.vertexColors;

			}

		}

		// for PointsMaterial

		if ( json.size !== undefined ) this.size = json.size;
		if ( json.sizeAttenuation !== undefined ) this.sizeAttenuation = json.sizeAttenuation;

		// maps

		if ( json.map !== undefined ) this.map = textures[ json.map ] || null;
		if ( json.matcap !== undefined ) this.matcap = textures[ json.matcap ] || null;

		if ( json.alphaMap !== undefined ) this.alphaMap = textures[ json.alphaMap ] || null;

		if ( json.bumpMap !== undefined ) this.bumpMap = textures[ json.bumpMap ] || null;
		if ( json.bumpScale !== undefined ) this.bumpScale = json.bumpScale;

		if ( json.normalMap !== undefined ) this.normalMap = textures[ json.normalMap ] || null;
		if ( json.normalMapType !== undefined ) this.normalMapType = json.normalMapType;
		if ( json.normalScale !== undefined ) {

			let normalScale = json.normalScale;

			if ( Array.isArray( normalScale ) === false ) {

				// Blender exporter used to export a scalar. See #7459

				normalScale = [ normalScale, normalScale ];

			}

			this.normalScale = new Vector2().fromArray( normalScale );

		}

		if ( json.displacementMap !== undefined ) this.displacementMap = textures[ json.displac