Skip to content

Feature/scene delegate updates#3

Open
abbinavv wants to merge 5 commits intovinayakchandra:mainfrom
abbinavv:feature/scene-delegate-updates
Open

Feature/scene delegate updates#3
abbinavv wants to merge 5 commits intovinayakchandra:mainfrom
abbinavv:feature/scene-delegate-updates

Conversation

@abbinavv
Copy link
Collaborator

@abbinavv abbinavv commented Feb 2, 2026

No description provided.

## New Features
- RoomColorManager: Singleton for saving/loading room element colors
  - Persists colors to Documents/RoomColors/{roomName}_colors.json
  - Supports walls, floors, doors, windows, tables, chairs, storage
  - Colors persist across app restarts and mode switches

- Save button in Edit mode (replaces standalone + button)
  - Captures thumbnail with current colors
  - Saves to Documents/RoomThumbnails/{roomName}_thumb.jpg
  - Shows success alert and navigates to home screen
  - Add furniture button still available (blue +)

- Color picker improvements
  - Native Cancel and Done buttons in navigation bar
  - Cancel restores previous colors
  - Done confirms selection

- Thumbnail improvements
  - MyRoomsViewController loads saved colored thumbnails
  - Falls back to QuickLook if no saved thumbnail exists

## Bug Fixes
- Fixed BillboardComponent crash (EXC_BAD_ACCESS)
  - Safe cleanup in viewWillDisappear
  - Async setting of BillboardComponent on main thread
  - Proper removal before entity cleanup

- Fixed PhotogrammetrySession.Request.Detail enum
  - Changed .preview/.medium/.full to .reduced (iOS 26 SDK)
  - Updated quality selector UI to reflect available options

- Fixed Swift 6 main actor isolation warnings in BackgroundModelProcessor

## New Files
- Envision/Managers/RoomColorManager.swift
- Envision/Managers/BackgroundModelProcessor.swift
- Envision/Tips/TipPresenter.swift
- PROJECT_WORKFLOW.md
- RECOMMENDED_IMPROVEMENTS.md
- AR_MEASUREMENT_TOOL_IMPLEMENTATION_PLAN.md
- COMPLETE_TECHNICAL_DOCUMENTATION.md
- FIREBASE_BACKEND_IMPLEMENTATION_PLAN.md
- TIPS_TOUR_IMPROVEMENT_PLAN.md

## Modified Files
- RoomEditVC.swift: Save button, color persistence, thumbnail capture
- RoomVisualizeVC.swift: Load and apply saved colors
- MyRoomsViewController.swift: Load saved thumbnails
- VisualizeRoomViewController.swift: BillboardComponent fix, color picker
- RoomARWithFurnitureViewController.swift: BillboardComponent fix
- ObjectCapturePreviewController.swift: Quality selector fix, cancel button
- BackgroundModelProcessor.swift: Main actor isolation fixes
- Enhanced SceneDelegate with theme persistence
- Improved RoomColorManager for better color management
- Updated BackgroundModelProcessor for model processing
- Enhanced room scanning and preview functionality
- Improved furniture placement and visualization
- Added complete project documentation
- Fixed RoomEditVC to use only ARView snapshot method for consistent thumbnail generation
- Added thumbnail generation for newly scanned rooms in RoomPreviewViewController
- Implemented automatic thumbnail cleanup when rooms are deleted
- Standardized thumbnail size to 400x400 across all operations
- Improved thumbnail caching with memory limits (50 items, 50MB max)
- Optimized collection view reloads (only reload visible cells on changes)
- Moved disk I/O operations to background threads for better performance
- Added corrupted thumbnail recovery mechanism
- Enhanced RoomColorManager with better error handling
- Added comprehensive thumbnail system documentation

Fixes:
- Thumbnails now properly update when room colors are changed
- Newly scanned rooms immediately have thumbnails
- No more orphaned thumbnail files
- Eliminated UI stuttering during scrolling
- Better memory management and performance
Copilot AI review requested due to automatic review settings February 2, 2026 17:22
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements comprehensive updates to the scene delegate and introduces several major feature enhancements to the EnVision AR/3D visualization app. The changes focus primarily on improving the thumbnail system, adding room color management, implementing a measurement tool, and refining the tips/tour system.

Changes:

  • Added extensive documentation for thumbnail system, improvements, and project workflow
  • Implemented room color persistence and thumbnail generation system with notification-based updates
  • Added tap-to-measure distance tool in room visualization
  • Temporarily disabled TipKit integration while preserving the framework
  • Enhanced UI with selection modes, empty states, and improved navigation patterns

Reviewed changes

Copilot reviewed 47 out of 55 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
THUMBNAIL_QUICK_REFERENCE.md New comprehensive documentation for thumbnail system architecture and workflows
THUMBNAIL_ISSUES_ANALYSIS.md New analysis document cataloging thumbnail-related issues identified in the codebase
THUMBNAIL_FIXES_SUMMARY.md New summary documenting all implemented fixes for thumbnail inconsistencies
RECOMMENDED_IMPROVEMENTS.md New document outlining future improvement recommendations
PROJECT_WORKFLOW.md New workflow documentation describing app architecture and feature flows
IMPROVEMENTS.md New comprehensive improvement analysis covering critical to low-priority items
TipPresenter.swift New UIKit-based tip presenter replacing SwiftUI implementation
AppTips.swift Placeholder file for temporarily removed tip definitions
TipsLibraryViewController.swift New static tips library view for profile section
ProfileViewController.swift Added tips library and tour restart functionality
VisualizeRoomViewController.swift Enhanced with color picker improvements and label cleanup
RoomARWithFurnitureViewController.swift Added hidesBottomBarWhenPushed and BillboardComponent safety fix
ScanFurnitureViewController.swift Minor formatting fix (trailing newline)
ViewModelsViewController.swift Added hidesBottomBarWhenPushed initialization
CreateModelViewController2.swift Added hidesBottomBarWhenPushed and removed emoji console logs
CreateModelViewController.swift Added hidesBottomBarWhenPushed initialization
RoomVisualizeVC.swift Major update: added measurement tool, color persistence, and improved room loading
RoomViewerViewController.swift Added hidesBottomBarWhenPushed
RoomEditVC.swift Major update: thumbnail capture, color persistence, improved navigation
OrbitJoystick.swift Removed redundant comment
RoomPreviewViewController.swift Added thumbnail saving for newly scanned rooms
RoomPlanScannerViewController.swift Added hidesBottomBarWhenPushed
RoomCell.swift Major update: selection mode, date display, thumbnail-only updates
MyRoomsViewController.swift Major update: thumbnail caching, notifications, empty state, selection mode
MyRoomsViewController+helpers.swift Optimized cell configuration for performance
MetadataManager.swift Removed emoji console logs
SceneDelegate.swift Minor formatting change
TourManager.swift New centralized tour state management
RoomColorManager.swift New manager for room colors and thumbnails
BackgroundModelProcessor.swift New background processing manager for photogrammetry
MainTabBarController.swift Added custom tab icon and removed global tip overlay
UserManager.swift Removed emoji console logs
SaveManager.swift Minor formatting and emoji removal
Extensions.swift Added unprofessional comment
Assets (various) Added custom sofa icon and .DS_Store files
project.pbxproj Changed development team ID

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vinayakchandra vinayakchandra self-requested a review February 2, 2026 18:34
@vinayakchandra
Copy link
Owner

good work, but dont put so many changes directly into one pull request

Copy link
Owner

@vinayakchandra vinayakchandra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good work

Copy link
Owner

@vinayakchandra vinayakchandra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

custom sofa svg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments