Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
af704df
fix: align boat models with movement heading
sandexzx Jul 12, 2026
082047f
fix(render): stabilize local boats and mask water
sandexzx Jul 12, 2026
a284114
chore: format (prittier)
sandexzx Jul 12, 2026
fb910dc
feat(entities): anchor remote players to boat seats
sandexzx Jul 12, 2026
4e472fd
fix(entities): render minecart passengers smoothly
sandexzx Jul 13, 2026
f9d526c
fix(entities): camera-sync locally ridden minecarts
sandexzx Jul 13, 2026
1bbb0d9
feat: render players riding horses
sandexzx Jul 13, 2026
c5326e2
fix(entities): keep local horse aligned during jumps
sandexzx Jul 14, 2026
f082f62
chore: format (prittier)
sandexzx Jul 14, 2026
15f4932
fix(entities): improve mounted player rendering
sandexzx Jul 17, 2026
e2acd30
fix(entities): align mounted models with vanilla 1.17.1
sandexzx Jul 17, 2026
857f79f
fix(entities): align boat passenger body and head rotation
sandexzx Jul 17, 2026
4656887
fix(entities): animate and align boat paddles with vanilla
sandexzx Jul 17, 2026
a8e7d4e
fix(entities): align remote boat passenger rotation
sandexzx Jul 18, 2026
109fdf6
chore: format prittier
sandexzx Jul 18, 2026
da40fa9
fix(entities): remove local vehicle rotation lag
sandexzx Jul 31, 2026
c21e4da
feat(entities): animate horse head with vanilla gait
sandexzx Jul 31, 2026
8d73b95
fix(horse): correct head pose pitch sign for OBJ rig
sandexzx Jul 31, 2026
8bdd229
fix(entities): sync local horse yaw with camera each frame
sandexzx Jul 31, 2026
a9cdb19
chore: format Prittier
sandexzx Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/graphicsBackend/appViewer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ import type {
GraphicsInitOptions,
DisplayWorldOptions,
RendererReactiveState,
NonReactiveState
NonReactiveState,
UpdateCameraOptions
} from './types'
import { WorldView, WorldProvider, WorldViewWorker } from '../worldView'
import { getInitialPlayerState } from './playerState'
Expand Down Expand Up @@ -273,8 +274,8 @@ export class AppViewer {
/**
* Update camera position and rotation.
*/
updateCamera(pos: Vec3 | null, yaw: number, pitch: number): void {
this.backend?.updateCamera(pos, yaw, pitch)
updateCamera(pos: Vec3 | null, yaw: number, pitch: number, options?: UpdateCameraOptions): void {
this.backend?.updateCamera(pos, yaw, pitch, options)
}

/**
Expand Down
5 changes: 4 additions & 1 deletion src/graphicsBackend/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ import { ResourcesManagerTransferred } from '../resourcesManager'
import { WorldViewWorker } from '../worldView'
import { Vec3 } from 'vec3'
import { WorldRendererConfig } from './config'
import type { UpdateCameraOptions } from '../three/entity/interpolationPolicy'

export type { CameraMovementMode, UpdateCameraOptions } from '../three/entity/interpolationPolicy'

// ============================================================================
// Graphics Backend Configuration
Expand Down Expand Up @@ -134,7 +137,7 @@ export interface GraphicsBackend {
startWorld(options: DisplayWorldOptions): Promise<void>
disconnect(): void
setRendering(rendering: boolean): void
updateCamera(pos: Vec3 | null, yaw: number, pitch: number): void
updateCamera(pos: Vec3 | null, yaw: number, pitch: number, options?: UpdateCameraOptions): void
soundSystem?: any
backendMethods?: any
getDebugOverlay?(): { entitiesString?: string; left?: Record<string, string>; right?: Record<string, string> }
Expand Down
4 changes: 2 additions & 2 deletions src/lib/worldrendererCommon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { subscribeKey } from 'valtio/utils'
import { proxy, subscribe } from 'valtio'
import type { ResourcesManagerTransferred } from '../resourcesManager/resourcesManager'
import { dynamicMcDataFiles } from './buildSharedConfig.mjs'
import { DisplayWorldOptions, GraphicsInitOptions, RendererReactiveState, SoundSystem } from '../graphicsBackend/types'
import { DisplayWorldOptions, GraphicsInitOptions, RendererReactiveState, SoundSystem, UpdateCameraOptions } from '../graphicsBackend/types'
import {
HighestBlockInfo,
CustomBlockModels,
Expand Down Expand Up @@ -709,7 +709,7 @@ export abstract class WorldRendererCommon<WorkerSend = any, WorkerReceive = any>

abstract handleWorkerMessage(data: WorkerReceive): void

abstract updateCamera(pos: Vec3 | null, yaw: number, pitch: number): void
abstract updateCamera(pos: Vec3 | null, yaw: number, pitch: number, options?: UpdateCameraOptions): void

abstract render(): void

Expand Down
Loading
Loading