Skip to content

Commit ba1dc04

Browse files
Fixed presentation transition getting skipped
1 parent aff37b9 commit ba1dc04

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/canvas-extensions/presentation-canvas-extension.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,14 @@ export default class PresentationCanvasExtension extends CanvasExtension {
262262

263263
await sleep(animationDurationMs / 2)
264264

265-
const nextNodeBBoxEnlarged = BBoxHelper.scaleBBox(toNode.getBBox(), animationIntensity)
266-
if (useCustomZoomFunction) CanvasHelper.zoomToBBox(canvas, nextNodeBBoxEnlarged)
267-
else canvas.zoomToBbox(nextNodeBBoxEnlarged)
265+
if (fromNode.getData().id !== toNode.getData().id) {
266+
// Add 0.1 to fix obsidian bug that causes the animation to skip if the bbox is the same
267+
const nextNodeBBoxEnlarged = BBoxHelper.scaleBBox(toNode.getBBox(), animationIntensity + 0.1)
268+
if (useCustomZoomFunction) CanvasHelper.zoomToBBox(canvas, nextNodeBBoxEnlarged)
269+
else canvas.zoomToBbox(nextNodeBBoxEnlarged)
268270

269-
await sleep(animationDurationMs / 2)
271+
await sleep(animationDurationMs / 2)
272+
}
270273
}
271274

272275
let nodeBBox = toNode.getBBox()

src/utils/canvas-helper.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,10 @@ export default class CanvasHelper {
153153
}
154154

155155
static zoomToBBox(canvas: Canvas, bbox: BBox) {
156+
/* const zoomX = canvas.canvasRect.width / (1.1 * (bbox.maxX - bbox.minX))
157+
const zoomY = canvas.canvasRect.height / (1.1 * (bbox.maxY - bbox.minY))
158+
const zoom = Math.clamp(Math.min(zoomX, zoomY), -4, 1) */
159+
156160
const PADDING_CORRECTION_FACTOR = 1 / 1.1
157161
const zoomedBBox = BBoxHelper.scaleBBox(bbox, PADDING_CORRECTION_FACTOR)
158162

0 commit comments

Comments
 (0)