Skip to content

Commit 0601ec6

Browse files
committed
feat: add orbitSpeed option
1 parent a7a271b commit 0601ec6

File tree

7 files changed

+643
-625
lines changed

7 files changed

+643
-625
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ interface SchematicRenderOptions {
6161
* Whether the view should automatically rotate when not being dragged by the user
6262
*/
6363
orbit?: boolean;
64+
/**
65+
* The speed at which the view should orbit (default: 0.02)
66+
*/
67+
orbitSpeed?: number;
6468
/**
6569
* Whether antialiasing should be enabled
6670
*/

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@enginehub/schematicwebviewer",
3-
"version": "4.4.0",
3+
"version": "4.5.0",
44
"description": "A web viewer for modern Minecraft schematics",
55
"main": "dist/cjs/index.js",
66
"module": "dist/esm/index.js",
@@ -29,7 +29,7 @@
2929
"homepage": "https://github.com/EngineHub/SchematicWebViewer#readme",
3030
"dependencies": {
3131
"@enginehub/schematicjs": "^0.8.0",
32-
"babylonjs": "5.32.1",
32+
"babylonjs": "5.40.1",
3333
"buffer": "^6.0.3",
3434
"deepmerge": "^4.2.2",
3535
"gzip-js": "^0.3.2",
@@ -38,15 +38,15 @@
3838
},
3939
"devDependencies": {
4040
"@types/gzip-js": "^0.3.3",
41-
"@typescript-eslint/eslint-plugin": "^5.42.1",
42-
"@typescript-eslint/parser": "^5.42.1",
43-
"eslint": "^8.27.0",
44-
"eslint-config-prettier": "^8.5.0",
41+
"@typescript-eslint/eslint-plugin": "^5.48.1",
42+
"@typescript-eslint/parser": "^5.48.1",
43+
"eslint": "^8.32.0",
44+
"eslint-config-prettier": "^8.6.0",
4545
"eslint-plugin-prettier": "^4.2.1",
46-
"parcel": "^2.8.0",
47-
"prettier": "^2.6.2",
46+
"parcel": "^2.8.2",
47+
"prettier": "^2.8.3",
4848
"prettier-eslint": "^15.0.1",
49-
"typescript": "^4.8.4"
49+
"typescript": "^4.9.4"
5050
},
5151
"browserslist": [
5252
"last 1 Chrome version"

src/renderer/model/loader.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Block } from '@enginehub/schematicjs';
2-
import type { Material, Mesh, Scene } from 'babylonjs';
2+
import type { InstancedMesh, Material, Mesh, Scene } from 'babylonjs';
33
import {
44
Axis,
55
Color3,
@@ -13,7 +13,6 @@ import {
1313
Vector3,
1414
Vector4,
1515
} from 'babylonjs';
16-
import type { InstancedMesh } from 'babylonjs/Meshes/instancedMesh';
1716
import deepmerge from 'deepmerge';
1817
import type { ResourceLoader } from '../../resource/resourceLoader';
1918
import { TRANSPARENT_BLOCKS } from '../utils';

src/renderer/model/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const POSSIBLE_FACES = [
3737
'up',
3838
'down',
3939
] as const;
40-
export type Faces = typeof POSSIBLE_FACES[number] | 'bottom';
40+
export type Faces = (typeof POSSIBLE_FACES)[number] | 'bottom';
4141

4242
export interface BlockModel {
4343
parent?: string;

src/renderer/renderer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export async function renderSchematic(
5353
resourcePacks,
5454
size,
5555
orbit = true,
56+
orbitSpeed = 0.02,
5657
renderArrow = false,
5758
renderBars = false,
5859
antialias = false,
@@ -234,7 +235,7 @@ export async function renderSchematic(
234235

235236
if (orbit) {
236237
scene.registerBeforeRender(() => {
237-
camera.alpha += 0.02;
238+
camera.alpha += orbitSpeed;
238239
});
239240
}
240241

src/renderer/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ export interface SchematicRenderOptions {
6464
* Whether the view should automatically rotate when not being dragged by the user
6565
*/
6666
orbit?: boolean;
67+
/**
68+
* The speed at which the view should orbit (default: 0.02)
69+
*/
70+
orbitSpeed?: number;
6771
/**
6872
* Whether antialiasing should be enabled
6973
*/

0 commit comments

Comments
 (0)