@archvisioninc/canvas 3.3.0 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -314,6 +314,10 @@ export const updateMaterial = inboundData => {
314
314
  if (newId) {
315
315
  material.id = newId;
316
316
  material.name = newId;
317
+ if (Array.isArray(scene.metadata.selectedMaterials) && scene.metadata.selectedMaterials.length > 0) {
318
+ // We currently only support one selectedMaterial at a time so we should set the changed material to selected
319
+ scene.metadata.selectedMaterials = [material];
320
+ }
317
321
  }
318
322
 
319
323
  // Select all meshes with current material.
@@ -288,8 +288,11 @@ export const buildSelectedMaterialArray = () => {
288
288
  }).filter(val => val);
289
289
  if (_.isEmpty(arr)) {
290
290
  if (!_.isEmpty(scene.metadata.selectedMaterials)) {
291
+ console.log({
292
+ emptyMeshesNotEmptyMaterials: scene.metadata.selectedMaterials
293
+ });
291
294
  const currentSelectedMaterial = scene.metadata.selectedMaterials[0];
292
- const materialMatch = scene.metadata.materials?.find(material => currentSelectedMaterial.materialId === material.materialId) || {};
295
+ const materialMatch = scene.metadata.materials?.find(material => currentSelectedMaterial.materialId === material.materialId) || scene.metadata.materials?.[0];
293
296
  return [materialMatch];
294
297
  }
295
298
  return [scene.metadata.materials?.[0] || {}];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archvisioninc/canvas",
3
- "version": "3.3.0",
3
+ "version": "3.3.2",
4
4
  "private": false,
5
5
  "main": "dist/Canvas.js",
6
6
  "module": "dist/Canvas.js",
@@ -374,6 +374,11 @@ export const updateMaterial = inboundData => {
374
374
  if (newId) {
375
375
  material.id = newId;
376
376
  material.name = newId;
377
+
378
+ if (Array.isArray(scene.metadata.selectedMaterials) && scene.metadata.selectedMaterials.length > 0) {
379
+ // We currently only support one selectedMaterial at a time so we should set the changed material to selected
380
+ scene.metadata.selectedMaterials = [ material ];
381
+ }
377
382
  }
378
383
 
379
384
  // Select all meshes with current material.
@@ -355,10 +355,11 @@ export const buildSelectedMaterialArray = () => {
355
355
 
356
356
  if (_.isEmpty(arr)) {
357
357
  if (!_.isEmpty(scene.metadata.selectedMaterials)) {
358
+ console.log({ emptyMeshesNotEmptyMaterials: scene.metadata.selectedMaterials });
358
359
  const currentSelectedMaterial = scene.metadata.selectedMaterials[0];
359
360
  const materialMatch = scene.metadata.materials?.find(material => (
360
361
  currentSelectedMaterial.materialId === material.materialId
361
- )) || {};
362
+ )) || scene.metadata.materials?.[0];
362
363
 
363
364
  return [ materialMatch ];
364
365
  }
@@ -5,9 +5,9 @@ import { AppContainer, DebugButtons, Button } from './styles';
5
5
  import { theme } from 'static/theme';
6
6
  import { fetchDownloadURL } from 'helpers/fetchHelpers';
7
7
  import { ENVIRONMENTS } from 'constants';
8
- import { updateViewport, scene, updateLighting } from 'package/helpers';
8
+ import { updateViewport, scene, updateLighting, updateMaterial } from 'package/helpers';
9
9
  import Canvas from 'package/Canvas';
10
- import _ from 'lodash';
10
+ import _, { update } from 'lodash';
11
11
 
12
12
  const materialMode = false;
13
13
  const previewMode = false;
@@ -142,14 +142,15 @@ const App = () => {
142
142
  onClick={() => {
143
143
  const inboundData = {
144
144
  payload: {
145
- id: 'directional',
146
- intensity: 5,
145
+ id: 'Body',
146
+ newId: 'test',
147
147
  },
148
148
  };
149
- updateLighting(inboundData);
149
+ updateMaterial(inboundData);
150
+ console.log({ metadata: scene.metadata });
150
151
  }}
151
152
  >
152
- Update Intensity
153
+ Update Body Material
153
154
  </Button>
154
155
  </DebugButtons>
155
156
  </AppContainer>