@openheart/tavio-renderer 2.3.12-with-wasm → 2.3.13-with-wasm

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42275,6 +42275,8 @@ class Core extends EventEmitter {
42275
42275
  animationController;
42276
42276
  pathAnimationLocked = false;
42277
42277
  // パスアニメーション中にsetControlsTypeを無効化するフラグ
42278
+ /** WebGLRenderer.getSize 用(RenderView は論理ピクセル。canvas バッファ実寸とは別) */
42279
+ _rendererLogicalSize = new Vector2();
42278
42280
  /**
42279
42281
  * インスタンスが発火するイベント
42280
42282
  * ※実際には TavioMesh が発火するイベントをリレーする
@@ -43555,21 +43557,21 @@ class Core extends EventEmitter {
43555
43557
  */
43556
43558
  /**
43557
43559
  * ウィンドウのリサイズ処理
43558
- * @param width -
43559
- * @param height - 高さ
43560
+ * @param width - 幅(CSS/論理ピクセル。Three.js setSize にそのまま渡す)
43561
+ * @param height - 高さ(同上)
43560
43562
  * @param start - リサイズと同時に描画を開始するかどうか
43561
43563
  */
43562
43564
  resize(width, height, start = true) {
43563
- this.canvas.width = width ?? window.innerWidth;
43564
- this.canvas.height = height ?? window.innerHeight;
43565
- this.renderer.setSize(this.canvas.width, this.canvas.height);
43565
+ const logicalWidth = width ?? window.innerWidth;
43566
+ const logicalHeight = height ?? window.innerHeight;
43567
+ this.renderer.setSize(logicalWidth, logicalHeight);
43566
43568
  if (this.renderViewMap.size === 1) {
43567
43569
  this.setRenderViewSize(
43568
43570
  this.defaultRenderViewSymbol,
43569
43571
  0,
43570
43572
  0,
43571
- this.canvas.width,
43572
- this.canvas.height
43573
+ logicalWidth,
43574
+ logicalHeight
43573
43575
  );
43574
43576
  }
43575
43577
  if (start === true) {
@@ -44057,8 +44059,8 @@ class Core extends EventEmitter {
44057
44059
  * @param renderViewName - 対象となるレンダービューの名前
44058
44060
  * @param x - 矩形の左下角の横位置
44059
44061
  * @param y - 矩形の左下角の縦位置
44060
- * @param width - 幅(未指定・null 時は canvas の描画幅)
44061
- * @param height - 高さ(未指定・null 時は canvas の描画高さ)
44062
+ * @param width - 幅(論理ピクセル。未指定・null 時は renderer.getSize())
44063
+ * @param height - 高さ(論理ピクセル。未指定・null 時は renderer.getSize())
44062
44064
  * @param start - 同時に描画を開始するかどうか
44063
44065
  */
44064
44066
  setRenderViewSize(renderViewName, x, y, width, height, start = false) {
@@ -44071,8 +44073,9 @@ class Core extends EventEmitter {
44071
44073
  }
44072
44074
  renderView.x = x ?? 0;
44073
44075
  renderView.y = y ?? 0;
44074
- renderView.width = width ?? this.canvas.width;
44075
- renderView.height = height ?? this.canvas.height;
44076
+ this.renderer.getSize(this._rendererLogicalSize);
44077
+ renderView.width = width ?? this._rendererLogicalSize.x;
44078
+ renderView.height = height ?? this._rendererLogicalSize.y;
44076
44079
  renderView.perspectiveCamera.aspect = renderView.width / renderView.height;
44077
44080
  renderView.perspectiveCamera.updateProjectionMatrix();
44078
44081
  this._updateViewportUniforms(renderView);
@@ -44097,9 +44100,12 @@ class Core extends EventEmitter {
44097
44100
  renderView.scene.add(renderView.gaussianGroup);
44098
44101
  renderView.scene.add(renderView.meshGroup);
44099
44102
  renderView.scene.add(renderView.interfaceGroup);
44103
+ this.renderer.getSize(this._rendererLogicalSize);
44104
+ const lw = Math.max(this._rendererLogicalSize.x, 1);
44105
+ const lh = Math.max(this._rendererLogicalSize.y, 1);
44100
44106
  renderView.perspectiveCamera = new PerspectiveCamera(
44101
44107
  PERSPECTIVE_FOV,
44102
- this.canvas.width / this.canvas.height,
44108
+ lw / lh,
44103
44109
  PERSPECTIVE_NEAR,
44104
44110
  Math.max(PERSPECTIVE_FAR, this.maxDistance)
44105
44111
  );
@@ -44111,8 +44117,8 @@ class Core extends EventEmitter {
44111
44117
  renderView.previousPosition = new Vector3(0, 0, 0);
44112
44118
  renderView.previousRotation = new Quaternion();
44113
44119
  renderView.previousFov = 0;
44114
- renderView.width = this.canvas.width;
44115
- renderView.height = this.canvas.height;
44120
+ renderView.width = lw;
44121
+ renderView.height = lh;
44116
44122
  return renderView;
44117
44123
  }
44118
44124
  /**
@@ -183,6 +183,8 @@ export declare class Core extends EventEmitter {
183
183
  console: ConsoleOutput;
184
184
  private animationController;
185
185
  private pathAnimationLocked;
186
+ /** WebGLRenderer.getSize 用(RenderView は論理ピクセル。canvas バッファ実寸とは別) */
187
+ private readonly _rendererLogicalSize;
186
188
  /**
187
189
  * インスタンスが発火するイベント
188
190
  * ※実際には TavioMesh が発火するイベントをリレーする
@@ -513,8 +515,8 @@ export declare class Core extends EventEmitter {
513
515
  */
514
516
  /**
515
517
  * ウィンドウのリサイズ処理
516
- * @param width -
517
- * @param height - 高さ
518
+ * @param width - 幅(CSS/論理ピクセル。Three.js setSize にそのまま渡す)
519
+ * @param height - 高さ(同上)
518
520
  * @param start - リサイズと同時に描画を開始するかどうか
519
521
  */
520
522
  resize(width?: number, height?: number, start?: boolean): void;
@@ -608,8 +610,8 @@ export declare class Core extends EventEmitter {
608
610
  * @param renderViewName - 対象となるレンダービューの名前
609
611
  * @param x - 矩形の左下角の横位置
610
612
  * @param y - 矩形の左下角の縦位置
611
- * @param width - 幅(未指定・null 時は canvas の描画幅)
612
- * @param height - 高さ(未指定・null 時は canvas の描画高さ)
613
+ * @param width - 幅(論理ピクセル。未指定・null 時は renderer.getSize())
614
+ * @param height - 高さ(論理ピクセル。未指定・null 時は renderer.getSize())
613
615
  * @param start - 同時に描画を開始するかどうか
614
616
  */
615
617
  setRenderViewSize(renderViewName?: string | Symbol | null, x?: number, y?: number, width?: number, height?: number, start?: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openheart/tavio-renderer",
3
- "version": "2.3.12-with-wasm",
3
+ "version": "2.3.13-with-wasm",
4
4
  "author": "OpenHeart Inc.",
5
5
  "license": "UNLICENSED",
6
6
  "description": "Rendering Engine for Tavio Format 3D data",