@pascal-app/core 0.7.0 → 0.9.1

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.
Files changed (318) hide show
  1. package/dist/events/bus.d.ts +47 -18
  2. package/dist/events/bus.d.ts.map +1 -1
  3. package/dist/events/bus.js +1 -1
  4. package/dist/hooks/scene-registry/scene-registry.d.ts +6 -22
  5. package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
  6. package/dist/hooks/scene-registry/scene-registry.js +33 -26
  7. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +14 -0
  8. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -0
  9. package/dist/hooks/spatial-grid/floor-placed-elevation.js +51 -0
  10. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts +2 -0
  11. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts.map +1 -0
  12. package/dist/hooks/spatial-grid/floor-placed-elevation.test.js +273 -0
  13. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +13 -2
  14. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  15. package/dist/hooks/spatial-grid/spatial-grid-manager.js +95 -9
  16. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +28 -1
  17. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  18. package/dist/hooks/spatial-grid/spatial-grid-sync.js +91 -18
  19. package/dist/index.d.ts +22 -4
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +19 -2
  22. package/dist/lib/polygon-geometry.d.ts.map +1 -1
  23. package/dist/lib/polygon-relations.d.ts +10 -0
  24. package/dist/lib/polygon-relations.d.ts.map +1 -0
  25. package/dist/lib/polygon-relations.js +73 -0
  26. package/dist/lib/space-detection-pause.test.d.ts +2 -0
  27. package/dist/lib/space-detection-pause.test.d.ts.map +1 -0
  28. package/dist/lib/space-detection-pause.test.js +42 -0
  29. package/dist/lib/space-detection.d.ts +30 -1
  30. package/dist/lib/space-detection.d.ts.map +1 -1
  31. package/dist/lib/space-detection.js +222 -41
  32. package/dist/lib/space-detection.test.d.ts +2 -0
  33. package/dist/lib/space-detection.test.d.ts.map +1 -0
  34. package/dist/lib/space-detection.test.js +77 -0
  35. package/dist/material-library.d.ts +1 -1
  36. package/dist/material-library.d.ts.map +1 -1
  37. package/dist/material-library.js +1957 -141
  38. package/dist/registry/__bench__/relations-resolver.bench.d.ts +15 -0
  39. package/dist/registry/__bench__/relations-resolver.bench.d.ts.map +1 -0
  40. package/dist/registry/__bench__/relations-resolver.bench.js +170 -0
  41. package/dist/registry/handles.d.ts +321 -0
  42. package/dist/registry/handles.d.ts.map +1 -0
  43. package/dist/registry/handles.js +24 -0
  44. package/dist/registry/index.d.ts +7 -0
  45. package/dist/registry/index.d.ts.map +1 -0
  46. package/dist/registry/index.js +4 -0
  47. package/dist/registry/registry.d.ts +93 -0
  48. package/dist/registry/registry.d.ts.map +1 -0
  49. package/dist/registry/registry.js +201 -0
  50. package/dist/registry/registry.test.d.ts +2 -0
  51. package/dist/registry/registry.test.d.ts.map +1 -0
  52. package/dist/registry/registry.test.js +183 -0
  53. package/dist/registry/relations-resolver.d.ts +42 -0
  54. package/dist/registry/relations-resolver.d.ts.map +1 -0
  55. package/dist/registry/relations-resolver.js +77 -0
  56. package/dist/registry/relations-resolver.test.d.ts +2 -0
  57. package/dist/registry/relations-resolver.test.d.ts.map +1 -0
  58. package/dist/registry/relations-resolver.test.js +183 -0
  59. package/dist/registry/scene-api.d.ts +44 -0
  60. package/dist/registry/scene-api.d.ts.map +1 -0
  61. package/dist/registry/scene-api.js +111 -0
  62. package/dist/registry/scene-api.test.d.ts +2 -0
  63. package/dist/registry/scene-api.test.d.ts.map +1 -0
  64. package/dist/registry/scene-api.test.js +183 -0
  65. package/dist/registry/subtree.d.ts +67 -0
  66. package/dist/registry/subtree.d.ts.map +1 -0
  67. package/dist/registry/subtree.js +119 -0
  68. package/dist/registry/subtree.test.d.ts +2 -0
  69. package/dist/registry/subtree.test.d.ts.map +1 -0
  70. package/dist/registry/subtree.test.js +133 -0
  71. package/dist/registry/types.d.ts +1420 -0
  72. package/dist/registry/types.d.ts.map +1 -0
  73. package/dist/registry/types.js +1 -0
  74. package/dist/schema/asset-url.test.js +0 -4
  75. package/dist/schema/index.d.ts +17 -2
  76. package/dist/schema/index.d.ts.map +1 -1
  77. package/dist/schema/index.js +17 -3
  78. package/dist/schema/material.d.ts +12 -2
  79. package/dist/schema/material.d.ts.map +1 -1
  80. package/dist/schema/material.js +10 -0
  81. package/dist/schema/nodes/box-vent.d.ts +74 -0
  82. package/dist/schema/nodes/box-vent.d.ts.map +1 -0
  83. package/dist/schema/nodes/box-vent.js +63 -0
  84. package/dist/schema/nodes/building.d.ts +1 -1
  85. package/dist/schema/nodes/building.d.ts.map +1 -1
  86. package/dist/schema/nodes/building.js +3 -2
  87. package/dist/schema/nodes/ceiling.d.ts +3 -1
  88. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  89. package/dist/schema/nodes/ceiling.js +1 -1
  90. package/dist/schema/nodes/chimney.d.ts +158 -0
  91. package/dist/schema/nodes/chimney.d.ts.map +1 -0
  92. package/dist/schema/nodes/chimney.js +67 -0
  93. package/dist/schema/nodes/column.d.ts +598 -6
  94. package/dist/schema/nodes/column.d.ts.map +1 -1
  95. package/dist/schema/nodes/column.js +586 -6
  96. package/dist/schema/nodes/cupola.d.ts +66 -0
  97. package/dist/schema/nodes/cupola.d.ts.map +1 -0
  98. package/dist/schema/nodes/cupola.js +28 -0
  99. package/dist/schema/nodes/door.d.ts +1 -1
  100. package/dist/schema/nodes/dormer.d.ts +228 -0
  101. package/dist/schema/nodes/dormer.d.ts.map +1 -0
  102. package/dist/schema/nodes/dormer.js +119 -0
  103. package/dist/schema/nodes/downspout.d.ts +75 -0
  104. package/dist/schema/nodes/downspout.d.ts.map +1 -0
  105. package/dist/schema/nodes/downspout.js +63 -0
  106. package/dist/schema/nodes/elevator.d.ts +105 -0
  107. package/dist/schema/nodes/elevator.d.ts.map +1 -0
  108. package/dist/schema/nodes/elevator.js +54 -0
  109. package/dist/schema/nodes/eyebrow-vent.d.ts +68 -0
  110. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -0
  111. package/dist/schema/nodes/eyebrow-vent.js +40 -0
  112. package/dist/schema/nodes/fence.d.ts +3 -2
  113. package/dist/schema/nodes/fence.d.ts.map +1 -1
  114. package/dist/schema/nodes/fence.js +4 -2
  115. package/dist/schema/nodes/gutter.d.ts +84 -0
  116. package/dist/schema/nodes/gutter.d.ts.map +1 -0
  117. package/dist/schema/nodes/gutter.js +76 -0
  118. package/dist/schema/nodes/item.d.ts +16 -0
  119. package/dist/schema/nodes/item.d.ts.map +1 -1
  120. package/dist/schema/nodes/item.js +21 -0
  121. package/dist/schema/nodes/level.d.ts +1 -1
  122. package/dist/schema/nodes/level.d.ts.map +1 -1
  123. package/dist/schema/nodes/level.js +2 -0
  124. package/dist/schema/nodes/ridge-vent.d.ts +67 -0
  125. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -0
  126. package/dist/schema/nodes/ridge-vent.js +30 -0
  127. package/dist/schema/nodes/roof-segment.d.ts +198 -4
  128. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  129. package/dist/schema/nodes/roof-segment.js +254 -3
  130. package/dist/schema/nodes/roof.d.ts +6 -6
  131. package/dist/schema/nodes/roof.d.ts.map +1 -1
  132. package/dist/schema/nodes/roof.js +9 -21
  133. package/dist/schema/nodes/shelf.d.ts +105 -0
  134. package/dist/schema/nodes/shelf.d.ts.map +1 -0
  135. package/dist/schema/nodes/shelf.js +84 -0
  136. package/dist/schema/nodes/site.d.ts +1 -116
  137. package/dist/schema/nodes/site.d.ts.map +1 -1
  138. package/dist/schema/nodes/site.js +2 -6
  139. package/dist/schema/nodes/skylight.d.ts +279 -0
  140. package/dist/schema/nodes/skylight.d.ts.map +1 -0
  141. package/dist/schema/nodes/skylight.js +152 -0
  142. package/dist/schema/nodes/slab.d.ts +3 -1
  143. package/dist/schema/nodes/slab.d.ts.map +1 -1
  144. package/dist/schema/nodes/slab.js +1 -1
  145. package/dist/schema/nodes/solar-panel.d.ts +117 -0
  146. package/dist/schema/nodes/solar-panel.d.ts.map +1 -0
  147. package/dist/schema/nodes/solar-panel.js +47 -0
  148. package/dist/schema/nodes/stair-segment.d.ts +1 -1
  149. package/dist/schema/nodes/stair.d.ts +6 -6
  150. package/dist/schema/nodes/stair.d.ts.map +1 -1
  151. package/dist/schema/nodes/stair.js +9 -7
  152. package/dist/schema/nodes/surface-hole-metadata.d.ts +2 -0
  153. package/dist/schema/nodes/surface-hole-metadata.d.ts.map +1 -1
  154. package/dist/schema/nodes/surface-hole-metadata.js +3 -1
  155. package/dist/schema/nodes/turbine-vent.d.ts +68 -0
  156. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -0
  157. package/dist/schema/nodes/turbine-vent.js +41 -0
  158. package/dist/schema/nodes/wall.d.ts +3 -3
  159. package/dist/schema/nodes/window.d.ts +1 -1
  160. package/dist/schema/types.d.ts +1448 -236
  161. package/dist/schema/types.d.ts.map +1 -1
  162. package/dist/schema/types.js +26 -0
  163. package/dist/services/alignment-anchors.d.ts +100 -0
  164. package/dist/services/alignment-anchors.d.ts.map +1 -0
  165. package/dist/services/alignment-anchors.js +283 -0
  166. package/dist/services/alignment-anchors.test.d.ts +2 -0
  167. package/dist/services/alignment-anchors.test.d.ts.map +1 -0
  168. package/dist/services/alignment-anchors.test.js +383 -0
  169. package/dist/services/alignment.d.ts +126 -0
  170. package/dist/services/alignment.d.ts.map +1 -0
  171. package/dist/services/alignment.js +169 -0
  172. package/dist/services/alignment.test.d.ts +2 -0
  173. package/dist/services/alignment.test.d.ts.map +1 -0
  174. package/dist/services/alignment.test.js +92 -0
  175. package/dist/services/drag-session.d.ts +47 -0
  176. package/dist/services/drag-session.d.ts.map +1 -0
  177. package/dist/services/drag-session.js +100 -0
  178. package/dist/services/drag-session.test.d.ts +2 -0
  179. package/dist/services/drag-session.test.d.ts.map +1 -0
  180. package/dist/services/drag-session.test.js +219 -0
  181. package/dist/services/hosting.d.ts +80 -0
  182. package/dist/services/hosting.d.ts.map +1 -0
  183. package/dist/services/hosting.js +122 -0
  184. package/dist/services/hosting.test.d.ts +2 -0
  185. package/dist/services/hosting.test.d.ts.map +1 -0
  186. package/dist/services/hosting.test.js +199 -0
  187. package/dist/services/index.d.ts +7 -0
  188. package/dist/services/index.d.ts.map +1 -0
  189. package/dist/services/index.js +6 -0
  190. package/dist/services/movement.d.ts +48 -0
  191. package/dist/services/movement.d.ts.map +1 -0
  192. package/dist/services/movement.js +65 -0
  193. package/dist/services/movement.test.d.ts +2 -0
  194. package/dist/services/movement.test.d.ts.map +1 -0
  195. package/dist/services/movement.test.js +133 -0
  196. package/dist/services/single-undo-dance.test.d.ts +2 -0
  197. package/dist/services/single-undo-dance.test.d.ts.map +1 -0
  198. package/dist/services/single-undo-dance.test.js +210 -0
  199. package/dist/services/snap.d.ts +72 -0
  200. package/dist/services/snap.d.ts.map +1 -0
  201. package/dist/services/snap.js +120 -0
  202. package/dist/services/snap.test.d.ts +2 -0
  203. package/dist/services/snap.test.d.ts.map +1 -0
  204. package/dist/services/snap.test.js +95 -0
  205. package/dist/solar-panel-presets.d.ts +17 -0
  206. package/dist/solar-panel-presets.d.ts.map +1 -0
  207. package/dist/solar-panel-presets.js +43 -0
  208. package/dist/store/actions/node-actions.d.ts +14 -2
  209. package/dist/store/actions/node-actions.d.ts.map +1 -1
  210. package/dist/store/actions/node-actions.js +499 -20
  211. package/dist/store/actions/node-mutation-sanitize.test.d.ts +2 -0
  212. package/dist/store/actions/node-mutation-sanitize.test.d.ts.map +1 -0
  213. package/dist/store/actions/node-mutation-sanitize.test.js +147 -0
  214. package/dist/store/actions/reparent.test.d.ts +2 -0
  215. package/dist/store/actions/reparent.test.d.ts.map +1 -0
  216. package/dist/store/actions/reparent.test.js +212 -0
  217. package/dist/store/use-interactive.d.ts +39 -0
  218. package/dist/store/use-interactive.d.ts.map +1 -1
  219. package/dist/store/use-interactive.js +75 -0
  220. package/dist/store/use-live-node-overrides.d.ts +22 -0
  221. package/dist/store/use-live-node-overrides.d.ts.map +1 -0
  222. package/dist/store/use-live-node-overrides.js +59 -0
  223. package/dist/store/use-scene-elevator-migration.test.d.ts +2 -0
  224. package/dist/store/use-scene-elevator-migration.test.d.ts.map +1 -0
  225. package/dist/store/use-scene-elevator-migration.test.js +109 -0
  226. package/dist/store/use-scene.d.ts +11 -0
  227. package/dist/store/use-scene.d.ts.map +1 -1
  228. package/dist/store/use-scene.js +207 -11
  229. package/dist/systems/elevator/elevator-dispatch.d.ts +12 -0
  230. package/dist/systems/elevator/elevator-dispatch.d.ts.map +1 -0
  231. package/dist/systems/elevator/elevator-dispatch.js +57 -0
  232. package/dist/systems/elevator/elevator-geometry.d.ts +15 -0
  233. package/dist/systems/elevator/elevator-geometry.d.ts.map +1 -0
  234. package/dist/systems/elevator/elevator-geometry.js +50 -0
  235. package/dist/systems/elevator/elevator-opening-sync.d.ts +6 -0
  236. package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -0
  237. package/dist/systems/elevator/elevator-opening-sync.js +218 -0
  238. package/dist/systems/elevator/elevator-opening-sync.test.d.ts +2 -0
  239. package/dist/systems/elevator/elevator-opening-sync.test.d.ts.map +1 -0
  240. package/dist/systems/elevator/elevator-opening-sync.test.js +146 -0
  241. package/dist/systems/elevator/elevator-opening-system.d.ts +2 -0
  242. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -0
  243. package/dist/systems/elevator/elevator-opening-system.js +48 -0
  244. package/dist/systems/elevator/elevator-runtime-system.d.ts +2 -0
  245. package/dist/systems/elevator/elevator-runtime-system.d.ts.map +1 -0
  246. package/dist/systems/elevator/elevator-runtime-system.js +8 -0
  247. package/dist/systems/elevator/elevator-runtime.d.ts +18 -0
  248. package/dist/systems/elevator/elevator-runtime.d.ts.map +1 -0
  249. package/dist/systems/elevator/elevator-runtime.js +225 -0
  250. package/dist/systems/elevator/elevator-runtime.test.d.ts +2 -0
  251. package/dist/systems/elevator/elevator-runtime.test.d.ts.map +1 -0
  252. package/dist/systems/elevator/elevator-runtime.test.js +64 -0
  253. package/dist/systems/elevator/elevator-service.d.ts +19 -0
  254. package/dist/systems/elevator/elevator-service.d.ts.map +1 -0
  255. package/dist/systems/elevator/elevator-service.js +111 -0
  256. package/dist/systems/stair/stair-footprint.d.ts +44 -0
  257. package/dist/systems/stair/stair-footprint.d.ts.map +1 -0
  258. package/dist/systems/stair/stair-footprint.js +168 -0
  259. package/dist/systems/stair/stair-opening-preview.d.ts +1777 -0
  260. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -0
  261. package/dist/systems/stair/stair-opening-preview.js +93 -0
  262. package/dist/systems/stair/stair-opening-preview.test.d.ts +2 -0
  263. package/dist/systems/stair/stair-opening-preview.test.d.ts.map +1 -0
  264. package/dist/systems/stair/stair-opening-preview.test.js +80 -0
  265. package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
  266. package/dist/systems/stair/stair-opening-sync.js +183 -185
  267. package/dist/systems/stair/stair-opening-sync.test.js +385 -4
  268. package/dist/systems/stair/stair-opening-system.d.ts +2 -0
  269. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -0
  270. package/dist/systems/stair/stair-opening-system.js +104 -0
  271. package/dist/systems/wall/wall-curve.d.ts +1 -1
  272. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  273. package/dist/systems/wall/wall-curve.js +1 -1
  274. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  275. package/dist/systems/wall/wall-mitering.js +2 -6
  276. package/dist/systems/wall/wall-move.d.ts +48 -0
  277. package/dist/systems/wall/wall-move.d.ts.map +1 -0
  278. package/dist/systems/wall/wall-move.js +193 -0
  279. package/dist/utils/clone-scene-graph.d.ts +6 -4
  280. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  281. package/dist/utils/clone-scene-graph.js +6 -4
  282. package/dist/utils/clone-scene-graph.test.d.ts +2 -0
  283. package/dist/utils/clone-scene-graph.test.d.ts.map +1 -0
  284. package/dist/utils/clone-scene-graph.test.js +59 -0
  285. package/dist/validation/validate-build-json.d.ts +43 -0
  286. package/dist/validation/validate-build-json.d.ts.map +1 -0
  287. package/dist/validation/validate-build-json.js +227 -0
  288. package/package.json +11 -3
  289. package/dist/materials.d.ts +0 -10
  290. package/dist/materials.d.ts.map +0 -1
  291. package/dist/materials.js +0 -22
  292. package/dist/systems/ceiling/ceiling-system.d.ts +0 -8
  293. package/dist/systems/ceiling/ceiling-system.d.ts.map +0 -1
  294. package/dist/systems/ceiling/ceiling-system.js +0 -92
  295. package/dist/systems/door/door-system.d.ts +0 -2
  296. package/dist/systems/door/door-system.d.ts.map +0 -1
  297. package/dist/systems/door/door-system.js +0 -195
  298. package/dist/systems/fence/fence-system.d.ts +0 -2
  299. package/dist/systems/fence/fence-system.d.ts.map +0 -1
  300. package/dist/systems/fence/fence-system.js +0 -187
  301. package/dist/systems/item/item-system.d.ts +0 -2
  302. package/dist/systems/item/item-system.d.ts.map +0 -1
  303. package/dist/systems/item/item-system.js +0 -48
  304. package/dist/systems/roof/roof-system.d.ts +0 -16
  305. package/dist/systems/roof/roof-system.d.ts.map +0 -1
  306. package/dist/systems/roof/roof-system.js +0 -797
  307. package/dist/systems/slab/slab-system.d.ts +0 -8
  308. package/dist/systems/slab/slab-system.d.ts.map +0 -1
  309. package/dist/systems/slab/slab-system.js +0 -214
  310. package/dist/systems/stair/stair-system.d.ts +0 -2
  311. package/dist/systems/stair/stair-system.d.ts.map +0 -1
  312. package/dist/systems/stair/stair-system.js +0 -776
  313. package/dist/systems/wall/wall-system.d.ts +0 -12
  314. package/dist/systems/wall/wall-system.d.ts.map +0 -1
  315. package/dist/systems/wall/wall-system.js +0 -455
  316. package/dist/systems/window/window-system.d.ts +0 -2
  317. package/dist/systems/window/window-system.d.ts.map +0 -1
  318. package/dist/systems/window/window-system.js +0 -131
@@ -1,27 +1,52 @@
1
- import {} from './schema/material';
2
- export const MATERIAL_CATEGORIES = [
3
- 'wood',
4
- 'wallpaper',
5
- 'parquet',
6
- 'granite',
7
- 'marble',
8
- 'other',
1
+ import { MaterialTarget as MaterialTargetSchema, } from './schema/material';
2
+ const WALL_TARGETS = [
3
+ MaterialTargetSchema.enum.wall,
4
+ MaterialTargetSchema.enum.chimney,
5
+ MaterialTargetSchema.enum.dormer,
9
6
  ];
7
+ const SLAB_TARGETS = [
8
+ MaterialTargetSchema.enum.slab,
9
+ MaterialTargetSchema.enum.chimney,
10
+ ];
11
+ const WALL_AND_SLAB_TARGETS = [
12
+ MaterialTargetSchema.enum.wall,
13
+ MaterialTargetSchema.enum.slab,
14
+ MaterialTargetSchema.enum.chimney,
15
+ MaterialTargetSchema.enum.dormer,
16
+ ];
17
+ const STAIR_TARGETS = [
18
+ MaterialTargetSchema.enum.stair,
19
+ MaterialTargetSchema.enum['stair-segment'],
20
+ ];
21
+ const STAIR_AND_FENCE_TARGETS = [
22
+ ...STAIR_TARGETS,
23
+ MaterialTargetSchema.enum.fence,
24
+ ];
25
+ const ROOF_TARGETS = [
26
+ MaterialTargetSchema.enum.roof,
27
+ MaterialTargetSchema.enum['roof-segment'],
28
+ MaterialTargetSchema.enum.chimney,
29
+ MaterialTargetSchema.enum.dormer,
30
+ ];
31
+ const CEILING_TARGETS = [MaterialTargetSchema.enum.ceiling];
32
+ export const MATERIAL_CATEGORIES = ['wood', 'flooring', 'roof', 'other'];
10
33
  export const MATERIAL_CATALOG = [
11
34
  {
12
- id: 'wall-wood1',
13
- label: 'Wood',
35
+ id: 'wood-finewood27',
36
+ label: 'Finewood 27',
14
37
  category: 'wood',
15
- description: 'Warm wood finish',
16
- previewThumbnailUrl: '/material/wood1/wood1_thumbnail.webp',
38
+ description: 'Fine wood finish',
39
+ previewThumbnailUrl: '/material/wood/finewood_27/finewood_27_basecolor.webp',
17
40
  preset: {
18
41
  maps: {
19
- albedoMap: '/material/wood1/albedoMap_basecolor.jpg',
20
- normalMap: '/material/wood1/normalMap_normal.jpg',
42
+ albedoMap: '/material/wood/finewood_27/finewood_27_basecolor.webp',
43
+ aoMap: '/material/wood/finewood_27/finewood_27_ambientocclusion.webp',
44
+ normalMap: '/material/wood/finewood_27/finewood_27_normal.webp',
45
+ roughnessMap: '/material/wood/finewood_27/finewood_27_roughness.webp',
21
46
  },
22
47
  mapProperties: {
23
48
  color: '#ffffff',
24
- roughness: 0.575,
49
+ roughness: 0.5,
25
50
  metalness: 0,
26
51
  repeatX: 1,
27
52
  repeatY: 1,
@@ -31,8 +56,45 @@ export const MATERIAL_CATALOG = [
31
56
  normalScaleX: 1,
32
57
  normalScaleY: 1,
33
58
  emissiveIntensity: 1,
34
- displacementScale: 0.02,
35
- transparent: true,
59
+ displacementScale: 0,
60
+ transparent: false,
61
+ flipY: true,
62
+ bumpScale: 1,
63
+ emissiveColor: '#000000',
64
+ aoMapIntensity: 1,
65
+ side: 0,
66
+ opacity: 1,
67
+ lightMapIntensity: 1,
68
+ },
69
+ },
70
+ },
71
+ {
72
+ id: 'wood-floorplank1',
73
+ label: 'Floor Plank 1',
74
+ category: 'wood',
75
+ description: 'Wood plank finish',
76
+ previewThumbnailUrl: '/material/wood/floor_plank_1/floor_plank-diffuse.webp',
77
+ preset: {
78
+ maps: {
79
+ albedoMap: '/material/wood/floor_plank_1/floor_plank-diffuse.webp',
80
+ aoMap: '/material/wood/floor_plank_1/floor_plank-ao.webp',
81
+ metalnessMap: '/material/wood/floor_plank_1/floor_plank-specular.webp',
82
+ normalMap: '/material/wood/floor_plank_1/floor_plank-normal.webp',
83
+ },
84
+ mapProperties: {
85
+ color: '#ffffff',
86
+ roughness: 0.45,
87
+ metalness: 0,
88
+ repeatX: 0.4,
89
+ repeatY: 0.4,
90
+ rotation: 0,
91
+ wrapS: 'Repeat',
92
+ wrapT: 'Repeat',
93
+ normalScaleX: 1,
94
+ normalScaleY: 1,
95
+ emissiveIntensity: 1,
96
+ displacementScale: 0,
97
+ transparent: false,
36
98
  flipY: true,
37
99
  bumpScale: 1,
38
100
  emissiveColor: '#000000',
@@ -44,35 +106,36 @@ export const MATERIAL_CATALOG = [
44
106
  },
45
107
  },
46
108
  {
47
- id: 'wall-wood2',
48
- label: 'Wood',
109
+ id: 'wood-hungarianparquet10',
110
+ label: 'Hungarian Parquet 10',
49
111
  category: 'wood',
50
- description: 'Textured wood finish',
51
- previewThumbnailUrl: '/material/wood2/wood2_thumbnail.webp',
112
+ description: 'Parquet wood finish',
113
+ previewThumbnailUrl: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_baseColor.webp',
52
114
  preset: {
53
115
  maps: {
54
- albedoMap: '/material/wood2/albedoMap_Wood.jpg',
55
- normalMap: '/material/wood2/normalMap_Wood.jpg',
56
- aoMap: '/material/wood2/aoMap_Wood.jpg',
116
+ albedoMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_baseColor.webp',
117
+ metalnessMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_specularLevel.webp',
118
+ normalMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_normal.webp',
119
+ roughnessMap: '/material/wood/hungarian_parquet_10/Hungarian Parquet_10_roughness.webp',
57
120
  },
58
121
  mapProperties: {
59
122
  color: '#ffffff',
60
- roughness: 0.467,
123
+ roughness: 0.5,
61
124
  metalness: 0,
62
125
  repeatX: 1,
63
126
  repeatY: 1,
64
127
  rotation: 0,
65
128
  wrapS: 'Repeat',
66
129
  wrapT: 'Repeat',
67
- normalScaleX: 2,
68
- normalScaleY: 2,
130
+ normalScaleX: 1,
131
+ normalScaleY: 1,
69
132
  emissiveIntensity: 1,
70
- displacementScale: 0.02,
71
- transparent: true,
133
+ displacementScale: 0,
134
+ transparent: false,
72
135
  flipY: true,
73
136
  bumpScale: 1,
74
137
  emissiveColor: '#000000',
75
- aoMapIntensity: 2,
138
+ aoMapIntensity: 1,
76
139
  side: 0,
77
140
  opacity: 1,
78
141
  lightMapIntensity: 1,
@@ -80,33 +143,36 @@ export const MATERIAL_CATALOG = [
80
143
  },
81
144
  },
82
145
  {
83
- id: 'wall-wood3',
84
- label: 'Wood',
146
+ id: 'wood-hungarianparquet2',
147
+ label: 'Hungarian Parquet 2',
85
148
  category: 'wood',
86
- description: 'Knotted timber finish',
87
- previewThumbnailUrl: '/material/wood3/wood3_thumbnail.webp',
149
+ description: 'Parquet wood finish',
150
+ previewThumbnailUrl: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_baseColor.webp',
88
151
  preset: {
89
152
  maps: {
90
- albedoMap: '/material/wood3/albedoMap_knotted-timber.jpg',
153
+ albedoMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_baseColor.webp',
154
+ metalnessMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_specularLevel.webp',
155
+ normalMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_normal.webp',
156
+ roughnessMap: '/material/wood/hungarian_parquet_2/Hungarian Parquet_2_roughness.webp',
91
157
  },
92
158
  mapProperties: {
93
159
  color: '#ffffff',
94
- roughness: 0.489,
160
+ roughness: 0.5,
95
161
  metalness: 0,
96
162
  repeatX: 1,
97
163
  repeatY: 1,
98
164
  rotation: 0,
99
165
  wrapS: 'Repeat',
100
166
  wrapT: 'Repeat',
101
- normalScaleX: 0.2,
102
- normalScaleY: 0.2,
167
+ normalScaleX: 1,
168
+ normalScaleY: 1,
103
169
  emissiveIntensity: 1,
104
- displacementScale: 0.02,
105
- transparent: true,
170
+ displacementScale: 0,
171
+ transparent: false,
106
172
  flipY: true,
107
173
  bumpScale: 1,
108
174
  emissiveColor: '#000000',
109
- aoMapIntensity: 2,
175
+ aoMapIntensity: 1,
110
176
  side: 0,
111
177
  opacity: 1,
112
178
  lightMapIntensity: 1,
@@ -114,18 +180,21 @@ export const MATERIAL_CATALOG = [
114
180
  },
115
181
  },
116
182
  {
117
- id: 'wall-wood4',
118
- label: 'Wood',
183
+ id: 'wood-squareparquet21',
184
+ label: 'Square Parquet 21',
119
185
  category: 'wood',
120
- description: 'Oak stretcher finish',
121
- previewThumbnailUrl: '/material/wood4/wood4_thumbnail.webp',
186
+ description: 'Parquet wood finish',
187
+ previewThumbnailUrl: '/material/wood/square_parquet_21/Square Pattern Parquet_21_baseColor.webp',
122
188
  preset: {
123
189
  maps: {
124
- albedoMap: '/material/wood4/albedoMap_oak-stretcher.jpg',
190
+ albedoMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_baseColor.webp',
191
+ metalnessMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_specularLevel.webp',
192
+ normalMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_normal.webp',
193
+ roughnessMap: '/material/wood/square_parquet_21/Square Pattern Parquet_21_roughness.webp',
125
194
  },
126
195
  mapProperties: {
127
196
  color: '#ffffff',
128
- roughness: 0.378,
197
+ roughness: 0.5,
129
198
  metalness: 0,
130
199
  repeatX: 1,
131
200
  repeatY: 1,
@@ -135,8 +204,8 @@ export const MATERIAL_CATALOG = [
135
204
  normalScaleX: 1,
136
205
  normalScaleY: 1,
137
206
  emissiveIntensity: 1,
138
- displacementScale: 0.02,
139
- transparent: true,
207
+ displacementScale: 0,
208
+ transparent: false,
140
209
  flipY: true,
141
210
  bumpScale: 1,
142
211
  emissiveColor: '#000000',
@@ -148,20 +217,21 @@ export const MATERIAL_CATALOG = [
148
217
  },
149
218
  },
150
219
  {
151
- id: 'wall-wood5',
152
- label: 'Wood',
220
+ id: 'wood-squareparquet23',
221
+ label: 'Square Parquet 23',
153
222
  category: 'wood',
154
- description: 'Rich grain wood finish',
155
- previewThumbnailUrl: '/material/wood5/wood5_thumnail.webp',
223
+ description: 'Parquet wood finish',
224
+ previewThumbnailUrl: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_baseColor.webp',
156
225
  preset: {
157
226
  maps: {
158
- albedoMap: '/material/wood5/albedoMap_3_base_color.webp',
159
- normalMap: '/material/wood5/normalMap_3_normal.jpg',
160
- aoMap: '/material/wood5/aoMap_3_ao.jpg',
227
+ albedoMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_baseColor.webp',
228
+ metalnessMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_specularLevel.webp',
229
+ normalMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_normal.webp',
230
+ roughnessMap: '/material/wood/square_wood_parquet_23/Square Pattern Parquet_23_roughness.webp',
161
231
  },
162
232
  mapProperties: {
163
233
  color: '#ffffff',
164
- roughness: 0.6,
234
+ roughness: 0.5,
165
235
  metalness: 0,
166
236
  repeatX: 1,
167
237
  repeatY: 1,
@@ -171,12 +241,12 @@ export const MATERIAL_CATALOG = [
171
241
  normalScaleX: 1,
172
242
  normalScaleY: 1,
173
243
  emissiveIntensity: 1,
174
- displacementScale: 0.02,
175
- transparent: true,
244
+ displacementScale: 0,
245
+ transparent: false,
176
246
  flipY: true,
177
247
  bumpScale: 1,
178
248
  emissiveColor: '#000000',
179
- aoMapIntensity: 10,
249
+ aoMapIntensity: 1,
180
250
  side: 0,
181
251
  opacity: 1,
182
252
  lightMapIntensity: 1,
@@ -184,18 +254,21 @@ export const MATERIAL_CATALOG = [
184
254
  },
185
255
  },
186
256
  {
187
- id: 'wall-granite1',
188
- label: 'Granite',
189
- category: 'granite',
190
- description: 'Polished granite finish',
191
- previewThumbnailUrl: '/material/granite1/granite_thumbnail.webp',
257
+ id: 'wood-woodfine1',
258
+ label: 'Wood Fine 1',
259
+ category: 'wood',
260
+ description: 'Fine wood finish',
261
+ previewThumbnailUrl: '/material/wood/wood_fine/wood_fine_1-diffuse.webp',
192
262
  preset: {
193
263
  maps: {
194
- albedoMap: '/material/granite1/albedoMap_Granite.jpg',
264
+ albedoMap: '/material/wood/wood_fine/wood_fine_1-diffuse.webp',
265
+ aoMap: '/material/wood/wood_fine/wood_fine_1-ao.webp',
266
+ metalnessMap: '/material/wood/wood_fine/wood_fine_1-specular.webp',
267
+ normalMap: '/material/wood/wood_fine/wood_fine_1-normal.webp',
195
268
  },
196
269
  mapProperties: {
197
270
  color: '#ffffff',
198
- roughness: 0.189,
271
+ roughness: 0.45,
199
272
  metalness: 0,
200
273
  repeatX: 1,
201
274
  repeatY: 1,
@@ -205,8 +278,8 @@ export const MATERIAL_CATALOG = [
205
278
  normalScaleX: 1,
206
279
  normalScaleY: 1,
207
280
  emissiveIntensity: 1,
208
- displacementScale: 0.02,
209
- transparent: true,
281
+ displacementScale: 0,
282
+ transparent: false,
210
283
  flipY: true,
211
284
  bumpScale: 1,
212
285
  emissiveColor: '#000000',
@@ -218,18 +291,21 @@ export const MATERIAL_CATALOG = [
218
291
  },
219
292
  },
220
293
  {
221
- id: 'wall-marble1',
222
- label: 'Marble',
223
- category: 'marble',
224
- description: 'Smooth marble finish',
225
- previewThumbnailUrl: '/material/marble1/marble1_thumbnail.webp',
294
+ id: 'wood-woodfine11',
295
+ label: 'Wood Fine 11',
296
+ category: 'wood',
297
+ description: 'Fine wood finish',
298
+ previewThumbnailUrl: '/material/wood/wood_fine_11/wood_fine_11-diffuse.webp',
226
299
  preset: {
227
300
  maps: {
228
- albedoMap: '/material/marble1/albedoMap_marble.jpg',
301
+ albedoMap: '/material/wood/wood_fine_11/wood_fine_11-diffuse.webp',
302
+ aoMap: '/material/wood/wood_fine_11/wood_fine_11-ao.webp',
303
+ metalnessMap: '/material/wood/wood_fine_11/wood_fine_11-specular.webp',
304
+ normalMap: '/material/wood/wood_fine_11/wood_fine_11-normal.webp',
229
305
  },
230
306
  mapProperties: {
231
307
  color: '#ffffff',
232
- roughness: 0.133,
308
+ roughness: 0.45,
233
309
  metalness: 0,
234
310
  repeatX: 1,
235
311
  repeatY: 1,
@@ -239,8 +315,8 @@ export const MATERIAL_CATALOG = [
239
315
  normalScaleX: 1,
240
316
  normalScaleY: 1,
241
317
  emissiveIntensity: 1,
242
- displacementScale: 0.02,
243
- transparent: true,
318
+ displacementScale: 0,
319
+ transparent: false,
244
320
  flipY: true,
245
321
  bumpScale: 1,
246
322
  emissiveColor: '#000000',
@@ -252,18 +328,21 @@ export const MATERIAL_CATALOG = [
252
328
  },
253
329
  },
254
330
  {
255
- id: 'wall-marble2',
256
- label: 'Marble',
257
- category: 'marble',
258
- description: 'Soft marble finish',
259
- previewThumbnailUrl: '/material/marble2/marble2_thumbnail.webp',
331
+ id: 'wood-woodfine13',
332
+ label: 'Wood Fine 13',
333
+ category: 'wood',
334
+ description: 'Fine wood finish',
335
+ previewThumbnailUrl: '/material/wood/wood_fine_13/wood_fine_13-diffuse.webp',
260
336
  preset: {
261
337
  maps: {
262
- albedoMap: '/material/marble2/albedoMap_marble.jpg',
338
+ albedoMap: '/material/wood/wood_fine_13/wood_fine_13-diffuse.webp',
339
+ aoMap: '/material/wood/wood_fine_13/wood_fine_13-ao.webp',
340
+ metalnessMap: '/material/wood/wood_fine_13/wood_fine_13-specular.webp',
341
+ normalMap: '/material/wood/wood_fine_13/wood_fine_13-normal.webp',
263
342
  },
264
343
  mapProperties: {
265
344
  color: '#ffffff',
266
- roughness: 0.122,
345
+ roughness: 0.45,
267
346
  metalness: 0,
268
347
  repeatX: 1,
269
348
  repeatY: 1,
@@ -273,8 +352,119 @@ export const MATERIAL_CATALOG = [
273
352
  normalScaleX: 1,
274
353
  normalScaleY: 1,
275
354
  emissiveIntensity: 1,
276
- displacementScale: 0.02,
277
- transparent: true,
355
+ displacementScale: 0,
356
+ transparent: false,
357
+ flipY: true,
358
+ bumpScale: 1,
359
+ emissiveColor: '#000000',
360
+ aoMapIntensity: 1,
361
+ side: 0,
362
+ opacity: 1,
363
+ lightMapIntensity: 1,
364
+ },
365
+ },
366
+ },
367
+ {
368
+ id: 'wood-woodfine2',
369
+ label: 'Wood Fine 2',
370
+ category: 'wood',
371
+ description: 'Fine wood finish',
372
+ previewThumbnailUrl: '/material/wood/wood_fine_2/wood_fine_2-diffuse.webp',
373
+ preset: {
374
+ maps: {
375
+ albedoMap: '/material/wood/wood_fine_2/wood_fine_2-diffuse.webp',
376
+ aoMap: '/material/wood/wood_fine_2/wood_fine_2-ao.webp',
377
+ metalnessMap: '/material/wood/wood_fine_2/wood_fine_2-specular.webp',
378
+ normalMap: '/material/wood/wood_fine_2/wood_fine_2-normal.webp',
379
+ },
380
+ mapProperties: {
381
+ color: '#ffffff',
382
+ roughness: 0.45,
383
+ metalness: 0,
384
+ repeatX: 1,
385
+ repeatY: 1,
386
+ rotation: 0,
387
+ wrapS: 'Repeat',
388
+ wrapT: 'Repeat',
389
+ normalScaleX: 1,
390
+ normalScaleY: 1,
391
+ emissiveIntensity: 1,
392
+ displacementScale: 0,
393
+ transparent: false,
394
+ flipY: true,
395
+ bumpScale: 1,
396
+ emissiveColor: '#000000',
397
+ aoMapIntensity: 1,
398
+ side: 0,
399
+ opacity: 1,
400
+ lightMapIntensity: 1,
401
+ },
402
+ },
403
+ },
404
+ {
405
+ id: 'wood-woodfine22',
406
+ label: 'Wood Fine 22',
407
+ category: 'wood',
408
+ description: 'Fine wood finish',
409
+ previewThumbnailUrl: '/material/wood/wood_fine_22/wood_fine_22-diffuse.webp',
410
+ preset: {
411
+ maps: {
412
+ albedoMap: '/material/wood/wood_fine_22/wood_fine_22-diffuse.webp',
413
+ aoMap: '/material/wood/wood_fine_22/wood_fine_22-ao.webp',
414
+ metalnessMap: '/material/wood/wood_fine_22/wood_fine_22-specular.webp',
415
+ normalMap: '/material/wood/wood_fine_22/wood_fine_22-normal.webp',
416
+ },
417
+ mapProperties: {
418
+ color: '#ffffff',
419
+ roughness: 0.45,
420
+ metalness: 0,
421
+ repeatX: 1,
422
+ repeatY: 1,
423
+ rotation: 0,
424
+ wrapS: 'Repeat',
425
+ wrapT: 'Repeat',
426
+ normalScaleX: 1,
427
+ normalScaleY: 1,
428
+ emissiveIntensity: 1,
429
+ displacementScale: 0,
430
+ transparent: false,
431
+ flipY: true,
432
+ bumpScale: 1,
433
+ emissiveColor: '#000000',
434
+ aoMapIntensity: 1,
435
+ side: 0,
436
+ opacity: 1,
437
+ lightMapIntensity: 1,
438
+ },
439
+ },
440
+ },
441
+ {
442
+ id: 'wood-woodfine24',
443
+ label: 'Wood Fine 24',
444
+ category: 'wood',
445
+ description: 'Fine wood finish',
446
+ previewThumbnailUrl: '/material/wood/wood_fine_24/wood_fine_24-diffuse.webp',
447
+ preset: {
448
+ maps: {
449
+ albedoMap: '/material/wood/wood_fine_24/wood_fine_24-diffuse.webp',
450
+ aoMap: '/material/wood/wood_fine_24/wood_fine_24-ao.webp',
451
+ metalnessMap: '/material/wood/wood_fine_24/wood_fine_24-specular.webp',
452
+ normalMap: '/material/wood/wood_fine_24/wood_fine_24-normal.webp',
453
+ },
454
+ mapProperties: {
455
+ color: '#ffffff',
456
+ roughness: 0.45,
457
+ metalness: 0,
458
+ repeatX: 1,
459
+ repeatY: 1,
460
+ rotation: 0,
461
+ wrapS: 'Repeat',
462
+ wrapT: 'Repeat',
463
+ normalScaleX: 1,
464
+ normalScaleY: 1,
465
+ emissiveIntensity: 1,
466
+ displacementScale: 0,
467
+ transparent: false,
278
468
  flipY: true,
279
469
  bumpScale: 1,
280
470
  emissiveColor: '#000000',
@@ -286,19 +476,23 @@ export const MATERIAL_CATALOG = [
286
476
  },
287
477
  },
288
478
  {
289
- id: 'wall-parquet1',
290
- label: 'Parquet',
291
- category: 'parquet',
479
+ id: 'wood-woodparquet14',
480
+ label: 'Wood Parquet 14',
481
+ category: 'wood',
292
482
  description: 'Parquet wood finish',
293
- previewThumbnailUrl: '/material/parquet1/parquet_thumnail.webp',
483
+ previewThumbnailUrl: '/material/wood/wood_parquet_14/woodparquet_14_basecolor.webp',
294
484
  preset: {
295
485
  maps: {
296
- albedoMap: '/material/parquet1/albedoMap_parquet.jpg',
486
+ albedoMap: '/material/wood/wood_parquet_14/woodparquet_14_basecolor.webp',
487
+ aoMap: '/material/wood/wood_parquet_14/woodparquet_14_ambientocclusion.webp',
488
+ metalnessMap: '/material/wood/wood_parquet_14/woodparquet_14_metallic.webp',
489
+ normalMap: '/material/wood/wood_parquet_14/woodparquet_14_normal.webp',
490
+ roughnessMap: '/material/wood/wood_parquet_14/woodparquet_14_roughness.webp',
297
491
  },
298
492
  mapProperties: {
299
493
  color: '#ffffff',
300
- roughness: 0.644,
301
- metalness: 0.4,
494
+ roughness: 0.5,
495
+ metalness: 0,
302
496
  repeatX: 1,
303
497
  repeatY: 1,
304
498
  rotation: 0,
@@ -307,8 +501,8 @@ export const MATERIAL_CATALOG = [
307
501
  normalScaleX: 1,
308
502
  normalScaleY: 1,
309
503
  emissiveIntensity: 1,
310
- displacementScale: 0.02,
311
- transparent: true,
504
+ displacementScale: 0,
505
+ transparent: false,
312
506
  flipY: true,
313
507
  bumpScale: 1,
314
508
  emissiveColor: '#000000',
@@ -320,18 +514,21 @@ export const MATERIAL_CATALOG = [
320
514
  },
321
515
  },
322
516
  {
323
- id: 'wall-parquet2',
324
- label: 'Parquet',
325
- category: 'parquet',
326
- description: 'Soft parquet finish',
327
- previewThumbnailUrl: '/material/parquet2/parquet2_thumbnail.webp',
517
+ id: 'wood-woodenparquet11',
518
+ label: 'Wooden Parquet 11',
519
+ category: 'wood',
520
+ description: 'Parquet wood finish',
521
+ previewThumbnailUrl: '/material/wood/wooden_parquet_11/Classic Parquet_11_baseColor.webp',
328
522
  preset: {
329
523
  maps: {
330
- albedoMap: '/material/parquet2/albedoMap_parquet.jpg',
524
+ albedoMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_baseColor.webp',
525
+ metalnessMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_specularLevel.webp',
526
+ normalMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_normal.webp',
527
+ roughnessMap: '/material/wood/wooden_parquet_11/Classic Parquet_11_roughness.webp',
331
528
  },
332
529
  mapProperties: {
333
530
  color: '#ffffff',
334
- roughness: 0.6,
531
+ roughness: 0.5,
335
532
  metalness: 0,
336
533
  repeatX: 1,
337
534
  repeatY: 1,
@@ -341,8 +538,8 @@ export const MATERIAL_CATALOG = [
341
538
  normalScaleX: 1,
342
539
  normalScaleY: 1,
343
540
  emissiveIntensity: 1,
344
- displacementScale: 0.02,
345
- transparent: true,
541
+ displacementScale: 0,
542
+ transparent: false,
346
543
  flipY: true,
347
544
  bumpScale: 1,
348
545
  emissiveColor: '#000000',
@@ -354,19 +551,21 @@ export const MATERIAL_CATALOG = [
354
551
  },
355
552
  },
356
553
  {
357
- id: 'wall-wallpaper1',
358
- label: 'Wallpaper',
359
- category: 'wallpaper',
360
- description: 'Soft wallpaper finish',
361
- previewThumbnailUrl: '/material/wallpaper1/wallpaper1_thumbnail.webp',
554
+ id: 'wood-woodparquet121',
555
+ label: 'Wood Parquet 121',
556
+ category: 'wood',
557
+ description: 'Parquet wood finish',
558
+ previewThumbnailUrl: '/material/wood/woodparquet_121/woodparquet_121_basecolor.webp',
362
559
  preset: {
363
560
  maps: {
364
- albedoMap: '/material/wallpaper1/albedoMap_1.webp',
365
- normalMap: '/material/wallpaper1/normalMap_NormalMap.webp',
561
+ albedoMap: '/material/wood/woodparquet_121/woodparquet_121_basecolor.webp',
562
+ aoMap: '/material/wood/woodparquet_121/woodparquet_121_ambientocclusion.webp',
563
+ normalMap: '/material/wood/woodparquet_121/woodparquet_121_normal.webp',
564
+ roughnessMap: '/material/wood/woodparquet_121/woodparquet_121_roughness.webp',
366
565
  },
367
566
  mapProperties: {
368
567
  color: '#ffffff',
369
- roughness: 0.911,
568
+ roughness: 0.5,
370
569
  metalness: 0,
371
570
  repeatX: 1,
372
571
  repeatY: 1,
@@ -376,8 +575,8 @@ export const MATERIAL_CATALOG = [
376
575
  normalScaleX: 1,
377
576
  normalScaleY: 1,
378
577
  emissiveIntensity: 1,
379
- displacementScale: 0.02,
380
- transparent: true,
578
+ displacementScale: 0,
579
+ transparent: false,
381
580
  flipY: true,
382
581
  bumpScale: 1,
383
582
  emissiveColor: '#000000',
@@ -389,19 +588,23 @@ export const MATERIAL_CATALOG = [
389
588
  },
390
589
  },
391
590
  {
392
- id: 'wall-wallpaper2',
393
- label: 'Wallpaper',
394
- category: 'wallpaper',
395
- description: 'Decorative wallpaper finish',
396
- previewThumbnailUrl: '/material/wallpaper2/wallpaper2_thumnail.webp',
591
+ id: 'wood-woodparquet56',
592
+ label: 'Wood Parquet 56',
593
+ category: 'wood',
594
+ description: 'Parquet wood finish',
595
+ previewThumbnailUrl: '/material/wood/woodparquet_56/woodparquet_56_basecolor.webp',
397
596
  preset: {
398
597
  maps: {
399
- albedoMap: '/material/wallpaper2/albedoMap_5.webp',
598
+ albedoMap: '/material/wood/woodparquet_56/woodparquet_56_basecolor.webp',
599
+ aoMap: '/material/wood/woodparquet_56/woodparquet_56_ambientocclusion.webp',
600
+ metalnessMap: '/material/wood/woodparquet_56/woodparquet_56_metallic.webp',
601
+ normalMap: '/material/wood/woodparquet_56/woodparquet_56_normal.webp',
602
+ roughnessMap: '/material/wood/woodparquet_56/woodparquet_56_roughness.webp',
400
603
  },
401
604
  mapProperties: {
402
605
  color: '#ffffff',
403
- roughness: 0.889,
404
- metalness: 0.255,
606
+ roughness: 0.5,
607
+ metalness: 0,
405
608
  repeatX: 1,
406
609
  repeatY: 1,
407
610
  rotation: 0,
@@ -410,8 +613,8 @@ export const MATERIAL_CATALOG = [
410
613
  normalScaleX: 1,
411
614
  normalScaleY: 1,
412
615
  emissiveIntensity: 1,
413
- displacementScale: 0.02,
414
- transparent: true,
616
+ displacementScale: 0,
617
+ transparent: false,
415
618
  flipY: true,
416
619
  bumpScale: 1,
417
620
  emissiveColor: '#000000',
@@ -423,19 +626,23 @@ export const MATERIAL_CATALOG = [
423
626
  },
424
627
  },
425
628
  {
426
- id: 'wall-wallpaper3',
427
- label: 'Wallpaper',
428
- category: 'wallpaper',
429
- description: 'Patterned wallpaper finish',
430
- previewThumbnailUrl: '/material/wallpaper3/wallpaper3_thumbnail.webp',
629
+ id: 'wood-woodparquet65',
630
+ label: 'Wood Parquet 65',
631
+ category: 'wood',
632
+ description: 'Parquet wood finish',
633
+ previewThumbnailUrl: '/material/wood/woodparquet_65/woodparquet_65_BaseColor.webp',
431
634
  preset: {
432
635
  maps: {
433
- albedoMap: '/material/wallpaper3/albedoMap_wallpaper3.avif',
636
+ albedoMap: '/material/wood/woodparquet_65/woodparquet_65_BaseColor.webp',
637
+ aoMap: '/material/wood/woodparquet_65/woodparquet_65_AmbientOcclusion.webp',
638
+ metalnessMap: '/material/wood/woodparquet_65/woodparquet_65_Metallic.webp',
639
+ normalMap: '/material/wood/woodparquet_65/woodparquet_65_Normal.webp',
640
+ roughnessMap: '/material/wood/woodparquet_65/woodparquet_65_Roughness.webp',
434
641
  },
435
642
  mapProperties: {
436
643
  color: '#ffffff',
437
- roughness: 0.887,
438
- metalness: 0.35,
644
+ roughness: 0.5,
645
+ metalness: 0,
439
646
  repeatX: 1,
440
647
  repeatY: 1,
441
648
  rotation: 0,
@@ -444,8 +651,8 @@ export const MATERIAL_CATALOG = [
444
651
  normalScaleX: 1,
445
652
  normalScaleY: 1,
446
653
  emissiveIntensity: 1,
447
- displacementScale: 0.02,
448
- transparent: true,
654
+ displacementScale: 0,
655
+ transparent: false,
449
656
  flipY: true,
450
657
  bumpScale: 1,
451
658
  emissiveColor: '#000000',
@@ -457,15 +664,1624 @@ export const MATERIAL_CATALOG = [
457
664
  },
458
665
  },
459
666
  {
460
- id: 'preset-white',
461
- label: 'White',
462
- category: 'other',
463
- description: 'Clean painted finish',
464
- previewColor: '#ffffff',
667
+ id: 'wood-woodparquet99',
668
+ label: 'Wood Parquet 99',
669
+ category: 'wood',
670
+ description: 'Parquet wood finish',
671
+ previewThumbnailUrl: '/material/wood/woodparquet_99/woodparquet_99_basecolor.webp',
465
672
  preset: {
466
- maps: {},
673
+ maps: {
674
+ albedoMap: '/material/wood/woodparquet_99/woodparquet_99_basecolor.webp',
675
+ aoMap: '/material/wood/woodparquet_99/woodparquet_99_ambientocclusion.webp',
676
+ metalnessMap: '/material/wood/woodparquet_99/woodparquet_99_metallic.webp',
677
+ normalMap: '/material/wood/woodparquet_99/woodparquet_99_normal.webp',
678
+ roughnessMap: '/material/wood/woodparquet_99/woodparquet_99_roughness.webp',
679
+ },
680
+ mapProperties: {
681
+ color: '#ffffff',
682
+ roughness: 0.5,
683
+ metalness: 0,
684
+ repeatX: 1,
685
+ repeatY: 1,
686
+ rotation: 0,
687
+ wrapS: 'Repeat',
688
+ wrapT: 'Repeat',
689
+ normalScaleX: 1,
690
+ normalScaleY: 1,
691
+ emissiveIntensity: 1,
692
+ displacementScale: 0,
693
+ transparent: false,
694
+ flipY: true,
695
+ bumpScale: 1,
696
+ emissiveColor: '#000000',
697
+ aoMapIntensity: 1,
698
+ side: 0,
699
+ opacity: 1,
700
+ lightMapIntensity: 1,
701
+ },
702
+ },
703
+ },
704
+ {
705
+ id: 'wood-woodplank19',
706
+ label: 'Wood Plank 19',
707
+ category: 'wood',
708
+ description: 'Wood plank finish',
709
+ previewThumbnailUrl: '/material/wood/woodplank_19/woodplank_19_basecolor.webp',
710
+ preset: {
711
+ maps: {
712
+ albedoMap: '/material/wood/woodplank_19/woodplank_19_basecolor.webp',
713
+ aoMap: '/material/wood/woodplank_19/woodplank_19_ambientocclusion.webp',
714
+ normalMap: '/material/wood/woodplank_19/woodplank_19_normal.webp',
715
+ roughnessMap: '/material/wood/woodplank_19/woodplank_19_roughness.webp',
716
+ },
717
+ mapProperties: {
718
+ color: '#ffffff',
719
+ roughness: 0.5,
720
+ metalness: 0,
721
+ repeatX: 1,
722
+ repeatY: 1,
723
+ rotation: 0,
724
+ wrapS: 'Repeat',
725
+ wrapT: 'Repeat',
726
+ normalScaleX: 1,
727
+ normalScaleY: 1,
728
+ emissiveIntensity: 1,
729
+ displacementScale: 0,
730
+ transparent: false,
731
+ flipY: true,
732
+ bumpScale: 1,
733
+ emissiveColor: '#000000',
734
+ aoMapIntensity: 1,
735
+ side: 0,
736
+ opacity: 1,
737
+ lightMapIntensity: 1,
738
+ },
739
+ },
740
+ },
741
+ {
742
+ id: 'wood-woodplank48',
743
+ label: 'Wood Plank 48',
744
+ category: 'wood',
745
+ description: 'Wood plank finish',
746
+ previewThumbnailUrl: '/material/wood/woodplank_48/woodplank_48_BaseColor.webp',
747
+ preset: {
748
+ maps: {
749
+ albedoMap: '/material/wood/woodplank_48/woodplank_48_BaseColor.webp',
750
+ aoMap: '/material/wood/woodplank_48/woodplank_48_AmbientOcclusion.webp',
751
+ normalMap: '/material/wood/woodplank_48/woodplank_48_Normal.webp',
752
+ roughnessMap: '/material/wood/woodplank_48/woodplank_48_Roughness.webp',
753
+ },
467
754
  mapProperties: {
468
755
  color: '#ffffff',
756
+ roughness: 0.5,
757
+ metalness: 0,
758
+ repeatX: 1,
759
+ repeatY: 1,
760
+ rotation: 0,
761
+ wrapS: 'Repeat',
762
+ wrapT: 'Repeat',
763
+ normalScaleX: 1,
764
+ normalScaleY: 1,
765
+ emissiveIntensity: 1,
766
+ displacementScale: 0,
767
+ transparent: false,
768
+ flipY: true,
769
+ bumpScale: 1,
770
+ emissiveColor: '#000000',
771
+ aoMapIntensity: 1,
772
+ side: 0,
773
+ opacity: 1,
774
+ lightMapIntensity: 1,
775
+ },
776
+ },
777
+ },
778
+ {
779
+ id: 'flooring-tile85a',
780
+ label: 'Quarry Tile',
781
+ category: 'flooring',
782
+ description: 'Floor tile finish',
783
+ previewThumbnailUrl: '/material/flooring/tile_quarry/tile_quarry_basecolor.webp',
784
+ preset: {
785
+ maps: {
786
+ albedoMap: '/material/flooring/tile_quarry/tile_quarry_basecolor.webp',
787
+ aoMap: '/material/flooring/tile_quarry/tile_quarry_ambientocclusion.webp',
788
+ normalMap: '/material/flooring/tile_quarry/tile_quarry_normal.webp',
789
+ roughnessMap: '/material/flooring/tile_quarry/tile_quarry_roughness.webp',
790
+ },
791
+ mapProperties: {
792
+ color: '#ffffff',
793
+ roughness: 0.5,
794
+ metalness: 0,
795
+ repeatX: 0.3,
796
+ repeatY: 0.3,
797
+ rotation: 0,
798
+ wrapS: 'Repeat',
799
+ wrapT: 'Repeat',
800
+ normalScaleX: 1,
801
+ normalScaleY: 1,
802
+ emissiveIntensity: 1,
803
+ displacementScale: 0,
804
+ transparent: false,
805
+ flipY: true,
806
+ bumpScale: 1,
807
+ emissiveColor: '#000000',
808
+ aoMapIntensity: 1,
809
+ side: 0,
810
+ opacity: 1,
811
+ lightMapIntensity: 1,
812
+ },
813
+ },
814
+ },
815
+ {
816
+ id: 'flooring-rusticbrick',
817
+ label: 'Rustic Brick',
818
+ category: 'flooring',
819
+ description: 'Brick finish',
820
+ previewThumbnailUrl: '/material/flooring/brick_wall_rustic/brick_wall_rustic_basecolor.jpg',
821
+ preset: {
822
+ maps: {
823
+ albedoMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_basecolor.jpg',
824
+ aoMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_ambientocclusion.jpg',
825
+ metalnessMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_metallic.jpg',
826
+ normalMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_normal.jpg',
827
+ roughnessMap: '/material/flooring/brick_wall_rustic/brick_wall_rustic_roughness.jpg',
828
+ },
829
+ mapProperties: {
830
+ color: '#ffffff',
831
+ roughness: 0.5,
832
+ metalness: 0,
833
+ repeatX: 1.5,
834
+ repeatY: 1.5,
835
+ rotation: 0,
836
+ wrapS: 'Repeat',
837
+ wrapT: 'Repeat',
838
+ normalScaleX: 1,
839
+ normalScaleY: 1,
840
+ emissiveIntensity: 1,
841
+ displacementScale: 0,
842
+ transparent: false,
843
+ flipY: true,
844
+ bumpScale: 1,
845
+ emissiveColor: '#000000',
846
+ aoMapIntensity: 1,
847
+ side: 0,
848
+ opacity: 1,
849
+ lightMapIntensity: 1,
850
+ },
851
+ },
852
+ },
853
+ {
854
+ id: 'flooring-agedbrick',
855
+ label: 'Aged Brick',
856
+ category: 'flooring',
857
+ description: 'Brick finish',
858
+ previewThumbnailUrl: '/material/flooring/brick_wall_aged/brick_wall_aged_basecolor.jpg',
859
+ preset: {
860
+ maps: {
861
+ albedoMap: '/material/flooring/brick_wall_aged/brick_wall_aged_basecolor.jpg',
862
+ aoMap: '/material/flooring/brick_wall_aged/brick_wall_aged_ambientocclusion.jpg',
863
+ metalnessMap: '/material/flooring/brick_wall_aged/brick_wall_aged_metallic.jpg',
864
+ normalMap: '/material/flooring/brick_wall_aged/brick_wall_aged_normal.jpg',
865
+ roughnessMap: '/material/flooring/brick_wall_aged/brick_wall_aged_roughness.jpg',
866
+ },
867
+ mapProperties: {
868
+ color: '#ffffff',
869
+ roughness: 0.5,
870
+ metalness: 0,
871
+ repeatX: 1.5,
872
+ repeatY: 1.5,
873
+ rotation: 0,
874
+ wrapS: 'Repeat',
875
+ wrapT: 'Repeat',
876
+ normalScaleX: 1,
877
+ normalScaleY: 1,
878
+ emissiveIntensity: 1,
879
+ displacementScale: 0,
880
+ transparent: false,
881
+ flipY: true,
882
+ bumpScale: 1,
883
+ emissiveColor: '#000000',
884
+ aoMapIntensity: 1,
885
+ side: 0,
886
+ opacity: 1,
887
+ lightMapIntensity: 1,
888
+ },
889
+ },
890
+ },
891
+ {
892
+ id: 'flooring-weatheredbrick',
893
+ label: 'Weathered Brick',
894
+ category: 'flooring',
895
+ description: 'Brick finish',
896
+ previewThumbnailUrl: '/material/flooring/brick_wall_weathered/brick_wall_weathered_basecolor.jpg',
897
+ preset: {
898
+ maps: {
899
+ albedoMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_basecolor.jpg',
900
+ aoMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_ambientocclusion.jpg',
901
+ normalMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_normal.jpg',
902
+ roughnessMap: '/material/flooring/brick_wall_weathered/brick_wall_weathered_roughness.jpg',
903
+ },
904
+ mapProperties: {
905
+ color: '#ffffff',
906
+ roughness: 0.5,
907
+ metalness: 0,
908
+ repeatX: 1,
909
+ repeatY: 1,
910
+ rotation: 0,
911
+ wrapS: 'Repeat',
912
+ wrapT: 'Repeat',
913
+ normalScaleX: 1,
914
+ normalScaleY: 1,
915
+ emissiveIntensity: 1,
916
+ displacementScale: 0,
917
+ transparent: false,
918
+ flipY: true,
919
+ bumpScale: 1,
920
+ emissiveColor: '#000000',
921
+ aoMapIntensity: 1,
922
+ side: 0,
923
+ opacity: 1,
924
+ lightMapIntensity: 1,
925
+ },
926
+ },
927
+ },
928
+ {
929
+ id: 'flooring-garagedoor',
930
+ label: 'Garage Panel',
931
+ category: 'flooring',
932
+ description: 'Panel finish',
933
+ previewThumbnailUrl: '/material/flooring/garage_panel/garage_panel_diffuse.jpg',
934
+ preset: {
935
+ maps: {
936
+ albedoMap: '/material/flooring/garage_panel/garage_panel_diffuse.jpg',
937
+ aoMap: '/material/flooring/garage_panel/garage_panel_ao.jpg',
938
+ metalnessMap: '/material/flooring/garage_panel/garage_panel_specular.jpg',
939
+ normalMap: '/material/flooring/garage_panel/garage_panel_normal.jpg',
940
+ },
941
+ mapProperties: {
942
+ color: '#ffffff',
943
+ roughness: 0.45,
944
+ metalness: 0,
945
+ repeatX: 1,
946
+ repeatY: 1,
947
+ rotation: 0,
948
+ wrapS: 'Repeat',
949
+ wrapT: 'Repeat',
950
+ normalScaleX: 1,
951
+ normalScaleY: 1,
952
+ emissiveIntensity: 1,
953
+ displacementScale: 0,
954
+ transparent: false,
955
+ flipY: true,
956
+ bumpScale: 1,
957
+ emissiveColor: '#000000',
958
+ aoMapIntensity: 1,
959
+ side: 0,
960
+ opacity: 1,
961
+ lightMapIntensity: 1,
962
+ },
963
+ },
964
+ },
965
+ {
966
+ id: 'flooring-greenlabradorite',
967
+ label: 'Green Labradorite',
968
+ category: 'flooring',
969
+ description: 'Stone flooring finish',
970
+ previewThumbnailUrl: '/material/flooring/green_labradorite/green_labradorite_diffuse.jpg',
971
+ preset: {
972
+ maps: {
973
+ albedoMap: '/material/flooring/green_labradorite/green_labradorite_diffuse.jpg',
974
+ aoMap: '/material/flooring/green_labradorite/green_labradorite_ao.jpg',
975
+ metalnessMap: '/material/flooring/green_labradorite/green_labradorite_specular.jpg',
976
+ normalMap: '/material/flooring/green_labradorite/green_labradorite_normal.jpg',
977
+ },
978
+ mapProperties: {
979
+ color: '#ffffff',
980
+ roughness: 0.35,
981
+ metalness: 0,
982
+ repeatX: 0.6,
983
+ repeatY: 1,
984
+ rotation: 0,
985
+ wrapS: 'Repeat',
986
+ wrapT: 'Repeat',
987
+ normalScaleX: 1,
988
+ normalScaleY: 1,
989
+ emissiveIntensity: 1,
990
+ displacementScale: 0,
991
+ transparent: false,
992
+ flipY: true,
993
+ bumpScale: 1,
994
+ emissiveColor: '#000000',
995
+ aoMapIntensity: 1,
996
+ side: 0,
997
+ opacity: 1,
998
+ lightMapIntensity: 1,
999
+ },
1000
+ },
1001
+ },
1002
+ {
1003
+ id: 'flooring-ground13',
1004
+ label: 'Earth Ground',
1005
+ category: 'flooring',
1006
+ description: 'Ground surface finish',
1007
+ previewThumbnailUrl: '/material/flooring/ground_earth/ground_earth_basecolor.jpg',
1008
+ preset: {
1009
+ maps: {
1010
+ albedoMap: '/material/flooring/ground_earth/ground_earth_basecolor.jpg',
1011
+ aoMap: '/material/flooring/ground_earth/ground_earth_ambientocclusion.jpg',
1012
+ metalnessMap: '/material/flooring/ground_earth/ground_earth_metallic.jpg',
1013
+ normalMap: '/material/flooring/ground_earth/ground_earth_normal.jpg',
1014
+ roughnessMap: '/material/flooring/ground_earth/ground_earth_roughness.jpg',
1015
+ },
1016
+ mapProperties: {
1017
+ color: '#ffffff',
1018
+ roughness: 0.5,
1019
+ metalness: 0,
1020
+ repeatX: 1,
1021
+ repeatY: 1,
1022
+ rotation: 0,
1023
+ wrapS: 'Repeat',
1024
+ wrapT: 'Repeat',
1025
+ normalScaleX: 1,
1026
+ normalScaleY: 1,
1027
+ emissiveIntensity: 1,
1028
+ displacementScale: 0,
1029
+ transparent: false,
1030
+ flipY: true,
1031
+ bumpScale: 1,
1032
+ emissiveColor: '#000000',
1033
+ aoMapIntensity: 1,
1034
+ side: 0,
1035
+ opacity: 1,
1036
+ lightMapIntensity: 1,
1037
+ },
1038
+ },
1039
+ },
1040
+ {
1041
+ id: 'flooring-pooltiles',
1042
+ label: 'Pool Tiles',
1043
+ category: 'flooring',
1044
+ description: 'Pool tile finish',
1045
+ previewThumbnailUrl: '/material/flooring/pool_tiles/pool_tiles_diffuse.jpg',
1046
+ preset: {
1047
+ maps: {
1048
+ albedoMap: '/material/flooring/pool_tiles/pool_tiles_diffuse.jpg',
1049
+ aoMap: '/material/flooring/pool_tiles/pool_tiles_ao.jpg',
1050
+ metalnessMap: '/material/flooring/pool_tiles/pool_tiles_specular.jpg',
1051
+ normalMap: '/material/flooring/pool_tiles/pool_tiles_normal.jpg',
1052
+ },
1053
+ mapProperties: {
1054
+ color: '#ffffff',
1055
+ roughness: 0.45,
1056
+ metalness: 0,
1057
+ repeatX: 1,
1058
+ repeatY: 1,
1059
+ rotation: 0,
1060
+ wrapS: 'Repeat',
1061
+ wrapT: 'Repeat',
1062
+ normalScaleX: 1,
1063
+ normalScaleY: 1,
1064
+ emissiveIntensity: 1,
1065
+ displacementScale: 0,
1066
+ transparent: false,
1067
+ flipY: true,
1068
+ bumpScale: 1,
1069
+ emissiveColor: '#000000',
1070
+ aoMapIntensity: 1,
1071
+ side: 0,
1072
+ opacity: 1,
1073
+ lightMapIntensity: 1,
1074
+ },
1075
+ },
1076
+ },
1077
+ {
1078
+ id: 'flooring-tiles3',
1079
+ label: 'Checker Tiles',
1080
+ category: 'flooring',
1081
+ description: 'Tile flooring finish',
1082
+ previewThumbnailUrl: '/material/flooring/tiles_checker/tiles_checker_diffuse.jpg',
1083
+ preset: {
1084
+ maps: {
1085
+ albedoMap: '/material/flooring/tiles_checker/tiles_checker_diffuse.jpg',
1086
+ aoMap: '/material/flooring/tiles_checker/tiles_checker_ao.jpg',
1087
+ metalnessMap: '/material/flooring/tiles_checker/tiles_checker_specular.jpg',
1088
+ normalMap: '/material/flooring/tiles_checker/tiles_checker_normal.jpg',
1089
+ },
1090
+ mapProperties: {
1091
+ color: '#ffffff',
1092
+ roughness: 0.45,
1093
+ metalness: 0,
1094
+ repeatX: 1,
1095
+ repeatY: 1,
1096
+ rotation: 0,
1097
+ wrapS: 'Repeat',
1098
+ wrapT: 'Repeat',
1099
+ normalScaleX: 1,
1100
+ normalScaleY: 1,
1101
+ emissiveIntensity: 1,
1102
+ displacementScale: 0,
1103
+ transparent: false,
1104
+ flipY: true,
1105
+ bumpScale: 1,
1106
+ emissiveColor: '#000000',
1107
+ aoMapIntensity: 1,
1108
+ side: 0,
1109
+ opacity: 1,
1110
+ lightMapIntensity: 1,
1111
+ },
1112
+ },
1113
+ },
1114
+ {
1115
+ id: 'flooring-tiles4',
1116
+ label: 'Grid Tiles',
1117
+ category: 'flooring',
1118
+ description: 'Tile flooring finish',
1119
+ previewThumbnailUrl: '/material/flooring/tiles_grid/tiles_grid_diffuse.jpg',
1120
+ preset: {
1121
+ maps: {
1122
+ albedoMap: '/material/flooring/tiles_grid/tiles_grid_diffuse.jpg',
1123
+ aoMap: '/material/flooring/tiles_grid/tiles_grid_ao.jpg',
1124
+ metalnessMap: '/material/flooring/tiles_grid/tiles_grid_specular.jpg',
1125
+ normalMap: '/material/flooring/tiles_grid/tiles_grid_normal.jpg',
1126
+ },
1127
+ mapProperties: {
1128
+ color: '#ffffff',
1129
+ roughness: 0.45,
1130
+ metalness: 0,
1131
+ repeatX: 1,
1132
+ repeatY: 1,
1133
+ rotation: 0,
1134
+ wrapS: 'Repeat',
1135
+ wrapT: 'Repeat',
1136
+ normalScaleX: 1,
1137
+ normalScaleY: 1,
1138
+ emissiveIntensity: 1,
1139
+ displacementScale: 0,
1140
+ transparent: false,
1141
+ flipY: true,
1142
+ bumpScale: 1,
1143
+ emissiveColor: '#000000',
1144
+ aoMapIntensity: 1,
1145
+ side: 0,
1146
+ opacity: 1,
1147
+ lightMapIntensity: 1,
1148
+ },
1149
+ },
1150
+ },
1151
+ {
1152
+ id: 'flooring-wallstone1',
1153
+ label: 'Stone Wall',
1154
+ category: 'flooring',
1155
+ description: 'Stone finish',
1156
+ previewThumbnailUrl: '/material/flooring/stone_wall/stone_wall_diffuse.webp',
1157
+ preset: {
1158
+ maps: {
1159
+ albedoMap: '/material/flooring/stone_wall/stone_wall_diffuse.webp',
1160
+ aoMap: '/material/flooring/stone_wall/stone_wall_ao.webp',
1161
+ metalnessMap: '/material/flooring/stone_wall/stone_wall_specular.webp',
1162
+ normalMap: '/material/flooring/stone_wall/stone_wall_normal.webp',
1163
+ },
1164
+ mapProperties: {
1165
+ color: '#ffffff',
1166
+ roughness: 0.45,
1167
+ metalness: 0,
1168
+ repeatX: 1,
1169
+ repeatY: 1,
1170
+ rotation: 0,
1171
+ wrapS: 'Repeat',
1172
+ wrapT: 'Repeat',
1173
+ normalScaleX: 1,
1174
+ normalScaleY: 1,
1175
+ emissiveIntensity: 1,
1176
+ displacementScale: 0,
1177
+ transparent: false,
1178
+ flipY: true,
1179
+ bumpScale: 1,
1180
+ emissiveColor: '#000000',
1181
+ aoMapIntensity: 1,
1182
+ side: 0,
1183
+ opacity: 1,
1184
+ lightMapIntensity: 1,
1185
+ },
1186
+ },
1187
+ },
1188
+ {
1189
+ id: 'flooring-woodenceramic3',
1190
+ label: 'Wooden Ceramic 3',
1191
+ category: 'flooring',
1192
+ description: 'Wood-look ceramic flooring finish',
1193
+ previewThumbnailUrl: '/material/flooring/wooden_ceramic_3/wooden_ceramic-diffuse.webp',
1194
+ preset: {
1195
+ maps: {
1196
+ albedoMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-diffuse.webp',
1197
+ aoMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-ao.webp',
1198
+ metalnessMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-specular.webp',
1199
+ normalMap: '/material/flooring/wooden_ceramic_3/wooden_ceramic-normal.webp',
1200
+ },
1201
+ mapProperties: {
1202
+ color: '#ffffff',
1203
+ roughness: 0.45,
1204
+ metalness: 0,
1205
+ repeatX: 1,
1206
+ repeatY: 1,
1207
+ rotation: 0,
1208
+ wrapS: 'Repeat',
1209
+ wrapT: 'Repeat',
1210
+ normalScaleX: 1,
1211
+ normalScaleY: 1,
1212
+ emissiveIntensity: 1,
1213
+ displacementScale: 0,
1214
+ transparent: false,
1215
+ flipY: true,
1216
+ bumpScale: 1,
1217
+ emissiveColor: '#000000',
1218
+ aoMapIntensity: 1,
1219
+ side: 0,
1220
+ opacity: 1,
1221
+ lightMapIntensity: 1,
1222
+ },
1223
+ },
1224
+ },
1225
+ {
1226
+ id: 'flooring-ceramic53',
1227
+ label: 'Ceramic Mosaic',
1228
+ category: 'flooring',
1229
+ description: 'Ceramic flooring finish',
1230
+ previewThumbnailUrl: '/material/flooring/ceramic_mosaic/ceramic_mosaic_basecolor.jpg',
1231
+ preset: {
1232
+ maps: {
1233
+ albedoMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_basecolor.jpg',
1234
+ aoMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_ambientocclusion.jpg',
1235
+ metalnessMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_metallic.jpg',
1236
+ normalMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_normal.png',
1237
+ roughnessMap: '/material/flooring/ceramic_mosaic/ceramic_mosaic_roughness.jpg',
1238
+ },
1239
+ mapProperties: {
1240
+ color: '#ffffff',
1241
+ roughness: 0.5,
1242
+ metalness: 0,
1243
+ repeatX: 0.5,
1244
+ repeatY: 0.5,
1245
+ rotation: 0,
1246
+ wrapS: 'Repeat',
1247
+ wrapT: 'Repeat',
1248
+ normalScaleX: 1,
1249
+ normalScaleY: 1,
1250
+ emissiveIntensity: 1,
1251
+ displacementScale: 0,
1252
+ transparent: false,
1253
+ flipY: true,
1254
+ bumpScale: 1,
1255
+ emissiveColor: '#000000',
1256
+ aoMapIntensity: 1,
1257
+ side: 0,
1258
+ opacity: 1,
1259
+ lightMapIntensity: 1,
1260
+ },
1261
+ },
1262
+ },
1263
+ {
1264
+ id: 'flooring-terrazzo19',
1265
+ label: 'Terrazzo',
1266
+ category: 'flooring',
1267
+ description: 'Terrazzo flooring finish',
1268
+ previewThumbnailUrl: '/material/flooring/terrazzo/terrazzo_basecolor.jpg',
1269
+ preset: {
1270
+ maps: {
1271
+ albedoMap: '/material/flooring/terrazzo/terrazzo_basecolor.jpg',
1272
+ metalnessMap: '/material/flooring/terrazzo/terrazzo_metallic.jpg',
1273
+ normalMap: '/material/flooring/terrazzo/terrazzo_normal.jpg',
1274
+ roughnessMap: '/material/flooring/terrazzo/terrazzo_roughness.jpg',
1275
+ },
1276
+ mapProperties: {
1277
+ color: '#ffffff',
1278
+ roughness: 0.5,
1279
+ metalness: 0,
1280
+ repeatX: 0.5,
1281
+ repeatY: 0.5,
1282
+ rotation: 0,
1283
+ wrapS: 'Repeat',
1284
+ wrapT: 'Repeat',
1285
+ normalScaleX: 1,
1286
+ normalScaleY: 1,
1287
+ emissiveIntensity: 1,
1288
+ displacementScale: 0,
1289
+ transparent: false,
1290
+ flipY: true,
1291
+ bumpScale: 1,
1292
+ emissiveColor: '#000000',
1293
+ aoMapIntensity: 1,
1294
+ side: 0,
1295
+ opacity: 1,
1296
+ lightMapIntensity: 1,
1297
+ },
1298
+ },
1299
+ },
1300
+ {
1301
+ id: 'flooring-tile79',
1302
+ label: 'Stone Tile',
1303
+ category: 'flooring',
1304
+ description: 'Floor tile finish',
1305
+ previewThumbnailUrl: '/material/flooring/tile_stone/tile_stone_basecolor.webp',
1306
+ preset: {
1307
+ maps: {
1308
+ albedoMap: '/material/flooring/tile_stone/tile_stone_basecolor.webp',
1309
+ aoMap: '/material/flooring/tile_stone/tile_stone_ambientocclusion.webp',
1310
+ normalMap: '/material/flooring/tile_stone/tile_stone_normal.webp',
1311
+ roughnessMap: '/material/flooring/tile_stone/tile_stone_roughness.webp',
1312
+ },
1313
+ mapProperties: {
1314
+ color: '#ffffff',
1315
+ roughness: 0.5,
1316
+ metalness: 0,
1317
+ repeatX: 0.5,
1318
+ repeatY: 0.5,
1319
+ rotation: 0,
1320
+ wrapS: 'Repeat',
1321
+ wrapT: 'Repeat',
1322
+ normalScaleX: 1,
1323
+ normalScaleY: 1,
1324
+ emissiveIntensity: 1,
1325
+ displacementScale: 0,
1326
+ transparent: false,
1327
+ flipY: true,
1328
+ bumpScale: 1,
1329
+ emissiveColor: '#000000',
1330
+ aoMapIntensity: 1,
1331
+ side: 0,
1332
+ opacity: 1,
1333
+ lightMapIntensity: 1,
1334
+ },
1335
+ },
1336
+ },
1337
+ {
1338
+ id: 'flooring-tile86',
1339
+ label: 'Terracotta Tile',
1340
+ category: 'flooring',
1341
+ description: 'Floor tile finish',
1342
+ previewThumbnailUrl: '/material/flooring/tile_terracotta/tile_terracotta_basecolor.webp',
1343
+ preset: {
1344
+ maps: {
1345
+ albedoMap: '/material/flooring/tile_terracotta/tile_terracotta_basecolor.webp',
1346
+ aoMap: '/material/flooring/tile_terracotta/tile_terracotta_ambientocclusion.webp',
1347
+ normalMap: '/material/flooring/tile_terracotta/tile_terracotta_normal.webp',
1348
+ roughnessMap: '/material/flooring/tile_terracotta/tile_terracotta_roughness.webp',
1349
+ },
1350
+ mapProperties: {
1351
+ color: '#ffffff',
1352
+ roughness: 0.5,
1353
+ metalness: 0,
1354
+ repeatX: 0.5,
1355
+ repeatY: 0.5,
1356
+ rotation: 0,
1357
+ wrapS: 'Repeat',
1358
+ wrapT: 'Repeat',
1359
+ normalScaleX: 1,
1360
+ normalScaleY: 1,
1361
+ emissiveIntensity: 1,
1362
+ displacementScale: 0,
1363
+ transparent: false,
1364
+ flipY: true,
1365
+ bumpScale: 1,
1366
+ emissiveColor: '#000000',
1367
+ aoMapIntensity: 1,
1368
+ side: 0,
1369
+ opacity: 1,
1370
+ lightMapIntensity: 1,
1371
+ },
1372
+ },
1373
+ },
1374
+ {
1375
+ id: 'flooring-greenquartzitea',
1376
+ label: 'Green Quartzite A',
1377
+ category: 'flooring',
1378
+ description: 'Green quartzite flooring finish',
1379
+ previewThumbnailUrl: '/material/flooring/green_glass_quartzite/green_glass_quartzite_diffuse.jpg',
1380
+ preset: {
1381
+ maps: {
1382
+ albedoMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_diffuse.jpg',
1383
+ aoMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_ao.jpg',
1384
+ metalnessMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_specular.jpg',
1385
+ normalMap: '/material/flooring/green_glass_quartzite/green_glass_quartzite_normal.jpg',
1386
+ },
1387
+ mapProperties: {
1388
+ color: '#ffffff',
1389
+ roughness: 0.35,
1390
+ metalness: 0,
1391
+ repeatX: 1,
1392
+ repeatY: 1,
1393
+ rotation: 0,
1394
+ wrapS: 'Repeat',
1395
+ wrapT: 'Repeat',
1396
+ normalScaleX: 1,
1397
+ normalScaleY: 1,
1398
+ emissiveIntensity: 1,
1399
+ displacementScale: 0,
1400
+ transparent: false,
1401
+ flipY: true,
1402
+ bumpScale: 1,
1403
+ emissiveColor: '#000000',
1404
+ aoMapIntensity: 1,
1405
+ side: 0,
1406
+ opacity: 1,
1407
+ lightMapIntensity: 1,
1408
+ },
1409
+ },
1410
+ },
1411
+ {
1412
+ id: 'flooring-darkceramic22',
1413
+ label: 'Dark Ceramic Grunge',
1414
+ category: 'flooring',
1415
+ description: 'Dark ceramic flooring finish',
1416
+ previewThumbnailUrl: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_basecolor.jpg',
1417
+ preset: {
1418
+ maps: {
1419
+ albedoMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_basecolor.jpg',
1420
+ aoMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_ambientocclusion.jpg',
1421
+ metalnessMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_metallic.jpg',
1422
+ normalMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_normal.jpg',
1423
+ roughnessMap: '/material/flooring/dark_ceramic_grunge/dark_ceramic_grunge_roughness.jpg',
1424
+ },
1425
+ mapProperties: {
1426
+ color: '#ffffff',
1427
+ roughness: 0.5,
1428
+ metalness: 0,
1429
+ repeatX: 1,
1430
+ repeatY: 1,
1431
+ rotation: 0,
1432
+ wrapS: 'Repeat',
1433
+ wrapT: 'Repeat',
1434
+ normalScaleX: 1,
1435
+ normalScaleY: 1,
1436
+ emissiveIntensity: 1,
1437
+ displacementScale: 0,
1438
+ transparent: false,
1439
+ flipY: true,
1440
+ bumpScale: 1,
1441
+ emissiveColor: '#000000',
1442
+ aoMapIntensity: 1,
1443
+ side: 0,
1444
+ opacity: 1,
1445
+ lightMapIntensity: 1,
1446
+ },
1447
+ },
1448
+ },
1449
+ {
1450
+ id: 'flooring-lightceramic24',
1451
+ label: 'Light Ceramic Grunge',
1452
+ category: 'flooring',
1453
+ description: 'Light ceramic flooring finish',
1454
+ previewThumbnailUrl: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_basecolor.jpg',
1455
+ preset: {
1456
+ maps: {
1457
+ albedoMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_basecolor.jpg',
1458
+ aoMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_ambientocclusion.jpg',
1459
+ metalnessMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_metallic.jpg',
1460
+ normalMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_normal.jpg',
1461
+ roughnessMap: '/material/flooring/light_ceramic_grunge/light_ceramic_grunge_roughness.jpg',
1462
+ },
1463
+ mapProperties: {
1464
+ color: '#ffffff',
1465
+ roughness: 0.5,
1466
+ metalness: 0,
1467
+ repeatX: 1,
1468
+ repeatY: 1,
1469
+ rotation: 0,
1470
+ wrapS: 'Repeat',
1471
+ wrapT: 'Repeat',
1472
+ normalScaleX: 1,
1473
+ normalScaleY: 1,
1474
+ emissiveIntensity: 1,
1475
+ displacementScale: 0,
1476
+ transparent: false,
1477
+ flipY: true,
1478
+ bumpScale: 1,
1479
+ emissiveColor: '#000000',
1480
+ aoMapIntensity: 1,
1481
+ side: 0,
1482
+ opacity: 1,
1483
+ lightMapIntensity: 1,
1484
+ },
1485
+ },
1486
+ },
1487
+ {
1488
+ id: 'flooring-statuarettowhite',
1489
+ label: 'Statuaretto White',
1490
+ category: 'flooring',
1491
+ description: 'White marble flooring finish',
1492
+ previewThumbnailUrl: '/material/flooring/statuaretto/statuaretto_diffuse.jpg',
1493
+ preset: {
1494
+ maps: {
1495
+ albedoMap: '/material/flooring/statuaretto/statuaretto_diffuse.jpg',
1496
+ aoMap: '/material/flooring/statuaretto/statuaretto_ao.jpg',
1497
+ metalnessMap: '/material/flooring/statuaretto/statuaretto_specular.jpg',
1498
+ normalMap: '/material/flooring/statuaretto/statuaretto_normal.jpg',
1499
+ },
1500
+ mapProperties: {
1501
+ color: '#ffffff',
1502
+ roughness: 0.35,
1503
+ metalness: 0,
1504
+ repeatX: 1,
1505
+ repeatY: 1,
1506
+ rotation: 0,
1507
+ wrapS: 'Repeat',
1508
+ wrapT: 'Repeat',
1509
+ normalScaleX: 1,
1510
+ normalScaleY: 1,
1511
+ emissiveIntensity: 1,
1512
+ displacementScale: 0,
1513
+ transparent: false,
1514
+ flipY: true,
1515
+ bumpScale: 1,
1516
+ emissiveColor: '#000000',
1517
+ aoMapIntensity: 1,
1518
+ side: 0,
1519
+ opacity: 1,
1520
+ lightMapIntensity: 1,
1521
+ },
1522
+ },
1523
+ },
1524
+ {
1525
+ id: 'flooring-tile20',
1526
+ label: 'Mosaic Tile',
1527
+ category: 'flooring',
1528
+ description: 'Floor tile finish',
1529
+ previewThumbnailUrl: '/material/flooring/tile_mosaic/tile_mosaic_basecolor.webp',
1530
+ preset: {
1531
+ maps: {
1532
+ albedoMap: '/material/flooring/tile_mosaic/tile_mosaic_basecolor.webp',
1533
+ aoMap: '/material/flooring/tile_mosaic/tile_mosaic_ambientocclusion.webp',
1534
+ metalnessMap: '/material/flooring/tile_mosaic/tile_mosaic_metallic.webp',
1535
+ normalMap: '/material/flooring/tile_mosaic/tile_mosaic_normal.webp',
1536
+ roughnessMap: '/material/flooring/tile_mosaic/tile_mosaic_roughness.webp',
1537
+ },
1538
+ mapProperties: {
1539
+ color: '#ffffff',
1540
+ roughness: 0.5,
1541
+ metalness: 0,
1542
+ repeatX: 1,
1543
+ repeatY: 1,
1544
+ rotation: 0,
1545
+ wrapS: 'Repeat',
1546
+ wrapT: 'Repeat',
1547
+ normalScaleX: 1,
1548
+ normalScaleY: 1,
1549
+ emissiveIntensity: 1,
1550
+ displacementScale: 0,
1551
+ transparent: false,
1552
+ flipY: true,
1553
+ bumpScale: 1,
1554
+ emissiveColor: '#000000',
1555
+ aoMapIntensity: 1,
1556
+ side: 0,
1557
+ opacity: 1,
1558
+ lightMapIntensity: 1,
1559
+ },
1560
+ },
1561
+ },
1562
+ {
1563
+ id: 'flooring-tile68',
1564
+ label: 'Pattern Tile',
1565
+ category: 'flooring',
1566
+ description: 'Floor tile finish',
1567
+ previewThumbnailUrl: '/material/flooring/tile_pattern/tile_pattern_basecolor.webp',
1568
+ preset: {
1569
+ maps: {
1570
+ albedoMap: '/material/flooring/tile_pattern/tile_pattern_basecolor.webp',
1571
+ aoMap: '/material/flooring/tile_pattern/tile_pattern_ambientocclusion.webp',
1572
+ metalnessMap: '/material/flooring/tile_pattern/tile_pattern_metallic.webp',
1573
+ normalMap: '/material/flooring/tile_pattern/tile_pattern_normal.webp',
1574
+ roughnessMap: '/material/flooring/tile_pattern/tile_pattern_roughness.webp',
1575
+ },
1576
+ mapProperties: {
1577
+ color: '#ffffff',
1578
+ roughness: 0.5,
1579
+ metalness: 0,
1580
+ repeatX: 1,
1581
+ repeatY: 1,
1582
+ rotation: 0,
1583
+ wrapS: 'Repeat',
1584
+ wrapT: 'Repeat',
1585
+ normalScaleX: 1,
1586
+ normalScaleY: 1,
1587
+ emissiveIntensity: 1,
1588
+ displacementScale: 0,
1589
+ transparent: false,
1590
+ flipY: true,
1591
+ bumpScale: 1,
1592
+ emissiveColor: '#000000',
1593
+ aoMapIntensity: 1,
1594
+ side: 0,
1595
+ opacity: 1,
1596
+ lightMapIntensity: 1,
1597
+ },
1598
+ },
1599
+ },
1600
+ {
1601
+ id: 'flooring-woodenceramic2',
1602
+ label: 'Wooden Ceramic 2',
1603
+ category: 'flooring',
1604
+ description: 'Wood-look ceramic flooring finish',
1605
+ previewThumbnailUrl: '/material/flooring/wooden_ceramic_2/wooden_ceramic-diffuse.webp',
1606
+ preset: {
1607
+ maps: {
1608
+ albedoMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-diffuse.webp',
1609
+ aoMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-ao.webp',
1610
+ metalnessMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-specular.webp',
1611
+ normalMap: '/material/flooring/wooden_ceramic_2/wooden_ceramic-normal.webp',
1612
+ },
1613
+ mapProperties: {
1614
+ color: '#ffffff',
1615
+ roughness: 0.45,
1616
+ metalness: 0,
1617
+ repeatX: 1.5,
1618
+ repeatY: 1.5,
1619
+ rotation: 0,
1620
+ wrapS: 'Repeat',
1621
+ wrapT: 'Repeat',
1622
+ normalScaleX: 1,
1623
+ normalScaleY: 1,
1624
+ emissiveIntensity: 1,
1625
+ displacementScale: 0,
1626
+ transparent: false,
1627
+ flipY: true,
1628
+ bumpScale: 1,
1629
+ emissiveColor: '#000000',
1630
+ aoMapIntensity: 1,
1631
+ side: 0,
1632
+ opacity: 1,
1633
+ lightMapIntensity: 1,
1634
+ },
1635
+ },
1636
+ },
1637
+ {
1638
+ id: 'flooring-woodparquet76',
1639
+ label: 'Wood Parquet',
1640
+ category: 'flooring',
1641
+ description: 'Wood parquet flooring finish',
1642
+ previewThumbnailUrl: '/material/flooring/woodparquet/woodparquet_basecolor.webp',
1643
+ preset: {
1644
+ maps: {
1645
+ albedoMap: '/material/flooring/woodparquet/woodparquet_basecolor.webp',
1646
+ aoMap: '/material/flooring/woodparquet/woodparquet_ambientocclusion.webp',
1647
+ metalnessMap: '/material/flooring/woodparquet/woodparquet_metallic.webp',
1648
+ normalMap: '/material/flooring/woodparquet/woodparquet_normal.webp',
1649
+ roughnessMap: '/material/flooring/woodparquet/woodparquet_roughness.webp',
1650
+ },
1651
+ mapProperties: {
1652
+ color: '#ffffff',
1653
+ roughness: 0.5,
1654
+ metalness: 0,
1655
+ repeatX: 1,
1656
+ repeatY: 1,
1657
+ rotation: 0,
1658
+ wrapS: 'Repeat',
1659
+ wrapT: 'Repeat',
1660
+ normalScaleX: 1,
1661
+ normalScaleY: 1,
1662
+ emissiveIntensity: 1,
1663
+ displacementScale: 0,
1664
+ transparent: false,
1665
+ flipY: true,
1666
+ bumpScale: 1,
1667
+ emissiveColor: '#000000',
1668
+ aoMapIntensity: 1,
1669
+ side: 0,
1670
+ opacity: 1,
1671
+ lightMapIntensity: 1,
1672
+ },
1673
+ },
1674
+ },
1675
+ {
1676
+ id: 'roof-classicshingles',
1677
+ label: 'Classic Shingles',
1678
+ category: 'roof',
1679
+ description: 'Classic roof shingle finish',
1680
+ previewThumbnailUrl: '/material/roofing/roof_shingles_classic/roof_shingles_classic_basecolor.webp',
1681
+ preset: {
1682
+ maps: {
1683
+ albedoMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_basecolor.webp',
1684
+ aoMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_ambientocclusion.webp',
1685
+ metalnessMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_metallic.webp',
1686
+ normalMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_normal.webp',
1687
+ roughnessMap: '/material/roofing/roof_shingles_classic/roof_shingles_classic_roughness.webp',
1688
+ },
1689
+ mapProperties: {
1690
+ color: '#ffffff',
1691
+ roughness: 1,
1692
+ metalness: 0.15,
1693
+ repeatX: 1,
1694
+ repeatY: 1,
1695
+ rotation: 0,
1696
+ wrapS: 'Repeat',
1697
+ wrapT: 'Repeat',
1698
+ normalScaleX: 1,
1699
+ normalScaleY: 1,
1700
+ emissiveIntensity: 1,
1701
+ displacementScale: 0,
1702
+ transparent: false,
1703
+ flipY: true,
1704
+ bumpScale: 1,
1705
+ emissiveColor: '#000000',
1706
+ aoMapIntensity: 1,
1707
+ side: 0,
1708
+ opacity: 1,
1709
+ lightMapIntensity: 1,
1710
+ },
1711
+ },
1712
+ },
1713
+ {
1714
+ id: 'roof-claytiles',
1715
+ label: 'Clay Tiles',
1716
+ category: 'roof',
1717
+ description: 'Clay roof tile finish',
1718
+ previewThumbnailUrl: '/material/roofing/roof_tiles_clay/roof_tiles_clay_basecolor.webp',
1719
+ preset: {
1720
+ maps: {
1721
+ albedoMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_basecolor.webp',
1722
+ aoMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_ambientocclusion.webp',
1723
+ metalnessMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_metallic.png',
1724
+ normalMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_normal.webp',
1725
+ roughnessMap: '/material/roofing/roof_tiles_clay/roof_tiles_clay_roughness.webp',
1726
+ },
1727
+ mapProperties: {
1728
+ color: '#ffffff',
1729
+ roughness: 1,
1730
+ metalness: 0.1,
1731
+ repeatX: 1,
1732
+ repeatY: 1,
1733
+ rotation: 0,
1734
+ wrapS: 'Repeat',
1735
+ wrapT: 'Repeat',
1736
+ normalScaleX: 1,
1737
+ normalScaleY: 1,
1738
+ emissiveIntensity: 1,
1739
+ displacementScale: 0,
1740
+ transparent: false,
1741
+ flipY: true,
1742
+ bumpScale: 1,
1743
+ emissiveColor: '#000000',
1744
+ aoMapIntensity: 1,
1745
+ side: 0,
1746
+ opacity: 1,
1747
+ lightMapIntensity: 1,
1748
+ },
1749
+ },
1750
+ },
1751
+ {
1752
+ id: 'roof-terracottatiles',
1753
+ label: 'Terracotta Tiles',
1754
+ category: 'roof',
1755
+ description: 'Terracotta roof tile finish',
1756
+ previewThumbnailUrl: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_basecolor.webp',
1757
+ preset: {
1758
+ maps: {
1759
+ albedoMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_basecolor.webp',
1760
+ aoMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_ambientocclusion.webp',
1761
+ metalnessMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_metallic.webp',
1762
+ normalMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_normal.webp',
1763
+ roughnessMap: '/material/roofing/roof_tiles_terracotta/roof_tiles_terracotta_roughness.webp',
1764
+ },
1765
+ mapProperties: {
1766
+ color: '#ffffff',
1767
+ roughness: 1,
1768
+ metalness: 0.1,
1769
+ repeatX: 1,
1770
+ repeatY: 1,
1771
+ rotation: 0,
1772
+ wrapS: 'Repeat',
1773
+ wrapT: 'Repeat',
1774
+ normalScaleX: 1,
1775
+ normalScaleY: 1,
1776
+ emissiveIntensity: 1,
1777
+ displacementScale: 0,
1778
+ transparent: false,
1779
+ flipY: true,
1780
+ bumpScale: 1,
1781
+ emissiveColor: '#000000',
1782
+ aoMapIntensity: 1,
1783
+ side: 0,
1784
+ opacity: 1,
1785
+ lightMapIntensity: 1,
1786
+ },
1787
+ },
1788
+ },
1789
+ {
1790
+ id: 'roof-weatheredshingles',
1791
+ label: 'Weathered Shingles',
1792
+ category: 'roof',
1793
+ description: 'Weathered roof shingle finish',
1794
+ previewThumbnailUrl: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_basecolor.webp',
1795
+ preset: {
1796
+ maps: {
1797
+ albedoMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_basecolor.webp',
1798
+ aoMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_ambientocclusion.webp',
1799
+ metalnessMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_metallic.webp',
1800
+ normalMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_normal.webp',
1801
+ roughnessMap: '/material/roofing/roof_shingles_weathered/roof_shingles_weathered_roughness.webp',
1802
+ },
1803
+ mapProperties: {
1804
+ color: '#ffffff',
1805
+ roughness: 1,
1806
+ metalness: 0.1,
1807
+ repeatX: 1,
1808
+ repeatY: 1,
1809
+ rotation: 0,
1810
+ wrapS: 'Repeat',
1811
+ wrapT: 'Repeat',
1812
+ normalScaleX: 1,
1813
+ normalScaleY: 1,
1814
+ emissiveIntensity: 1,
1815
+ displacementScale: 0,
1816
+ transparent: false,
1817
+ flipY: true,
1818
+ bumpScale: 1,
1819
+ emissiveColor: '#000000',
1820
+ aoMapIntensity: 1,
1821
+ side: 0,
1822
+ opacity: 1,
1823
+ lightMapIntensity: 1,
1824
+ },
1825
+ },
1826
+ },
1827
+ {
1828
+ id: 'preset-white',
1829
+ label: 'White',
1830
+ category: 'other',
1831
+ description: 'Clean painted finish',
1832
+ previewColor: '#ffffff',
1833
+ preset: {
1834
+ maps: {},
1835
+ mapProperties: {
1836
+ color: '#ffffff',
1837
+ roughness: 0.9,
1838
+ metalness: 0,
1839
+ repeatX: 1,
1840
+ repeatY: 1,
1841
+ rotation: 0,
1842
+ wrapS: 'Repeat',
1843
+ wrapT: 'Repeat',
1844
+ normalScaleX: 1,
1845
+ normalScaleY: 1,
1846
+ emissiveIntensity: 1,
1847
+ displacementScale: 0.02,
1848
+ transparent: false,
1849
+ flipY: true,
1850
+ bumpScale: 1,
1851
+ emissiveColor: '#000000',
1852
+ aoMapIntensity: 1,
1853
+ side: 0,
1854
+ opacity: 1,
1855
+ lightMapIntensity: 1,
1856
+ },
1857
+ },
1858
+ },
1859
+ {
1860
+ id: 'preset-softwhite',
1861
+ label: 'Soft White',
1862
+ category: 'other',
1863
+ description: 'Warm off-white painted finish',
1864
+ previewColor: '#f2eee6',
1865
+ preset: {
1866
+ maps: {},
1867
+ mapProperties: {
1868
+ color: '#f2eee6',
1869
+ roughness: 0.9,
1870
+ metalness: 0,
1871
+ repeatX: 1,
1872
+ repeatY: 1,
1873
+ rotation: 0,
1874
+ wrapS: 'Repeat',
1875
+ wrapT: 'Repeat',
1876
+ normalScaleX: 1,
1877
+ normalScaleY: 1,
1878
+ emissiveIntensity: 1,
1879
+ displacementScale: 0.02,
1880
+ transparent: false,
1881
+ flipY: true,
1882
+ bumpScale: 1,
1883
+ emissiveColor: '#000000',
1884
+ aoMapIntensity: 1,
1885
+ side: 0,
1886
+ opacity: 1,
1887
+ lightMapIntensity: 1,
1888
+ },
1889
+ },
1890
+ },
1891
+ {
1892
+ id: 'preset-cream',
1893
+ label: 'Cream',
1894
+ category: 'other',
1895
+ description: 'Soft cream painted finish',
1896
+ previewColor: '#efe3cc',
1897
+ preset: {
1898
+ maps: {},
1899
+ mapProperties: {
1900
+ color: '#efe3cc',
1901
+ roughness: 0.9,
1902
+ metalness: 0,
1903
+ repeatX: 1,
1904
+ repeatY: 1,
1905
+ rotation: 0,
1906
+ wrapS: 'Repeat',
1907
+ wrapT: 'Repeat',
1908
+ normalScaleX: 1,
1909
+ normalScaleY: 1,
1910
+ emissiveIntensity: 1,
1911
+ displacementScale: 0.02,
1912
+ transparent: false,
1913
+ flipY: true,
1914
+ bumpScale: 1,
1915
+ emissiveColor: '#000000',
1916
+ aoMapIntensity: 1,
1917
+ side: 0,
1918
+ opacity: 1,
1919
+ lightMapIntensity: 1,
1920
+ },
1921
+ },
1922
+ },
1923
+ {
1924
+ id: 'preset-beige',
1925
+ label: 'Beige',
1926
+ category: 'other',
1927
+ description: 'Balanced beige painted finish',
1928
+ previewColor: '#d9c7ad',
1929
+ preset: {
1930
+ maps: {},
1931
+ mapProperties: {
1932
+ color: '#d9c7ad',
1933
+ roughness: 0.9,
1934
+ metalness: 0,
1935
+ repeatX: 1,
1936
+ repeatY: 1,
1937
+ rotation: 0,
1938
+ wrapS: 'Repeat',
1939
+ wrapT: 'Repeat',
1940
+ normalScaleX: 1,
1941
+ normalScaleY: 1,
1942
+ emissiveIntensity: 1,
1943
+ displacementScale: 0.02,
1944
+ transparent: false,
1945
+ flipY: true,
1946
+ bumpScale: 1,
1947
+ emissiveColor: '#000000',
1948
+ aoMapIntensity: 1,
1949
+ side: 0,
1950
+ opacity: 1,
1951
+ lightMapIntensity: 1,
1952
+ },
1953
+ },
1954
+ },
1955
+ {
1956
+ id: 'preset-greige',
1957
+ label: 'Greige',
1958
+ category: 'other',
1959
+ description: 'Neutral greige painted finish',
1960
+ previewColor: '#c8c1b8',
1961
+ preset: {
1962
+ maps: {},
1963
+ mapProperties: {
1964
+ color: '#c8c1b8',
1965
+ roughness: 0.9,
1966
+ metalness: 0,
1967
+ repeatX: 1,
1968
+ repeatY: 1,
1969
+ rotation: 0,
1970
+ wrapS: 'Repeat',
1971
+ wrapT: 'Repeat',
1972
+ normalScaleX: 1,
1973
+ normalScaleY: 1,
1974
+ emissiveIntensity: 1,
1975
+ displacementScale: 0.02,
1976
+ transparent: false,
1977
+ flipY: true,
1978
+ bumpScale: 1,
1979
+ emissiveColor: '#000000',
1980
+ aoMapIntensity: 1,
1981
+ side: 0,
1982
+ opacity: 1,
1983
+ lightMapIntensity: 1,
1984
+ },
1985
+ },
1986
+ },
1987
+ {
1988
+ id: 'preset-sage',
1989
+ label: 'Sage',
1990
+ category: 'other',
1991
+ description: 'Muted sage painted finish',
1992
+ previewColor: '#bcc5b2',
1993
+ preset: {
1994
+ maps: {},
1995
+ mapProperties: {
1996
+ color: '#bcc5b2',
1997
+ roughness: 0.9,
1998
+ metalness: 0,
1999
+ repeatX: 1,
2000
+ repeatY: 1,
2001
+ rotation: 0,
2002
+ wrapS: 'Repeat',
2003
+ wrapT: 'Repeat',
2004
+ normalScaleX: 1,
2005
+ normalScaleY: 1,
2006
+ emissiveIntensity: 1,
2007
+ displacementScale: 0.02,
2008
+ transparent: false,
2009
+ flipY: true,
2010
+ bumpScale: 1,
2011
+ emissiveColor: '#000000',
2012
+ aoMapIntensity: 1,
2013
+ side: 0,
2014
+ opacity: 1,
2015
+ lightMapIntensity: 1,
2016
+ },
2017
+ },
2018
+ },
2019
+ {
2020
+ id: 'preset-softblue',
2021
+ label: 'Soft Blue',
2022
+ category: 'other',
2023
+ description: 'Muted blue painted finish',
2024
+ previewColor: '#c7d6e3',
2025
+ preset: {
2026
+ maps: {},
2027
+ mapProperties: {
2028
+ color: '#c7d6e3',
2029
+ roughness: 0.9,
2030
+ metalness: 0,
2031
+ repeatX: 1,
2032
+ repeatY: 1,
2033
+ rotation: 0,
2034
+ wrapS: 'Repeat',
2035
+ wrapT: 'Repeat',
2036
+ normalScaleX: 1,
2037
+ normalScaleY: 1,
2038
+ emissiveIntensity: 1,
2039
+ displacementScale: 0.02,
2040
+ transparent: false,
2041
+ flipY: true,
2042
+ bumpScale: 1,
2043
+ emissiveColor: '#000000',
2044
+ aoMapIntensity: 1,
2045
+ side: 0,
2046
+ opacity: 1,
2047
+ lightMapIntensity: 1,
2048
+ },
2049
+ },
2050
+ },
2051
+ {
2052
+ id: 'preset-terracotta',
2053
+ label: 'Terracotta',
2054
+ category: 'other',
2055
+ description: 'Warm terracotta painted finish',
2056
+ previewColor: '#c86f4c',
2057
+ preset: {
2058
+ maps: {},
2059
+ mapProperties: {
2060
+ color: '#c86f4c',
2061
+ roughness: 0.9,
2062
+ metalness: 0,
2063
+ repeatX: 1,
2064
+ repeatY: 1,
2065
+ rotation: 0,
2066
+ wrapS: 'Repeat',
2067
+ wrapT: 'Repeat',
2068
+ normalScaleX: 1,
2069
+ normalScaleY: 1,
2070
+ emissiveIntensity: 1,
2071
+ displacementScale: 0.02,
2072
+ transparent: false,
2073
+ flipY: true,
2074
+ bumpScale: 1,
2075
+ emissiveColor: '#000000',
2076
+ aoMapIntensity: 1,
2077
+ side: 0,
2078
+ opacity: 1,
2079
+ lightMapIntensity: 1,
2080
+ },
2081
+ },
2082
+ },
2083
+ {
2084
+ id: 'preset-dustyrose',
2085
+ label: 'Dusty Rose',
2086
+ category: 'other',
2087
+ description: 'Muted rose painted finish',
2088
+ previewColor: '#c48a8d',
2089
+ preset: {
2090
+ maps: {},
2091
+ mapProperties: {
2092
+ color: '#c48a8d',
2093
+ roughness: 0.9,
2094
+ metalness: 0,
2095
+ repeatX: 1,
2096
+ repeatY: 1,
2097
+ rotation: 0,
2098
+ wrapS: 'Repeat',
2099
+ wrapT: 'Repeat',
2100
+ normalScaleX: 1,
2101
+ normalScaleY: 1,
2102
+ emissiveIntensity: 1,
2103
+ displacementScale: 0.02,
2104
+ transparent: false,
2105
+ flipY: true,
2106
+ bumpScale: 1,
2107
+ emissiveColor: '#000000',
2108
+ aoMapIntensity: 1,
2109
+ side: 0,
2110
+ opacity: 1,
2111
+ lightMapIntensity: 1,
2112
+ },
2113
+ },
2114
+ },
2115
+ {
2116
+ id: 'preset-olive',
2117
+ label: 'Olive',
2118
+ category: 'other',
2119
+ description: 'Natural olive painted finish',
2120
+ previewColor: '#8d9368',
2121
+ preset: {
2122
+ maps: {},
2123
+ mapProperties: {
2124
+ color: '#8d9368',
2125
+ roughness: 0.9,
2126
+ metalness: 0,
2127
+ repeatX: 1,
2128
+ repeatY: 1,
2129
+ rotation: 0,
2130
+ wrapS: 'Repeat',
2131
+ wrapT: 'Repeat',
2132
+ normalScaleX: 1,
2133
+ normalScaleY: 1,
2134
+ emissiveIntensity: 1,
2135
+ displacementScale: 0.02,
2136
+ transparent: false,
2137
+ flipY: true,
2138
+ bumpScale: 1,
2139
+ emissiveColor: '#000000',
2140
+ aoMapIntensity: 1,
2141
+ side: 0,
2142
+ opacity: 1,
2143
+ lightMapIntensity: 1,
2144
+ },
2145
+ },
2146
+ },
2147
+ {
2148
+ id: 'preset-forest',
2149
+ label: 'Forest',
2150
+ category: 'other',
2151
+ description: 'Deep forest green painted finish',
2152
+ previewColor: '#4f6b57',
2153
+ preset: {
2154
+ maps: {},
2155
+ mapProperties: {
2156
+ color: '#4f6b57',
2157
+ roughness: 0.9,
2158
+ metalness: 0,
2159
+ repeatX: 1,
2160
+ repeatY: 1,
2161
+ rotation: 0,
2162
+ wrapS: 'Repeat',
2163
+ wrapT: 'Repeat',
2164
+ normalScaleX: 1,
2165
+ normalScaleY: 1,
2166
+ emissiveIntensity: 1,
2167
+ displacementScale: 0.02,
2168
+ transparent: false,
2169
+ flipY: true,
2170
+ bumpScale: 1,
2171
+ emissiveColor: '#000000',
2172
+ aoMapIntensity: 1,
2173
+ side: 0,
2174
+ opacity: 1,
2175
+ lightMapIntensity: 1,
2176
+ },
2177
+ },
2178
+ },
2179
+ {
2180
+ id: 'preset-slateblue',
2181
+ label: 'Slate Blue',
2182
+ category: 'other',
2183
+ description: 'Muted slate blue painted finish',
2184
+ previewColor: '#6f87a4',
2185
+ preset: {
2186
+ maps: {},
2187
+ mapProperties: {
2188
+ color: '#6f87a4',
2189
+ roughness: 0.9,
2190
+ metalness: 0,
2191
+ repeatX: 1,
2192
+ repeatY: 1,
2193
+ rotation: 0,
2194
+ wrapS: 'Repeat',
2195
+ wrapT: 'Repeat',
2196
+ normalScaleX: 1,
2197
+ normalScaleY: 1,
2198
+ emissiveIntensity: 1,
2199
+ displacementScale: 0.02,
2200
+ transparent: false,
2201
+ flipY: true,
2202
+ bumpScale: 1,
2203
+ emissiveColor: '#000000',
2204
+ aoMapIntensity: 1,
2205
+ side: 0,
2206
+ opacity: 1,
2207
+ lightMapIntensity: 1,
2208
+ },
2209
+ },
2210
+ },
2211
+ {
2212
+ id: 'preset-navy',
2213
+ label: 'Navy',
2214
+ category: 'other',
2215
+ description: 'Classic navy painted finish',
2216
+ previewColor: '#2f4865',
2217
+ preset: {
2218
+ maps: {},
2219
+ mapProperties: {
2220
+ color: '#2f4865',
2221
+ roughness: 0.9,
2222
+ metalness: 0,
2223
+ repeatX: 1,
2224
+ repeatY: 1,
2225
+ rotation: 0,
2226
+ wrapS: 'Repeat',
2227
+ wrapT: 'Repeat',
2228
+ normalScaleX: 1,
2229
+ normalScaleY: 1,
2230
+ emissiveIntensity: 1,
2231
+ displacementScale: 0.02,
2232
+ transparent: false,
2233
+ flipY: true,
2234
+ bumpScale: 1,
2235
+ emissiveColor: '#000000',
2236
+ aoMapIntensity: 1,
2237
+ side: 0,
2238
+ opacity: 1,
2239
+ lightMapIntensity: 1,
2240
+ },
2241
+ },
2242
+ },
2243
+ {
2244
+ id: 'preset-mustard',
2245
+ label: 'Mustard',
2246
+ category: 'other',
2247
+ description: 'Warm mustard painted finish',
2248
+ previewColor: '#c8a449',
2249
+ preset: {
2250
+ maps: {},
2251
+ mapProperties: {
2252
+ color: '#c8a449',
2253
+ roughness: 0.9,
2254
+ metalness: 0,
2255
+ repeatX: 1,
2256
+ repeatY: 1,
2257
+ rotation: 0,
2258
+ wrapS: 'Repeat',
2259
+ wrapT: 'Repeat',
2260
+ normalScaleX: 1,
2261
+ normalScaleY: 1,
2262
+ emissiveIntensity: 1,
2263
+ displacementScale: 0.02,
2264
+ transparent: false,
2265
+ flipY: true,
2266
+ bumpScale: 1,
2267
+ emissiveColor: '#000000',
2268
+ aoMapIntensity: 1,
2269
+ side: 0,
2270
+ opacity: 1,
2271
+ lightMapIntensity: 1,
2272
+ },
2273
+ },
2274
+ },
2275
+ {
2276
+ id: 'preset-charcoal',
2277
+ label: 'Charcoal',
2278
+ category: 'other',
2279
+ description: 'Dark charcoal painted finish',
2280
+ previewColor: '#4e5257',
2281
+ preset: {
2282
+ maps: {},
2283
+ mapProperties: {
2284
+ color: '#4e5257',
469
2285
  roughness: 0.9,
470
2286
  metalness: 0,
471
2287
  repeatX: 1,