feat: initialize sunrise with 100-player shared rooms
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import test from 'node:test';
|
||||
import { PerspectiveCamera } from 'three';
|
||||
import { createRenderInvalidation } from '../src/scene/renderInvalidation.ts';
|
||||
|
||||
test('unchanged frames skip rendering but each live update requests a fresh frame', () => {
|
||||
const render = createRenderInvalidation();
|
||||
const camera = new PerspectiveCamera();
|
||||
assert.equal(render.shouldRender(camera), true);
|
||||
assert.equal(render.shouldRender(camera), false);
|
||||
for (let tick = 0; tick < 3; tick++) {
|
||||
render.invalidate();
|
||||
assert.equal(render.shouldRender(camera), true);
|
||||
assert.equal(render.shouldRender(camera), false);
|
||||
}
|
||||
});
|
||||
|
||||
test('movement, rotation, camera switches and ocean animation remain visible', () => {
|
||||
const render = createRenderInvalidation();
|
||||
const camera = new PerspectiveCamera();
|
||||
render.shouldRender(camera);
|
||||
camera.position.x = 1;
|
||||
assert.equal(render.shouldRender(camera), true);
|
||||
camera.rotation.y = 0.2;
|
||||
assert.equal(render.shouldRender(camera), true);
|
||||
assert.equal(render.shouldRender(camera.clone()), true);
|
||||
assert.equal(render.shouldRender(camera, true), true);
|
||||
assert.equal(render.shouldRender(camera, true), true);
|
||||
});
|
||||
Reference in New Issue
Block a user