@colijnit/homedecorator 261.20.3 → 261.20.5

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.
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnDestroy, OnInit, TemplateRef, ChangeDetectorRef, ElementRef, PipeTransform, ViewContainerRef, ComponentFactoryResolver, AfterViewInit, EventEmitter, OnChanges, SimpleChanges, Injector } from '@angular/core';
2
+ import { OnDestroy, OnInit, TemplateRef, ChangeDetectorRef, Injector, ElementRef, PipeTransform, ViewContainerRef, ComponentFactoryResolver, AfterViewInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
3
3
  import * as i7 from '@angular/material/icon';
4
4
  import { MatIconRegistry } from '@angular/material/icon';
5
5
  import { SafeHtml, EventManager, DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
@@ -180,6 +180,7 @@ declare enum MessageType {
180
180
  ChangeArticleConfigurationType = "ChangeArticleConfigurationType",
181
181
  RenderUploadProgress = "RenderUploadProgress",
182
182
  RenderUploadFinished = "RenderUploadFinished",
183
+ RenderFinished = "RenderFinished",
183
184
  RemoveSlowConnectionToast = "RemoveSlowConnectionToast",
184
185
  OpenConfigurator = "OpenConfigurator"
185
186
  }
@@ -316,6 +317,9 @@ interface HomedecoratorExternalSettingsInterface {
316
317
  catalogDefinition: CatalogDefinition;
317
318
  externalSourceId: number;
318
319
  schema: string;
320
+ mainUrl?: string;
321
+ mainSchema?: string;
322
+ mainVersion?: string;
319
323
  }
320
324
 
321
325
  declare class ViewModeService {
@@ -778,6 +782,7 @@ declare class HomedecoratorConnectorAdapterService implements OnDestroy {
778
782
  getInternalParameter(parameter: InternalParam): Promise<string>;
779
783
  googleTranslateEnabled(): Promise<boolean>;
780
784
  getDefaultLanguage(upId: number): Promise<string>;
785
+ getPublicParams(url: string, upId: number): Promise<any>;
781
786
  store3DModelCDN(filename: string, fileContents: string): Promise<string>;
782
787
  getCatalogDefinitionsList(): Promise<CatalogDefinition[]>;
783
788
  getExternalSource(externalSourceId: number): Promise<ExternalSource>;
@@ -790,6 +795,7 @@ declare class HomedecoratorConnectorAdapterService implements OnDestroy {
790
795
  saveExternalSources(): void;
791
796
  resetExternalSources(): void;
792
797
  prepareExternalSources(): Promise<void>;
798
+ getCatalogDefinition(id: number): CatalogDefinition;
793
799
  getArticleExtended(articleNumber: string): Promise<ArticleExtended>;
794
800
  getGoogleTranslation(sourceLang: string, targetLang: string, list: string[]): Promise<string>;
795
801
  private _getPublicationCodeForRole;
@@ -2538,6 +2544,7 @@ interface MessagesWithPayload {
2538
2544
  [MessageType.ChangeArticleConfigurationType]: boolean;
2539
2545
  [MessageType.RenderUploadProgress]: number;
2540
2546
  [MessageType.RenderUploadFinished]: boolean;
2547
+ [MessageType.RenderFinished]: boolean;
2541
2548
  [MessageType.OpenConfigurator]: Item | ItemGroup;
2542
2549
  }
2543
2550
 
@@ -2891,6 +2898,7 @@ declare class HomedecoratorComponent implements OnInit, OnDestroy {
2891
2898
  private _integrationService;
2892
2899
  private _sceneService;
2893
2900
  private _webWorkerService;
2901
+ private _injector;
2894
2902
  generalFilterOrders: FilterOrder[];
2895
2903
  purchaseFilterOrders: FilterOrder[];
2896
2904
  logisticsFilterOrders: FilterOrder[];
@@ -2911,7 +2919,7 @@ declare class HomedecoratorComponent implements OnInit, OnDestroy {
2911
2919
  private _settings;
2912
2920
  private _eventService;
2913
2921
  constructor(appService: HomedecoratorAppService, // don't remove this, needs to be created on a high level
2914
- controllerService: HomedecoratorConnectorService, appState: AppStateService, presetsService: PresetsService, screenAnalysis: ScreenSizeAnalysisService, _iconRegistry: MatIconRegistry, _domSanitizer: DomSanitizer, _messageService: MessageBusService, _homedecoratorService: HomedecoratorService, _parentEventService: HomedecoratorAppEventService, _ownEventService: HomedecoratorAppEventService, _integrationService: IntegrationService, _sceneService: SceneService, _webWorkerService: WebWorkerService);
2922
+ controllerService: HomedecoratorConnectorService, appState: AppStateService, presetsService: PresetsService, screenAnalysis: ScreenSizeAnalysisService, _iconRegistry: MatIconRegistry, _domSanitizer: DomSanitizer, _messageService: MessageBusService, _homedecoratorService: HomedecoratorService, _parentEventService: HomedecoratorAppEventService, _ownEventService: HomedecoratorAppEventService, _integrationService: IntegrationService, _sceneService: SceneService, _webWorkerService: WebWorkerService, _injector: Injector);
2915
2923
  ngOnInit(): Promise<void>;
2916
2924
  ngOnDestroy(): void;
2917
2925
  registerCustomIcons(): void;
@@ -2922,7 +2930,7 @@ declare class HomedecoratorComponent implements OnInit, OnDestroy {
2922
2930
  private _startWithPreset;
2923
2931
  private _setCommunication;
2924
2932
  private _initConnection;
2925
- static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorComponent, [null, null, null, null, null, null, null, null, null, { optional: true; skipSelf: true; }, { optional: true; self: true; }, null, null, null]>;
2933
+ static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorComponent, [null, null, null, null, null, null, null, null, null, { optional: true; skipSelf: true; }, { optional: true; self: true; }, null, null, null, null]>;
2926
2934
  static ɵcmp: i0.ɵɵComponentDeclaration<HomedecoratorComponent, "co-homedecorator", never, { "generalFilterOrders": { "alias": "generalFilterOrders"; "required": false; }; "purchaseFilterOrders": { "alias": "purchaseFilterOrders"; "required": false; }; "logisticsFilterOrders": { "alias": "logisticsFilterOrders"; "required": false; }; "initCommunication": { "alias": "initCommunication"; "required": false; }; "projectToLoad": { "alias": "projectToLoad"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, false, never>;
2927
2935
  }
2928
2936
 
@@ -3322,6 +3330,12 @@ declare abstract class WallItem extends Item {
3322
3330
  protected createOrUpdateDistances(): THREE.Object3D;
3323
3331
  protected getObjectWithoutExcludedMeshes(): Object3D;
3324
3332
  protected getHalfSizeWithoutScale(): Vector3;
3333
+ /**
3334
+ * Local z at which measurement labels/distance arrows are drawn so they sit just in front of the wall.
3335
+ * Surface-mounted items sit on the wall face, so a small offset suffices. In-wall items override this
3336
+ * (they are centred inside the wall, so the offset must clear half the wall thickness).
3337
+ */
3338
+ protected _measurementZOffset(): number;
3325
3339
  private _createHeightMeasurement;
3326
3340
  private _createWidthMeasurement;
3327
3341
  private _getMaskedGeometry;
@@ -3972,11 +3986,22 @@ declare class InWallItem extends WallItem {
3972
3986
  private readonly _openCloseIndicatorColor;
3973
3987
  private readonly _frameWidth;
3974
3988
  private readonly _frameDepth;
3989
+ /** Extra depth added on top of the wall thickness so the dynamically built mask always pierces the wall. */
3990
+ private readonly _maskDepthMargin;
3975
3991
  private _isWindow;
3976
3992
  private _doorpost;
3993
+ /** Runtime-generated opening mask for custom doors/windows (custom items have no GLB `_mask` mesh). */
3994
+ private _customMaskGeometry;
3977
3995
  get doorpost(): boolean;
3978
3996
  constructor(metadata: Metadata, object: Object3D | Mesh, texture?: Texture);
3979
3997
  dispose(): void;
3998
+ /**
3999
+ * Custom doors/windows are built at runtime and have no GLB `_mask` mesh, so the base lookup finds
4000
+ * nothing usable. Return the dynamically generated opening mask instead. Build it lazily here so any
4001
+ * instance (incl. clones that never ran createCustomMesh) yields a mask as soon as the wall asks for
4002
+ * one - otherwise the wall is left solid for that item.
4003
+ */
4004
+ getMaskedGeometry(): BufferGeometry;
3980
4005
  updateOpeningObject(): void;
3981
4006
  removeOpeningObject(): void;
3982
4007
  updateMeasurements(): void;
@@ -4005,6 +4030,13 @@ declare class InWallItem extends WallItem {
4005
4030
  protected initiateItemObject(data: any): void;
4006
4031
  private _setDefault;
4007
4032
  private _createMaterials;
4033
+ /**
4034
+ * Builds the geometry used to subtract the opening from the wall. It spans the full width/height of
4035
+ * the custom item and is made deeper than the wall (plus a margin) so the CSG subtraction always
4036
+ * pierces the wall completely. base-wall positions it via the item's own position/quaternion, so the
4037
+ * box is centred on the item origin (the opening centre on the wall plane).
4038
+ */
4039
+ private _updateCustomMaskGeometry;
4008
4040
  private _getHeightFrame;
4009
4041
  private _createFrameSide;
4010
4042
  private _getAdditionalTexture;
@@ -4012,6 +4044,11 @@ declare class InWallItem extends WallItem {
4012
4044
  private _makeOpeningDirectionObject;
4013
4045
  private _makeSingleOpeningDirectionSymbol;
4014
4046
  protected createMeasurements(): void;
4047
+ /**
4048
+ * In-wall items sit centred inside the wall (getWallOffset() === 0), so the labels/arrows must clear
4049
+ * half the wall thickness to end up in front of the wall face instead of buried inside it.
4050
+ */
4051
+ protected _measurementZOffset(): number;
4015
4052
  private _createDepthMeasurement;
4016
4053
  private _calculateOpeningDepthPositions;
4017
4054
  }
@@ -4061,6 +4098,8 @@ declare class WallService implements OnDestroy {
4061
4098
  getAllInWallItems(): InWallItem[];
4062
4099
  getClosestWall(itemX: number, itemZ: number, ignoreVisible?: boolean): Wall;
4063
4100
  splitWall(wall: Wall, corner: Corner): void;
4101
+ /** Picks the wall whose closest point (clamped to the segment) is nearest to (x, z). */
4102
+ private _closestWallForPoint;
4064
4103
  updatePrevWall(wallId: string, prevWallId: string): void;
4065
4104
  updateNextWall(wallId: string, nextWallId: string): void;
4066
4105
  createNewWall(start: Corner, end: Corner, height: number, thickness: number, frontColor?: ColorRepresentation, backColor?: ColorRepresentation, frontTexture?: Texture, backTexture?: Texture): Wall;
@@ -4068,6 +4107,10 @@ declare class WallService implements OnDestroy {
4068
4107
  addCornersForIntersections(): void;
4069
4108
  mergeWithIntersected(corner: Corner): boolean;
4070
4109
  removeWall(wall: Wall): void;
4110
+ /** Merges two collinear walls around a degree-2 corner into a single wall. */
4111
+ joinCollinearWallsAt(corner: Corner): void;
4112
+ /** True when the two walls are in line through 'corner' (angle ~180°). */
4113
+ private _areCollinearThroughCorner;
4071
4114
  updateWallHeights(newHeight: number): void;
4072
4115
  resetRoomWalls(): void;
4073
4116
  updateWalls(): void;
@@ -4258,6 +4301,7 @@ declare class BluePrintService extends BluePrintFloorplanService {
4258
4301
  bluePrint: BluePrint;
4259
4302
  bluePrintUpdated: Subject<BluePrint>;
4260
4303
  loadFloorplan(floorplan: BluePrintFloorplan, version: number): Promise<void>;
4304
+ getRoomCenter(): Vector3;
4261
4305
  static ɵfac: i0.ɵɵFactoryDeclaration<BluePrintService, never>;
4262
4306
  static ɵprov: i0.ɵɵInjectableDeclaration<BluePrintService>;
4263
4307
  }
@@ -4814,6 +4858,13 @@ declare class SceneEventService implements OnDestroy {
4814
4858
  setExploreMode(on?: boolean): void;
4815
4859
  setSelectedObject(object: Item | ItemGroup, mesh?: Mesh): void;
4816
4860
  startDragging(x: number, y: number, z?: number): void;
4861
+ /**
4862
+ * The wall whose front face the camera is looking at most directly. Used to pick a sensible target
4863
+ * wall when an item is added without a cursor (object library). A wall's front normal is its +Z axis
4864
+ * in world space; the wall most facing the camera maximises frontNormal · (cameraPos - wallPos), which
4865
+ * naturally excludes the transparent near wall (its front points away from the camera).
4866
+ */
4867
+ private _wallMostFacingCamera;
4817
4868
  intersectingVec3(vec2: Vector2, intersection?: Intersection): Vector3;
4818
4869
  private _isRotating;
4819
4870
  private _keyDownEvent;
@@ -6068,52 +6119,6 @@ declare enum RenderStatus {
6068
6119
  IsWaiting = 4
6069
6120
  }
6070
6121
 
6071
- declare enum ConnectionStatus {
6072
- IsUndefined = 0,
6073
- IsConnected = 1,
6074
- TryingToConnect = 2,
6075
- IsDisConnected = 3
6076
- }
6077
-
6078
- declare class Lightning {
6079
- id: number;
6080
- name: string;
6081
- settings: any;
6082
- }
6083
-
6084
- declare class ImageSize {
6085
- id: number;
6086
- name: string;
6087
- width: number;
6088
- height: number;
6089
- }
6090
-
6091
- declare class CameraPosition {
6092
- id: number;
6093
- name: string;
6094
- position: number;
6095
- type: string;
6096
- angle: number;
6097
- }
6098
-
6099
- declare class Render {
6100
- id: number;
6101
- productHash: string;
6102
- lightning: Lightning;
6103
- imageSize: ImageSize;
6104
- cameraPosition: CameraPosition;
6105
- url: string;
6106
- status: RenderStatus;
6107
- progress: number;
6108
- }
6109
-
6110
- declare class RenderEnvironment {
6111
- id: number;
6112
- name: string;
6113
- hdrFile: string;
6114
- intensity: number;
6115
- }
6116
-
6117
6122
  declare class RenderQueueItem {
6118
6123
  key: string;
6119
6124
  host: string;
@@ -6128,25 +6133,6 @@ declare class RenderQueueItem {
6128
6133
  params: any;
6129
6134
  }
6130
6135
 
6131
- declare class ExportObject {
6132
- name: string;
6133
- sku: string;
6134
- defaultRenderPath: string;
6135
- }
6136
-
6137
- declare class ExportService {
6138
- private _settingsService;
6139
- private _ioneConnectorAdapter;
6140
- private _threedSelectorService;
6141
- private _link;
6142
- private static GetSavingPath;
6143
- private static GetMeshMainMaterialName;
6144
- constructor(_settingsService: HomedecoratorSettingsService, _ioneConnectorAdapter: HomedecoratorConnectorAdapterService, _threedSelectorService: ThreedselectorService);
6145
- getExportObjectFromCustomFloorGroup(cfg: Item): ExportObject;
6146
- static ɵfac: i0.ɵɵFactoryDeclaration<ExportService, never>;
6147
- static ɵprov: i0.ɵɵInjectableDeclaration<ExportService>;
6148
- }
6149
-
6150
6136
  declare enum ToastType {
6151
6137
  Success = 0,
6152
6138
  Warning = 1,
@@ -6167,90 +6153,6 @@ declare class ToastService {
6167
6153
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
6168
6154
  }
6169
6155
 
6170
- declare class RenderData {
6171
- type: RenderModes;
6172
- furniture?: any[];
6173
- configuredItem?: ExportObject;
6174
- imageWidth?: number;
6175
- imageHeight?: number;
6176
- cameraMatrix?: any;
6177
- cameraFOV?: number;
6178
- render?: Render;
6179
- settings?: RenderSettings;
6180
- }
6181
-
6182
- declare class RenderService implements OnDestroy {
6183
- private _settingsService;
6184
- private _exportService;
6185
- private _cameraService;
6186
- private _sceneService;
6187
- private _toastService;
6188
- private _messageBusService;
6189
- private _googleTagManager;
6190
- private _roomService;
6191
- private _floorService;
6192
- readonly renderModes: typeof RenderModes;
6193
- service: any;
6194
- serverData: any;
6195
- sceneData: any;
6196
- prevItem: any;
6197
- streaming: any;
6198
- renderedRoomImages: string[];
6199
- connectionStatus: ConnectionStatus;
6200
- renders: Render[];
6201
- cameraPositions: CameraPosition[];
6202
- imageSizes: ImageSize[];
6203
- lightnings: Lightning[];
6204
- renderEnvironments: RenderEnvironment[];
6205
- renderScenes: any;
6206
- private _ceilingLightMargin;
6207
- selectedImageSize: number;
6208
- selectedEnvironment: number;
6209
- selectedRenderScene: string;
6210
- blendFilesRender: boolean;
6211
- positions: number;
6212
- save: boolean;
6213
- renderRoomImageChanged: BehaviorSubject<string>;
6214
- renderingStarted: Subject<void>;
6215
- renderImageChanged: BehaviorSubject<string>;
6216
- renderQueue: any[];
6217
- currentQueueRenderItem: RenderQueueItem;
6218
- currentProductHash: string;
6219
- standAloneCameraMatrix: number[];
6220
- private _subs;
6221
- static MakeWindowMaterialTransparent(material: Material): Material;
6222
- constructor(_settingsService: HomedecoratorSettingsService, _exportService: ExportService, _cameraService: CameraService, _sceneService: SceneService, _toastService: ToastService, _messageBusService: MessageBusService, _googleTagManager: GoogleTagManagerService, _roomService: RoomService, _floorService: FloorService);
6223
- ngOnDestroy(): void;
6224
- checkConnection(): Promise<void>;
6225
- private _renderServiceHeartBeat;
6226
- getRenderParameters(type: RenderModes): RenderData;
6227
- private _fixLight;
6228
- private _elementMustBeRemoved;
6229
- private _exportToGlb;
6230
- startRendering(): Promise<void>;
6231
- private _colijnRenderScene;
6232
- private _startRenderLoop;
6233
- private _quitRenderLoop;
6234
- private _startRenderStream;
6235
- private _setRenderProgress;
6236
- private _onRenderError;
6237
- private _onRenderClose;
6238
- private _afterRendering;
6239
- private _getRenderServiceUrl;
6240
- forceRenderImage(): void;
6241
- private _checkVisibleUpdates;
6242
- private _htmlImageDisplay;
6243
- getRenderOnId(id: number): any;
6244
- getImageSizeOnId(id: number): ImageSize;
6245
- getRenderEnvironmentOnId(id: number): RenderEnvironment;
6246
- getLightningOnId(id: number): any;
6247
- /******************************************** Export functions ********************************************/
6248
- private _getFirstCustomFloorItemFromScene;
6249
- private _getConfiguredFurnitureItem;
6250
- static ɵfac: i0.ɵɵFactoryDeclaration<RenderService, never>;
6251
- static ɵprov: i0.ɵɵInjectableDeclaration<RenderService>;
6252
- }
6253
-
6254
6156
  declare class BlenderRenderSettings {
6255
6157
  height: number;
6256
6158
  width: number;
@@ -6261,7 +6163,7 @@ declare class BlenderRenderSettings {
6261
6163
  allowCulling: boolean;
6262
6164
  }
6263
6165
 
6264
- declare class NewRenderService implements OnDestroy {
6166
+ declare class RenderService implements OnDestroy {
6265
6167
  messageService: MessageBusService;
6266
6168
  private _settingsService;
6267
6169
  private _buildFurnitureService;
@@ -6284,7 +6186,7 @@ declare class NewRenderService implements OnDestroy {
6284
6186
  private _appEventService;
6285
6187
  private _dictionaryService;
6286
6188
  renderImageChanged: BehaviorSubject<string>;
6287
- renderImageError: BehaviorSubject<string>;
6189
+ renderImageError: Subject<string>;
6288
6190
  blenderRenderStarted: Subject<boolean>;
6289
6191
  renderUpdateImageChanged: BehaviorSubject<{
6290
6192
  image: string;
@@ -6298,6 +6200,7 @@ declare class NewRenderService implements OnDestroy {
6298
6200
  renderedRoomImages: string[];
6299
6201
  clientWidth: number;
6300
6202
  clientHeight: number;
6203
+ blendFilesRender: boolean;
6301
6204
  private _overWriteTransparency;
6302
6205
  private _subs;
6303
6206
  constructor(messageService: MessageBusService, _settingsService: HomedecoratorSettingsService, _buildFurnitureService: SwitchBuildFurnitureService, _cameraService: CameraService, _sceneService: SceneService, _ione: HomedecoratorConnectorService, _ioneConnectorAdapter: HomedecoratorConnectorAdapterService, _threedSelectorService: ThreedselectorService, _toastService: ToastService, _messageBusService: MessageBusService, _googleTagManager: GoogleTagManagerService, _roomService: RoomService, _floorService: FloorService, _wallService: WallService, _ceilingService: CeilingService, _loadFurnitureService: SwitchLoadFurnitureService, _utilsService: UtilsService, _presetService: PresetsService, _apiServiceModule: ApiServiceModule, _appEventService: HomedecoratorAppEventService, _dictionaryService: HomedecoratorDictionaryService);
@@ -6328,8 +6231,8 @@ declare class NewRenderService implements OnDestroy {
6328
6231
  private _getRenderType;
6329
6232
  private _useTransparency;
6330
6233
  private _setForceTransparency;
6331
- static ɵfac: i0.ɵɵFactoryDeclaration<NewRenderService, never>;
6332
- static ɵprov: i0.ɵɵInjectableDeclaration<NewRenderService>;
6234
+ static ɵfac: i0.ɵɵFactoryDeclaration<RenderService, never>;
6235
+ static ɵprov: i0.ɵɵInjectableDeclaration<RenderService>;
6333
6236
  }
6334
6237
 
6335
6238
  declare class ConnectionHeathService {
@@ -6347,28 +6250,37 @@ declare class ConnectionHeathService {
6347
6250
  static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionHeathService>;
6348
6251
  }
6349
6252
 
6350
- declare class RenderControlsComponent implements OnInit {
6351
- renderService: RenderService;
6253
+ declare class ImageSize {
6254
+ id: number;
6255
+ name: string;
6256
+ width: number;
6257
+ height: number;
6258
+ }
6259
+
6260
+ declare class RenderControlsComponent implements OnInit, OnDestroy {
6352
6261
  messageService: MessageBusService;
6353
6262
  viewModeService: ViewModeService;
6354
6263
  settingsService: HomedecoratorSettingsService;
6355
6264
  iconService: HomedecoratorIconCacheService;
6265
+ renderService: RenderService;
6356
6266
  private _dialog;
6357
6267
  private _sceneService;
6358
6268
  private _cameraService;
6359
6269
  private _configurationService;
6360
6270
  private _settingsService;
6361
- private _newRenderService;
6362
6271
  private _utilsService;
6363
6272
  private _roomService;
6364
6273
  private _wallMeasurementsService;
6365
6274
  private _connectionHealthService;
6366
6275
  private _dictionaryService;
6276
+ private _dialogService;
6367
6277
  readonly viewModes: typeof ViewMode;
6368
6278
  readonly renderStatus: typeof RenderStatus;
6369
6279
  readonly icons: typeof IconEnum;
6370
6280
  readonly renderModes: typeof RenderModes;
6371
6281
  renderButton: ElementRef;
6282
+ imageSizes: ImageSize[];
6283
+ selectedImageSize: ImageSize;
6372
6284
  get disablePictureButton(): boolean;
6373
6285
  blenderPreviewRender: string;
6374
6286
  hdriIntensity: number;
@@ -6384,14 +6296,14 @@ declare class RenderControlsComponent implements OnInit {
6384
6296
  showCullingErrorDialog: boolean;
6385
6297
  startUploading: boolean;
6386
6298
  private _subs;
6387
- constructor(renderService: RenderService, messageService: MessageBusService, viewModeService: ViewModeService, settingsService: HomedecoratorSettingsService, iconService: HomedecoratorIconCacheService, _dialog: MatDialog, _sceneService: SceneService, _cameraService: CameraService, _configurationService: ConfigurationService, _settingsService: HomedecoratorSettingsService, _newRenderService: NewRenderService, _utilsService: UtilsService, _roomService: RoomService, _wallMeasurementsService: WallMeasurementsService, _connectionHealthService: ConnectionHeathService, _dictionaryService: HomedecoratorDictionaryService);
6299
+ constructor(messageService: MessageBusService, viewModeService: ViewModeService, settingsService: HomedecoratorSettingsService, iconService: HomedecoratorIconCacheService, renderService: RenderService, _dialog: MatDialog, _sceneService: SceneService, _cameraService: CameraService, _configurationService: ConfigurationService, _settingsService: HomedecoratorSettingsService, _utilsService: UtilsService, _roomService: RoomService, _wallMeasurementsService: WallMeasurementsService, _connectionHealthService: ConnectionHeathService, _dictionaryService: HomedecoratorDictionaryService, _dialogService: DialogService);
6388
6300
  ngOnInit(): void;
6301
+ ngOnDestroy(): void;
6389
6302
  showRenderForm(event: MouseEvent): void;
6390
6303
  hideUploadDialog(ready: boolean): void;
6391
- createBlenderRender(): void;
6304
+ createBlenderRender(preview?: boolean): void;
6392
6305
  resetBlenderRenderScene(): void;
6393
6306
  moveCameraWithinBounds(): void;
6394
- createPreviewRender(): void;
6395
6307
  showPreview(image: string): void;
6396
6308
  toggleRenderSettings(): void;
6397
6309
  updateBlenderSceneSettings(event: any): void;
@@ -6405,19 +6317,15 @@ declare class RenderControlsComponent implements OnInit {
6405
6317
 
6406
6318
  declare class RenderProgressComponent implements OnDestroy {
6407
6319
  private _messageService;
6408
- private _progressService;
6409
- set show(show: boolean);
6410
- get show(): boolean;
6411
6320
  title: string;
6412
- get progressValue(): string;
6413
6321
  progress: number;
6322
+ rendering: boolean;
6414
6323
  private _subs;
6415
- private _show;
6416
- constructor(_messageService: MessageBusService, _progressService: ProgressService);
6324
+ constructor(_messageService: MessageBusService);
6417
6325
  ngOnDestroy(): void;
6418
6326
  updateProgress(progress: number): void;
6419
6327
  static ɵfac: i0.ɵɵFactoryDeclaration<RenderProgressComponent, never>;
6420
- static ɵcmp: i0.ɵɵComponentDeclaration<RenderProgressComponent, "rp-render-progress", never, { "show": { "alias": "show"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, false, never>;
6328
+ static ɵcmp: i0.ɵɵComponentDeclaration<RenderProgressComponent, "rp-render-progress", never, {}, {}, never, never, false, never>;
6421
6329
  }
6422
6330
 
6423
6331
  declare class RenderModule {
@@ -6623,6 +6531,7 @@ declare class FloorplanRenderService implements OnDestroy {
6623
6531
  removeTempWall(): void;
6624
6532
  private _clear;
6625
6533
  private _drawGrid;
6534
+ private _drawBackground;
6626
6535
  private _drawRooms;
6627
6536
  private _pickDrawRoomId;
6628
6537
  private _drawWallsWithNoRoom;
@@ -6731,15 +6640,6 @@ declare class FloorplannerComponent implements AfterViewInit, OnDestroy {
6731
6640
  private _subs;
6732
6641
  private _selectedFloor;
6733
6642
  private _modeBeforeRightMouseMove;
6734
- private _diagramBackground;
6735
- private _diagramBackgroundScale;
6736
- private _diagramBackgroundCurrentScale;
6737
- private _diagramBackgroundHeight;
6738
- private _diagramBackgroundWidth;
6739
- private _diagramBackgroundActiveZoom;
6740
- private _diagramBackgroundAlpha;
6741
- private _showDiagramBackground;
6742
- private _diagramScale;
6743
6643
  private _cameraZoom;
6744
6644
  private _lastTouchPoint;
6745
6645
  private _readyToDraw;
@@ -6754,6 +6654,7 @@ declare class FloorplannerComponent implements AfterViewInit, OnDestroy {
6754
6654
  handleDecimalsChoice(decimals: number): void;
6755
6655
  draw(): void;
6756
6656
  private _requestDraw;
6657
+ private _clearBackground;
6757
6658
  showStartMessage(): void;
6758
6659
  resizeView(): void;
6759
6660
  reset(): void;
@@ -6784,9 +6685,7 @@ declare class FloorplannerComponent implements AfterViewInit, OnDestroy {
6784
6685
  private _checkMoveWallOrCorner;
6785
6686
  private _moveSelectedCorner;
6786
6687
  private _moveSelectedWall;
6787
- private _drawBackground;
6788
6688
  private _handleWindowResize;
6789
- private _clear;
6790
6689
  private _updateWallPosition;
6791
6690
  private _scale;
6792
6691
  private _draw;
@@ -8253,7 +8152,6 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8253
8152
  private _standaloneFloors;
8254
8153
  private _subs;
8255
8154
  private _loadingFromPreset;
8256
- private _callBackFnWhenBuildFinished;
8257
8155
  private _startPosition;
8258
8156
  private _externalSourceData;
8259
8157
  private _loadedFromPreset;
@@ -8268,6 +8166,7 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8268
8166
  floorplan: any;
8269
8167
  }): Promise<any>;
8270
8168
  getObjects(): any;
8169
+ saveObjects(): Promise<void>;
8271
8170
  objectSelected(object: Item | ItemGroup): void;
8272
8171
  handleCustomizeClick(): void;
8273
8172
  swapElement(): void;
@@ -8282,6 +8181,7 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8282
8181
  loadFurnitureFromSku(position: Vector3, sku: string, settings?: HomedecoratorExternalSettingsInterface): Promise<CustomFloorGroupResult>;
8283
8182
  configureFurniture(object: Item | ItemGroup): Promise<void>;
8284
8183
  private _initConfigurator;
8184
+ private _prepareSettings;
8285
8185
  private _resetConfigurator;
8286
8186
  private _waitForBuildToFinish;
8287
8187
  private _setSourceSettings;
@@ -8320,6 +8220,7 @@ declare class ThreedselectorComponent implements OnInit, OnDestroy {
8320
8220
  private _repositionButton;
8321
8221
  private _getOptionsFromSelection;
8322
8222
  private _handleAnswerCountReceived;
8223
+ private _addUploadedItem;
8323
8224
  private _handleLoadIOneFurnitureIntoSceneBySKU;
8324
8225
  private _handleCopyIOneFurnitureIntoSceneBySKU;
8325
8226
  private _loadIOneFurnitureFromOriginal;
@@ -8638,8 +8539,8 @@ declare class DrawDialogComponent implements OnDestroy, OnInit, AfterViewInit {
8638
8539
  handleMouseMove(event: MouseEvent): void;
8639
8540
  handleMouseUp(event: MouseEvent): void;
8640
8541
  handleMouseLeave(event: MouseEvent): void;
8641
- clickingZoom(option: string): void;
8642
8542
  handleMouseWheel(event: WheelEvent): void;
8543
+ handleContextMenu(event: MouseEvent): boolean;
8643
8544
  getEventLocation(e: any): {
8644
8545
  x: any;
8645
8546
  y: any;
@@ -8762,7 +8663,7 @@ declare class ToolbarComponent implements OnInit, OnDestroy, AfterViewInit {
8762
8663
  leftSidebar: MatDrawer;
8763
8664
  handleKeyDown(event: KeyboardEvent): void;
8764
8665
  get fullscreen(): boolean;
8765
- constructor(appState: AppStateService, presetsService: PresetsService, messageService: MessageBusService, settingsService: HomedecoratorSettingsService, storageService: LocalStorageService, iconService: HomedecoratorIconCacheService, _screenSizeService: ScreenSizeAnalysisService, _dialog: MatDialog, _toastService: ToastService, _appService: HomedecoratorAppService, _permanentStoreService: PermanentStoreService, _utilsService: UtilsService, _itemService: ItemService, _floorService: FloorService, _animationService: AnimationService, _developmentService: DevelopmentService, _newRenderService: NewRenderService, _thirdPartyModelService: ThirdPartyModelService, _lightPresetService: LightPresetsService, _adapterService: HomedecoratorConnectorAdapterService, _connectionHealthService: ConnectionHeathService, _homedecoratorEventService: HomedecoratorAppEventService);
8666
+ constructor(appState: AppStateService, presetsService: PresetsService, messageService: MessageBusService, settingsService: HomedecoratorSettingsService, storageService: LocalStorageService, iconService: HomedecoratorIconCacheService, _screenSizeService: ScreenSizeAnalysisService, _dialog: MatDialog, _toastService: ToastService, _appService: HomedecoratorAppService, _permanentStoreService: PermanentStoreService, _utilsService: UtilsService, _itemService: ItemService, _floorService: FloorService, _animationService: AnimationService, _developmentService: DevelopmentService, _newRenderService: RenderService, _thirdPartyModelService: ThirdPartyModelService, _lightPresetService: LightPresetsService, _adapterService: HomedecoratorConnectorAdapterService, _connectionHealthService: ConnectionHeathService, _homedecoratorEventService: HomedecoratorAppEventService);
8766
8667
  ngOnInit(): void;
8767
8668
  ngOnDestroy(): void;
8768
8669
  ngAfterViewInit(): void;
@@ -9406,8 +9307,6 @@ declare class DialogModule {
9406
9307
  }
9407
9308
 
9408
9309
  declare class HomedecoratorModule {
9409
- private _injector;
9410
- constructor(_injector: Injector);
9411
9310
  static ɵfac: i0.ɵɵFactoryDeclaration<HomedecoratorModule, never>;
9412
9311
  static ɵmod: i0.ɵɵNgModuleDeclaration<HomedecoratorModule, [typeof HomedecoratorComponent], [typeof i3.CommonModule, typeof ProgressBarModule, typeof LoadingOverlayModule, typeof HdLoaderModule, typeof ExportDialogModule, typeof InfoDialogModule, typeof PluginsModule, typeof DialogModule, typeof i10$2.A11yModule, typeof i25.ProductConfiguratorModule, typeof i7$1.CoreComponentsTranslationModule, typeof i25.LiteSelectorModule], [typeof HomedecoratorComponent]>;
9413
9312
  static ɵinj: i0.ɵɵInjectorDeclaration<HomedecoratorModule>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colijnit/homedecorator",
3
- "version": "261.20.3",
3
+ "version": "261.20.5",
4
4
  "description": "Homedecorator application based on 261 version of iOne backend",
5
5
  "repository": "npm/npm",
6
6
  "author": "Colijn IT",
@@ -11,13 +11,17 @@
11
11
  "@angular/core": ">=20.0.0",
12
12
  "@colijnit/catalog": ">=261.20.0",
13
13
  "@colijnit/articleapi": ">=261.1.0",
14
- "@colijnit/configurator": ">=261.20.4",
15
- "@colijnit/configuratorapi": ">=261.1.3",
14
+ "@colijnit/configurator": ">=261.20.11",
15
+ "@colijnit/configuratorapi": ">=261.1.6",
16
16
  "@colijnit/corecomponents_v12": ">=261.20.0",
17
- "@colijnit/ioneconnector": ">=261.1.3",
17
+ "@colijnit/ioneconnector": ">=261.1.6",
18
18
  "@colijnit/mainapi": ">=261.1.0",
19
19
  "@colijnit/relationapi": ">=261.1.0",
20
- "@colijnit/transactionapi": ">=261.1.0"
20
+ "@colijnit/transactionapi": ">=261.1.0",
21
+ "three": "^0.178.0",
22
+ "three-bvh-csg": "0.0.17",
23
+ "three-gpu-pathtracer": "0.0.22",
24
+ "three-mesh-bvh": "^0.9.9"
21
25
  },
22
26
  "dependencies": {
23
27
  "@tweenjs/tween.js": "^25.0.0",
@@ -34,10 +38,6 @@
34
38
  "polygon-tools": "^0.4.8",
35
39
  "postprocessing": "^6.36.1",
36
40
  "textdiff-patch": "^1.0.5",
37
- "three": "^0.178.0",
38
- "three-bvh-csg": "0.0.17",
39
- "three-gpu-pathtracer": "0.0.22",
40
- "three-mesh-bvh": "^0.9.9",
41
41
  "tslib": "^2.3.0"
42
42
  },
43
43
  "module": "fesm2022/colijnit-homedecorator.mjs",