|
13 | 13 | * limitations under the License.
|
14 | 14 | */
|
15 | 15 |
|
| 16 | +import {Vector2} from 'three'; |
| 17 | + |
16 | 18 | import {$controls} from '../../features/controls.js';
|
17 |
| -import {$intersectionObserver, $isElementInViewport, $onResize, $renderer, $scene, Camera, RendererInterface} from '../../model-viewer-base.js'; |
| 19 | +import {$intersectionObserver, $isElementInViewport, $onResize, $renderer, $scene, $updateSize, Camera, RendererInterface} from '../../model-viewer-base.js'; |
18 | 20 | import {ModelViewerElement} from '../../model-viewer.js';
|
19 | 21 | import {ModelScene} from '../../three-components/ModelScene.js';
|
20 | 22 | import {Renderer} from '../../three-components/Renderer.js';
|
@@ -225,6 +227,30 @@ suite('Renderer with two scenes', () => {
|
225 | 227 | .to.be.eq(true, 'otherScene canvas should still be shown.');
|
226 | 228 | });
|
227 | 229 |
|
| 230 | + test( |
| 231 | + 'When registered, the scene canvas dimensions match the renderer size', |
| 232 | + () => { |
| 233 | + renderer.render(performance.now()); |
| 234 | + const oldSize = new Vector2(); |
| 235 | + renderer.threeRenderer.getSize(oldSize); |
| 236 | + console.log(oldSize); |
| 237 | + |
| 238 | + renderer.unregisterScene(scene); |
| 239 | + otherScene.element[$updateSize]({width: 400, height: 200}); |
| 240 | + renderer.render(performance.now()); |
| 241 | + |
| 242 | + const size = new Vector2(); |
| 243 | + renderer.threeRenderer.getSize(size); |
| 244 | + console.log(size); |
| 245 | + expect(size.x).to.be.greaterThan(oldSize.width, 'renderer width'); |
| 246 | + expect(size.y).to.be.greaterThan(oldSize.height, 'renderer height'); |
| 247 | + |
| 248 | + renderer.registerScene(scene); |
| 249 | + renderer.render(performance.now()); |
| 250 | + expect(scene.canvas.width).to.be.eq(size.x, 'canvas width'); |
| 251 | + expect(scene.canvas.height).to.be.eq(size.y, 'canvas height'); |
| 252 | + }); |
| 253 | + |
228 | 254 | suite('when resizing', () => {
|
229 | 255 | let originalDpr: number;
|
230 | 256 |
|
|
0 commit comments