3D Viewer - Releases

← App details

Nextcloud 32

3D Viewer 1.7.12
Release Details
UpdatedNov. 4, 2025, 4:14 p.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets
  • Axes Positioning: Axes helper now positioned at bottom center of models, aligned with grid
  • Axes Scaling: Made axes size dynamic (25% of model's largest dimension, minimum 5 units)
  • Logo Loading: Fixed app logo path in demo scene to use generateUrl() for correct URL resolution

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
  • Axes now recreate on model load to ensure proper sizing and positioning
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturetHcAULDv6Z6JlPEmMcFbBFAPFTScfSULZoxHuFuCtCO965w5/TPzwTm9AAbrvWQlTzOza8VK9le5cP96O8XKoLPU/rUTY0YPL+11rga9rU5c9nNcCiRTKwaha9wnos5/fDxZOhefb9aFojmpf7HsrSmHL+JMrLwaVvp846k4ShSPNbV7cVTqsrwz1C4Vy4JRzGMuSfcAMjxLBC02obtPqVYX4T5s7/QCithiTGI1VmmtMxZM0sG3fkIRf9ouPQ44hpHX7beIm4vBGthPwjhlNpR+aXq9rQd4annpZKtZGfGRX/RDXlFXUWBE/07A+/CBzP9DX9pegUvzvrelj67ADuiRDfxsL3vKN1VGU1rqHi1ZrwE24BzfeGnWgUb+wEBOcM8x8BEc0thH2zbfKAwqjY1h/iH8IjoIkbPPm3mKwQ2b5w2v2aaRRr3qbK3cOLhyzWJBpQFZaahomr9x+/hN5aU9fhr9hMjgPboRadI7rO+V6QtQDobhKlz+6Rdb1mo+Bzk9btyCJ7flqqos07yo/O01o4G/0L0hdw20vYh3WlbeGRWC6W/OBzQmRwT4MWFoHV2mQOYO4Nie4SkFCzs2lT3NWW7I/uCrCPMZDJrLhSk1KiKzctZXjTUalB4DuPHSpq99WjCcf2oPLo6rQ7DJd/sIRSh3tSj8WIlxcWCrSWk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.11
Release Details
UpdatedNov. 4, 2025, 10:58 a.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturehK5rTudkrE4neZOI/n/jv+qjY/VfKVkRkouiBK5jBARxwK9e0W8U07ajlvP2+U8q8qwNzjGY77RproUnQIkOlALx3c6V9ufsMaHcpuAR2GAvK84WgqqEM37VSPQrGhLLuZzz4nU5nYmNOsTg+maV0O5XEND29zOdafsJHxpY8mQofXCA0vyLYNLYQtLEAPRBtl3uDQgSSjPGB6kN87VUcqebvVrVim8aa8l7BpDoMiW5j60T7toenQiisu6S4aKMRHCxx7I1cHK/mkGjLzl+/AHpfwWpKCr13StVLzqqlVPc5+SL/yI14XW2JtJARHShE0zBqkARG0yqsFXVTGvLzvAahLuCfIdlied8HFK/NQVmqgLlRAc30xWGq2vcQvpnr9L7GwCkImnM5YeoTqVOJHawhc3wU8FQ56g/imCYgMqwSOegC1BVegdX/XvCMCxhQXEj4OxUxETQ/T1+BWqBBLLbZQQiyyRXw6o/bzpBWJYtDH/XIzFKxJdC7WKfIM6lPmPb7CCc6sJGfEi/Lyv3rTfCjyQj7ioMlB+5sLV5/d+tth6eeY9O6jZsz92/V5byhrtIdYvu4j7IZR2m8+/IpkjmTMnuv18wyU6+unVo8V2hKNLhoWYHJqEQ9Ylx/Rj6tKb4TwsrciMPV+2T38lJK5cS0GZittMNUVAKSUPBSnQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.10
Release Details
UpdatedNov. 4, 2025, 9:48 a.m.
Changelog

Fixed

  • Dark Theme Support: Fixed slide-out toolbar panel not responding to theme changes
  • Theme Switching: Implemented reactive theme binding using Vue computed properties
  • CSS Integration: Converted base styles to use Nextcloud CSS variables for better theme integration
  • UI Consistency: Toolbar panel now properly switches between Light, Dark, and Auto themes

Changed

  • Improved maintainability by using Nextcloud's standard color system throughout the toolbar
  • Enhanced theme responsiveness with component-level class binding
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT38bK6V5aDGCGlNZJEV3QCmwYaO21RK3QtifSTQ3O311NOPA+O7ryIjncKIdr/rdN/9ZjeFLqwcxRk2traF5MkhvjRCr3NT5oV5cuMQgmw2Js7MAOLrSXOUkn6b7LpQKesEmzQPqygl2fuqN5qrxILxeWU5xWq3nyoV+G2TzByeLOT9CX8+EH1rzMnJNb/35aFS0kj/fU4V0FHFM3h8KxNDWYVjlJ/tPtq5IFBvICRm6HLCkQ2fEPPXkxP2Z1lpBam6ZGuSbcmo2lb5yQ7Zq3n6rd7FIzkU6r0/xvYF5gY08bwIdtULEpJOEQwp/n9KBR2itV4twQG2QAZFEIMF+EIg4lRzu0vdX8GVDFbirW8YqCX8PXyd+UAm1FfZ4vf8VHQXF7weZgAnvm3crR01GNStlBHl37Zke3z8CHmiYj3ffi4WMwGBT4Gb8f6fxlCOHH/mOlCyA3rtVlI5cHqJGHbdiwgHYX6e+0p5JRWOlecK/HTcVd0Aa5KX57BTcRQXEhGaQqHIbRhWTWwDMesbAyJMtCT72O2eRUqJCnSI+SRSxl/Hh4lHUEnOPx9D2P/03xDEDpO3xoR7tQGN927un6811AS+v+kABFDJQcayHiFTpR28U+WzF1vqS2fktc90NaWwiJuO1/hnQ/H8J6icAF4oxmvArZI2uO1X3CPZMwN8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.9
Release Details
UpdatedNov. 4, 2025, 8:39 a.m.
Changelog

Added

  • 3D Camera Controller: New circular controller interface for intuitive 3D model navigation
  • Camera Control Methods: Advanced camera manipulation including rotation, zoom, and directional nudging
  • View Snapping: Animated camera transitions to predefined views (Front, Back, Left, Right, Top, Bottom)
  • Controller Persistence: Save and restore controller position and visibility preferences
  • Smooth Animations: Eased camera transitions with customizable duration and easing functions
  • Face Labels: Orientation markers (TOP, BOTTOM, FRONT, BACK, LEFT, RIGHT) on model faces
  • Export Functionality: Export models to GLB, STL, and OBJ formats
  • Camera Projection Toggle: Switch between perspective and orthographic views
  • Progressive Texture Loading: Background texture loading for improved performance
  • Dependency Caching: IndexedDB caching system for faster multi-file model loading
  • Model Statistics Panel: Detailed information about loaded models
  • Help Panel: Comprehensive in-app documentation and controls guide
  • Theme Customization: Enhanced theme switching with RTL support
  • Performance Overlay: Visual performance stats display with real-time monitoring
  • KTX2 Texture Support: GPU texture compression for better performance
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT4jr3f8pu++HPy93L1HdiayTsqKV8PwgIw7jkye4TkqYM7wBuBsK6qv/TXwuZElOm9hzBEVH/MnuFoRl2QXPxurhZLvu918h0rDnTIjfRNMC2gIVFI8JLneLq8ya+m9lKGNLXEodRAhQ3pGn97cuSFzff+iGhQOFkojIvbWM4HbSQFq6pfF3/ZYjUCt5BhRIHdPkk+mzwjpVaniq98gh4XS3AMYqs4p2n7vysSGjAO8hZrDdGUJGxBlz1amgeUpdiGOpTwI4FyT2vbxcmHcMVwZTQyXoYZ/Ux70JZp98nz1H1kKqIoDxzZSRmetrm23Pzn+k440rHQUSjuIa/p6I6w8nGG25M0kjB46lacCtbUlR6Rrrj6SNwFITde5Rr87HP2R/ILqI5MCC73SebBxcdY/IXw7xHjUiBJTlrOmPi1ppktirZnOsmSR2Sa/yE81zrYWJ2HidTbxEGpJDZBIiwOaBCYh6nwQ51PG1z4mxgJE4G+7lMZ/bpu5UaJihys2WcoBhPxrGNeoLoEN+D1JiaOU1C974Wwncz1/BobA08FSx+rzXCnRNSQWbBapz3J6MYT5TwChku40FeqGR2KJm+v2pYgm8K/Eepieubi61tD9St1exw3AjBiJ2/dKOezNb8ZHFcoWn2bxCZc4rzuBUO0tJSrjmbW5dcysusajrvMs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32

Nextcloud 31

3D Viewer 1.7.12
Release Details
UpdatedNov. 4, 2025, 4:14 p.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets
  • Axes Positioning: Axes helper now positioned at bottom center of models, aligned with grid
  • Axes Scaling: Made axes size dynamic (25% of model's largest dimension, minimum 5 units)
  • Logo Loading: Fixed app logo path in demo scene to use generateUrl() for correct URL resolution

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
  • Axes now recreate on model load to ensure proper sizing and positioning
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturetHcAULDv6Z6JlPEmMcFbBFAPFTScfSULZoxHuFuCtCO965w5/TPzwTm9AAbrvWQlTzOza8VK9le5cP96O8XKoLPU/rUTY0YPL+11rga9rU5c9nNcCiRTKwaha9wnos5/fDxZOhefb9aFojmpf7HsrSmHL+JMrLwaVvp846k4ShSPNbV7cVTqsrwz1C4Vy4JRzGMuSfcAMjxLBC02obtPqVYX4T5s7/QCithiTGI1VmmtMxZM0sG3fkIRf9ouPQ44hpHX7beIm4vBGthPwjhlNpR+aXq9rQd4annpZKtZGfGRX/RDXlFXUWBE/07A+/CBzP9DX9pegUvzvrelj67ADuiRDfxsL3vKN1VGU1rqHi1ZrwE24BzfeGnWgUb+wEBOcM8x8BEc0thH2zbfKAwqjY1h/iH8IjoIkbPPm3mKwQ2b5w2v2aaRRr3qbK3cOLhyzWJBpQFZaahomr9x+/hN5aU9fhr9hMjgPboRadI7rO+V6QtQDobhKlz+6Rdb1mo+Bzk9btyCJ7flqqos07yo/O01o4G/0L0hdw20vYh3WlbeGRWC6W/OBzQmRwT4MWFoHV2mQOYO4Nie4SkFCzs2lT3NWW7I/uCrCPMZDJrLhSk1KiKzctZXjTUalB4DuPHSpq99WjCcf2oPLo6rQ7DJd/sIRSh3tSj8WIlxcWCrSWk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.11
Release Details
UpdatedNov. 4, 2025, 10:58 a.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturehK5rTudkrE4neZOI/n/jv+qjY/VfKVkRkouiBK5jBARxwK9e0W8U07ajlvP2+U8q8qwNzjGY77RproUnQIkOlALx3c6V9ufsMaHcpuAR2GAvK84WgqqEM37VSPQrGhLLuZzz4nU5nYmNOsTg+maV0O5XEND29zOdafsJHxpY8mQofXCA0vyLYNLYQtLEAPRBtl3uDQgSSjPGB6kN87VUcqebvVrVim8aa8l7BpDoMiW5j60T7toenQiisu6S4aKMRHCxx7I1cHK/mkGjLzl+/AHpfwWpKCr13StVLzqqlVPc5+SL/yI14XW2JtJARHShE0zBqkARG0yqsFXVTGvLzvAahLuCfIdlied8HFK/NQVmqgLlRAc30xWGq2vcQvpnr9L7GwCkImnM5YeoTqVOJHawhc3wU8FQ56g/imCYgMqwSOegC1BVegdX/XvCMCxhQXEj4OxUxETQ/T1+BWqBBLLbZQQiyyRXw6o/bzpBWJYtDH/XIzFKxJdC7WKfIM6lPmPb7CCc6sJGfEi/Lyv3rTfCjyQj7ioMlB+5sLV5/d+tth6eeY9O6jZsz92/V5byhrtIdYvu4j7IZR2m8+/IpkjmTMnuv18wyU6+unVo8V2hKNLhoWYHJqEQ9Ylx/Rj6tKb4TwsrciMPV+2T38lJK5cS0GZittMNUVAKSUPBSnQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.10
Release Details
UpdatedNov. 4, 2025, 9:48 a.m.
Changelog

Fixed

  • Dark Theme Support: Fixed slide-out toolbar panel not responding to theme changes
  • Theme Switching: Implemented reactive theme binding using Vue computed properties
  • CSS Integration: Converted base styles to use Nextcloud CSS variables for better theme integration
  • UI Consistency: Toolbar panel now properly switches between Light, Dark, and Auto themes

Changed

  • Improved maintainability by using Nextcloud's standard color system throughout the toolbar
  • Enhanced theme responsiveness with component-level class binding
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT38bK6V5aDGCGlNZJEV3QCmwYaO21RK3QtifSTQ3O311NOPA+O7ryIjncKIdr/rdN/9ZjeFLqwcxRk2traF5MkhvjRCr3NT5oV5cuMQgmw2Js7MAOLrSXOUkn6b7LpQKesEmzQPqygl2fuqN5qrxILxeWU5xWq3nyoV+G2TzByeLOT9CX8+EH1rzMnJNb/35aFS0kj/fU4V0FHFM3h8KxNDWYVjlJ/tPtq5IFBvICRm6HLCkQ2fEPPXkxP2Z1lpBam6ZGuSbcmo2lb5yQ7Zq3n6rd7FIzkU6r0/xvYF5gY08bwIdtULEpJOEQwp/n9KBR2itV4twQG2QAZFEIMF+EIg4lRzu0vdX8GVDFbirW8YqCX8PXyd+UAm1FfZ4vf8VHQXF7weZgAnvm3crR01GNStlBHl37Zke3z8CHmiYj3ffi4WMwGBT4Gb8f6fxlCOHH/mOlCyA3rtVlI5cHqJGHbdiwgHYX6e+0p5JRWOlecK/HTcVd0Aa5KX57BTcRQXEhGaQqHIbRhWTWwDMesbAyJMtCT72O2eRUqJCnSI+SRSxl/Hh4lHUEnOPx9D2P/03xDEDpO3xoR7tQGN927un6811AS+v+kABFDJQcayHiFTpR28U+WzF1vqS2fktc90NaWwiJuO1/hnQ/H8J6icAF4oxmvArZI2uO1X3CPZMwN8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.9
Release Details
UpdatedNov. 4, 2025, 8:39 a.m.
Changelog

Added

  • 3D Camera Controller: New circular controller interface for intuitive 3D model navigation
  • Camera Control Methods: Advanced camera manipulation including rotation, zoom, and directional nudging
  • View Snapping: Animated camera transitions to predefined views (Front, Back, Left, Right, Top, Bottom)
  • Controller Persistence: Save and restore controller position and visibility preferences
  • Smooth Animations: Eased camera transitions with customizable duration and easing functions
  • Face Labels: Orientation markers (TOP, BOTTOM, FRONT, BACK, LEFT, RIGHT) on model faces
  • Export Functionality: Export models to GLB, STL, and OBJ formats
  • Camera Projection Toggle: Switch between perspective and orthographic views
  • Progressive Texture Loading: Background texture loading for improved performance
  • Dependency Caching: IndexedDB caching system for faster multi-file model loading
  • Model Statistics Panel: Detailed information about loaded models
  • Help Panel: Comprehensive in-app documentation and controls guide
  • Theme Customization: Enhanced theme switching with RTL support
  • Performance Overlay: Visual performance stats display with real-time monitoring
  • KTX2 Texture Support: GPU texture compression for better performance
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT4jr3f8pu++HPy93L1HdiayTsqKV8PwgIw7jkye4TkqYM7wBuBsK6qv/TXwuZElOm9hzBEVH/MnuFoRl2QXPxurhZLvu918h0rDnTIjfRNMC2gIVFI8JLneLq8ya+m9lKGNLXEodRAhQ3pGn97cuSFzff+iGhQOFkojIvbWM4HbSQFq6pfF3/ZYjUCt5BhRIHdPkk+mzwjpVaniq98gh4XS3AMYqs4p2n7vysSGjAO8hZrDdGUJGxBlz1amgeUpdiGOpTwI4FyT2vbxcmHcMVwZTQyXoYZ/Ux70JZp98nz1H1kKqIoDxzZSRmetrm23Pzn+k440rHQUSjuIa/p6I6w8nGG25M0kjB46lacCtbUlR6Rrrj6SNwFITde5Rr87HP2R/ILqI5MCC73SebBxcdY/IXw7xHjUiBJTlrOmPi1ppktirZnOsmSR2Sa/yE81zrYWJ2HidTbxEGpJDZBIiwOaBCYh6nwQ51PG1z4mxgJE4G+7lMZ/bpu5UaJihys2WcoBhPxrGNeoLoEN+D1JiaOU1C974Wwncz1/BobA08FSx+rzXCnRNSQWbBapz3J6MYT5TwChku40FeqGR2KJm+v2pYgm8K/Eepieubi61tD9St1exw3AjBiJ2/dKOezNb8ZHFcoWn2bxCZc4rzuBUO0tJSrjmbW5dcysusajrvMs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32

Nextcloud 30

3D Viewer 1.7.12
Release Details
UpdatedNov. 4, 2025, 4:14 p.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets
  • Axes Positioning: Axes helper now positioned at bottom center of models, aligned with grid
  • Axes Scaling: Made axes size dynamic (25% of model's largest dimension, minimum 5 units)
  • Logo Loading: Fixed app logo path in demo scene to use generateUrl() for correct URL resolution

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
  • Axes now recreate on model load to ensure proper sizing and positioning
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturetHcAULDv6Z6JlPEmMcFbBFAPFTScfSULZoxHuFuCtCO965w5/TPzwTm9AAbrvWQlTzOza8VK9le5cP96O8XKoLPU/rUTY0YPL+11rga9rU5c9nNcCiRTKwaha9wnos5/fDxZOhefb9aFojmpf7HsrSmHL+JMrLwaVvp846k4ShSPNbV7cVTqsrwz1C4Vy4JRzGMuSfcAMjxLBC02obtPqVYX4T5s7/QCithiTGI1VmmtMxZM0sG3fkIRf9ouPQ44hpHX7beIm4vBGthPwjhlNpR+aXq9rQd4annpZKtZGfGRX/RDXlFXUWBE/07A+/CBzP9DX9pegUvzvrelj67ADuiRDfxsL3vKN1VGU1rqHi1ZrwE24BzfeGnWgUb+wEBOcM8x8BEc0thH2zbfKAwqjY1h/iH8IjoIkbPPm3mKwQ2b5w2v2aaRRr3qbK3cOLhyzWJBpQFZaahomr9x+/hN5aU9fhr9hMjgPboRadI7rO+V6QtQDobhKlz+6Rdb1mo+Bzk9btyCJ7flqqos07yo/O01o4G/0L0hdw20vYh3WlbeGRWC6W/OBzQmRwT4MWFoHV2mQOYO4Nie4SkFCzs2lT3NWW7I/uCrCPMZDJrLhSk1KiKzctZXjTUalB4DuPHSpq99WjCcf2oPLo6rQ7DJd/sIRSh3tSj8WIlxcWCrSWk=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.11
Release Details
UpdatedNov. 4, 2025, 10:58 a.m.
Changelog

Fixed

  • Viewer Integration: Fixed files() method not storing files list, causing "No files provided, skipping update" error
  • File Loading: Fixed TypeError: Cannot read properties of undefined (reading 'filename') when opening 3D files
  • Static Assets: Fixed 500 error when loading app-color.svg due to route conflicts
  • Route Structure: Changed viewer route from /{fileId} to /f/{fileId} to prevent conflicts with static assets

Changed

  • Enhanced files() method in ViewerComponent with fallback logic to create synthetic file from props
  • Simplified PageController by removing unnecessary is_numeric() checks
  • Updated URL structure for better RESTful design: /apps/threedviewer/f/{fileId}
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignaturehK5rTudkrE4neZOI/n/jv+qjY/VfKVkRkouiBK5jBARxwK9e0W8U07ajlvP2+U8q8qwNzjGY77RproUnQIkOlALx3c6V9ufsMaHcpuAR2GAvK84WgqqEM37VSPQrGhLLuZzz4nU5nYmNOsTg+maV0O5XEND29zOdafsJHxpY8mQofXCA0vyLYNLYQtLEAPRBtl3uDQgSSjPGB6kN87VUcqebvVrVim8aa8l7BpDoMiW5j60T7toenQiisu6S4aKMRHCxx7I1cHK/mkGjLzl+/AHpfwWpKCr13StVLzqqlVPc5+SL/yI14XW2JtJARHShE0zBqkARG0yqsFXVTGvLzvAahLuCfIdlied8HFK/NQVmqgLlRAc30xWGq2vcQvpnr9L7GwCkImnM5YeoTqVOJHawhc3wU8FQ56g/imCYgMqwSOegC1BVegdX/XvCMCxhQXEj4OxUxETQ/T1+BWqBBLLbZQQiyyRXw6o/bzpBWJYtDH/XIzFKxJdC7WKfIM6lPmPb7CCc6sJGfEi/Lyv3rTfCjyQj7ioMlB+5sLV5/d+tth6eeY9O6jZsz92/V5byhrtIdYvu4j7IZR2m8+/IpkjmTMnuv18wyU6+unVo8V2hKNLhoWYHJqEQ9Ylx/Rj6tKb4TwsrciMPV+2T38lJK5cS0GZittMNUVAKSUPBSnQ=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.10
Release Details
UpdatedNov. 4, 2025, 9:48 a.m.
Changelog

Fixed

  • Dark Theme Support: Fixed slide-out toolbar panel not responding to theme changes
  • Theme Switching: Implemented reactive theme binding using Vue computed properties
  • CSS Integration: Converted base styles to use Nextcloud CSS variables for better theme integration
  • UI Consistency: Toolbar panel now properly switches between Light, Dark, and Auto themes

Changed

  • Improved maintainability by using Nextcloud's standard color system throughout the toolbar
  • Enhanced theme responsiveness with component-level class binding
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT38bK6V5aDGCGlNZJEV3QCmwYaO21RK3QtifSTQ3O311NOPA+O7ryIjncKIdr/rdN/9ZjeFLqwcxRk2traF5MkhvjRCr3NT5oV5cuMQgmw2Js7MAOLrSXOUkn6b7LpQKesEmzQPqygl2fuqN5qrxILxeWU5xWq3nyoV+G2TzByeLOT9CX8+EH1rzMnJNb/35aFS0kj/fU4V0FHFM3h8KxNDWYVjlJ/tPtq5IFBvICRm6HLCkQ2fEPPXkxP2Z1lpBam6ZGuSbcmo2lb5yQ7Zq3n6rd7FIzkU6r0/xvYF5gY08bwIdtULEpJOEQwp/n9KBR2itV4twQG2QAZFEIMF+EIg4lRzu0vdX8GVDFbirW8YqCX8PXyd+UAm1FfZ4vf8VHQXF7weZgAnvm3crR01GNStlBHl37Zke3z8CHmiYj3ffi4WMwGBT4Gb8f6fxlCOHH/mOlCyA3rtVlI5cHqJGHbdiwgHYX6e+0p5JRWOlecK/HTcVd0Aa5KX57BTcRQXEhGaQqHIbRhWTWwDMesbAyJMtCT72O2eRUqJCnSI+SRSxl/Hh4lHUEnOPx9D2P/03xDEDpO3xoR7tQGN927un6811AS+v+kABFDJQcayHiFTpR28U+WzF1vqS2fktc90NaWwiJuO1/hnQ/H8J6icAF4oxmvArZI2uO1X3CPZMwN8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32
3D Viewer 1.7.9
Release Details
UpdatedNov. 4, 2025, 8:39 a.m.
Changelog

Added

  • 3D Camera Controller: New circular controller interface for intuitive 3D model navigation
  • Camera Control Methods: Advanced camera manipulation including rotation, zoom, and directional nudging
  • View Snapping: Animated camera transitions to predefined views (Front, Back, Left, Right, Top, Bottom)
  • Controller Persistence: Save and restore controller position and visibility preferences
  • Smooth Animations: Eased camera transitions with customizable duration and easing functions
  • Face Labels: Orientation markers (TOP, BOTTOM, FRONT, BACK, LEFT, RIGHT) on model faces
  • Export Functionality: Export models to GLB, STL, and OBJ formats
  • Camera Projection Toggle: Switch between perspective and orthographic views
  • Progressive Texture Loading: Background texture loading for improved performance
  • Dependency Caching: IndexedDB caching system for faster multi-file model loading
  • Model Statistics Panel: Detailed information about loaded models
  • Help Panel: Comprehensive in-app documentation and controls guide
  • Theme Customization: Enhanced theme switching with RTL support
  • Performance Overlay: Visual performance stats display with real-time monitoring
  • KTX2 Texture Support: GPU texture compression for better performance
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBzCCAu8CAhLKMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjUxMTA0MDgxMDEzWhcNMzYwMjEwMDgxMDEzWjAXMRUwEwYD
VQQDDAx0aHJlZWR2aWV3ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDnE42wyWoV2dJM9P5a0wX1fka0RV64J/zwc6phoNTGOt6l2KulOVkwjhiGstJN
ZDtJ56Zc3WUYReEZUi7QLkJjb7t1Tyorz24gFDytMxPAzOQ0WICSY3OBEJzPxXzB
lq2XM+EXuyS9en2VRbjtA6BuYDs0leF8Ucm5zVAHNAHPrlWCHeiHHm6qwtYPlRy7
6GLmdgLA9/lOK1cL6leMPZRv5ths4tsda/nRfnXJp8i1n29+PrqSx1U1V26z1Oyg
4W+kYmw/CVQPw3F0dYsmdWG5Esp9WKP4LkhRuIvqbt5AWB9Ymb/zNXQgMcZBo46e
Lf9jMYH5WWnXsuJV6kypn4pkyhjyy8dGsVGPR/O/YafVe5xqTYUKVxyKR5v8pxoB
NqPTKKCe1dyhPrb5aUibc4MIRVq7YNKL7cHqtt0Lgii0AtDoXlFxo+o4iNhl85id
z8aBcDcrNpAlWHvEqqMeuzrdm5wbWdFS9PLzjsjTH2HVLJwWzNY50JIJfgECBrRm
pgx2xcE8artReZUyvn4N7OhQcIMlbiJJD3GAqo+royLWk+saObAMewc8tL9WCDDT
zVliibBIC4cS8TNxeWJBCDE31VRcchUpnOIAl6Ks4BqAjIZWOHywJ1LDZMjYByBK
0kJ3YbbcJ8G4wvhllp+FDeK+72Yaf2W/vXeAxe5RT14XAQIDAQABMA0GCSqGSIb3
DQEBCwUAA4IBAQBr2FhVbBHoSFfBGsLfBQEwVfjBGUb4gnzMmqHHMcFwrQiWNejZ
oK7KqUu28cuU6BjJ5/K2AZBW3/eU5zcPlv36G+VGYfVSsmT50G38fXyP4rCxICdL
0hZnKSJU80YLCPy2uSPJ6os3gcIp7OEkRLukU/Be8GEVZAlX5dVds3ve7GFA1K/z
FI9AMqwGnueXbncuTDo7QGd268qYNNWh/jYloQ7sdW1NCwKGvpPXjB80rw5briXk
Zzf7xuMLAobzRxY23NlBamP7wdv355TWXlrFBkaKdF4+aSzELf9LpXzDsQ6SaDI4
Mol4XeYOOXOL40adta2oG9/2k3GKNRfSh5Qe
-----END CERTIFICATE-----
SignatureT4jr3f8pu++HPy93L1HdiayTsqKV8PwgIw7jkye4TkqYM7wBuBsK6qv/TXwuZElOm9hzBEVH/MnuFoRl2QXPxurhZLvu918h0rDnTIjfRNMC2gIVFI8JLneLq8ya+m9lKGNLXEodRAhQ3pGn97cuSFzff+iGhQOFkojIvbWM4HbSQFq6pfF3/ZYjUCt5BhRIHdPkk+mzwjpVaniq98gh4XS3AMYqs4p2n7vysSGjAO8hZrDdGUJGxBlz1amgeUpdiGOpTwI4FyT2vbxcmHcMVwZTQyXoYZ/Ux70JZp98nz1H1kKqIoDxzZSRmetrm23Pzn+k440rHQUSjuIa/p6I6w8nGG25M0kjB46lacCtbUlR6Rrrj6SNwFITde5Rr87HP2R/ILqI5MCC73SebBxcdY/IXw7xHjUiBJTlrOmPi1ppktirZnOsmSR2Sa/yE81zrYWJ2HidTbxEGpJDZBIiwOaBCYh6nwQ51PG1z4mxgJE4G+7lMZ/bpu5UaJihys2WcoBhPxrGNeoLoEN+D1JiaOU1C974Wwncz1/BobA08FSx+rzXCnRNSQWbBapz3J6MYT5TwChku40FeqGR2KJm+v2pYgm8K/Eepieubi61tD9St1exw3AjBiJ2/dKOezNb8ZHFcoWn2bxCZc4rzuBUO0tJSrjmbW5dcysusajrvMs=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<33.0.0
Minimum Integer bits32