- 変更履歴
変更履歴
STPファイルビューアの新機能と拡張機能の追跡
主要なバグ修正とパフォーマンス改善
v1.0.7重大なインポートと測定の問題を修正し、ファイル読み込みのパフォーマンスを最大95%最適化
2025/09/02
🔧 クリティカルなシステム修正とパフォーマンスのブレイクスルー
プラットフォームの安定性達成 - 最終的な統合の問題を解決し、注目すべきパフォーマンスの向上を実現:
このリリースは、ユーザーエクスペリエンスに大きな影響を与えていたいくつかの重大な問題に対処しています:
インポート機能の修正
解決された問題: 「初回は動作するが、その後失敗する」という問題を完全に解決
- 根本原因: グローバル
window.OV
オブジェクトがコンポーネントのクリーンアップ中に不適切にクリアされていた - 解決策: グローバルライブラリオブジェクトを保持するためのリソース管理を修正
- 影響: インポートと新規ファイル機能が毎回一貫して動作
- ユーザーエクスペリエンス: プログレスインジケーターを含む完全なアップロードフローを復元
測定ツールの修正
解決された問題: 3Dモデルに測定マーカーが表示されない
- 根本原因: キーボードイベントリスナーが測定ツールの状態と競合
- 解決策:
window.OV
グローバルオブジェクトを使用した直接的な公式APIコールを実装 - 影響: 最初のクリックで測定マーカーが正確に表示
- 技術的詳細: キーボードショートカットとツール有効化の間の状態管理の競合を削除
モバイルのMoreメニュー修正
解決された問題: フルスクリーンモードでモバイルデバイスのMoreメニューボタンが反応しない
- 根本原因: フルスクリーンコンテナとのz-indexレイヤリングの競合
- 解決策: ドロップダウンメニューのz-indexを適切な層(z-10000)に引き上げ
- 影響: モバイルユーザーが全てのツールバー機能にアクセス可能
- 追加の改善: モバイル画面のボタンレイアウトとテキストラベルを最適化
🚨 詳細な開発プロセスとデバッグ記録
最終的な技術的教訓
デバッグ戦略の改善:
- 基本的なチェックを優先: まず最も基本的な問題(オブジェクトの存在、APIの利用可能性)を確認すべき
- 複雑な仮説を避ける: 最初から複雑な原因を想定せず、多くの場合、最も単純な理由が真実である
- 段階的な調査: 一度に1つの変数のみを変更し、問題の根本原因を特定
- 依存関係の深い理解: サードパーティライブラリの読み込みメカニズムと初期化プロセスを注意深く読む
開発のベストプラクティス:
- 公式APIを最優先: 公式APIを優先し、既存の機能の再実装を避ける
- KISS原則: シンプルで直接的な解決策が最も効果的。3行のコードが300行の複雑な実装より優れている
- 段階的な開発: まず最もシンプルなバージョンで実現可能性を検証し、徐々に最適化
- 問題のドキュメント化: デバッグの各試行結果を詳細に記録し、同じ失敗を繰り返さない
性能最適化
ファイル読み込みで著しい性能改善を達成:
ファイル読み込み速度
結果: すべてのファイルサイズで60-95%のパフォーマンス改善
ファイルサイズ | 以前 | 現在 | 改善率 |
---|---|---|---|
1MB | 840ms | 39ms | 95.4%高速 |
10MB | 1,380ms | 255ms | 81.5%高速 |
100MB | 6,780ms | 2,415ms | 64.4%高速 |
最適化手法
- I/O削減: 3つのファイル読み取り操作を1つに統合
- Promise最適化: 不要なPromise.resolveラッパーを削除
- 進捗計算: マッピングロジックを簡素化
- メモリ管理: 複数のメモリリークソースを修正
ユーザーエクスペリエンスの改善
- 統一された体験: フルスクリーンと通常モードが同一の動作に
- 一貫性のあるUIフロー: インポートと新規ファイルが完全なアップロード体験を提供
- より良いエラーメッセージ: エラー分類とユーザーフレンドリーな説明を改善
- モバイル最適化: タッチデバイスのレスポンシブデザインを強化
📱 シェア機能の完全な開発履歴とアーキテクチャ進化
FloatingShareBar 三バージョン・アーキテクチャ進化の実践
背景: ユーザーニーズに基づき左側に浮動シェアツールバーを設立し、三バージョンにわたる重要なアーキテクチャ進化を経験
v1.0: 基本浮動シェアバー・アーキテクチャ(35分実装)
デザイン決定プロセス:
- 位置選択: ページ左端に固定、垂直センター配置 - UXトレードオフ
- プラットフォーム選択: ユーザーグループ分析に基づき、7つのコアソーシャルプラットフォームを決定
- レスポンシブ戦略: デスクトップ表示(
lg:block
)/モバイル非表示 - デザイントレードオフ
技術実装の課題:
/* 固定位置決めとレイヤー管理 */
.floating-share-bar {
position: fixed;
left: 1rem;
top: 50%;
transform: translateY(-50%);
z-index: 40; /* 重要なレイヤー設計 */
}
主要技術決定:
- React-Share統合: 独自シェア機能ではなく成熟したライブラリを選択
- アイコン設計: 40px円形ソーシャルアイコンのユーザビリティ最適化
- ホバー効果:
scale(1.1)
インタラクティブフィードバック設計
v1.1: Moreボタンとダイアログ統合(35分高速対応)
ユーザーニーズ駆動:
- 問題: 基本7プラットフォームではユーザーの多様なシェアニーズを満たせない
- 解決アプローチ: 完全シェアダイアログに接続する"More"ボタンを追加
- ユーザーエクスペリエンスフロー: 高速シェア + 完全選択のダブル体験
技術実装の複雑性:
// 状態管理の課題
const [showMoreDialog, setShowMoreDialog] = useState(false);
// Moreボタンの特別処理
const platforms = [
// ... 既存7プラットフォーム
{
name: 'More',
isMore: true,
onClick: () => setShowMoreDialog(true)
}
];
統合の課題:
- コンポーネント通信: FloatingShareBarとSimpleShareDialog間の状態同期
- 視覚的一貫性: Moreボタンとソーシャルアイコンの統一デザイン
- z-index管理: ダイアログの適切なレイヤー表示を保証
v1.2: アーキテクチャレイヤー問題の根本解決(30分修正)
問題診断プロセス:
問題症状: FloatingShareBarがメインページに表示されない
アーキテクチャ分析: FloatingShareBarがViewerView内部に配置されている
状態依存: ViewerViewはloading/viewing状態でのみレンダリング
メインページ状態: STPViewerのデフォルトはupload状態、UploadViewを表示
根本原因: FloatingShareBarが間違ったコンポーネントレイヤーにある
現在のアーキテクチャ問題:
メインページ → HeroSection → HeroStpViewer → STPViewer
├── upload状態 → UploadView(FloatingShareBarなし)❌
├── loading状態 → ViewerView(FloatingShareBarあり)✅
└── viewing状態 → ViewerView(FloatingShareBarあり)✅
解決アーキテクチャ:
STPViewer(新しいFloatingShareBarレイヤー)
├── upload状態 → UploadView + FloatingShareBar ✅
├── loading状態 → ViewerView + FloatingShareBar ✅
└── viewing状態 → ViewerView + FloatingShareBar ✅
重要なコード修正:
// src/components/stp-viewer/stp-viewer.tsx
return (
<div className={cn('stp-viewer-container', className)}>
{/* 状態関連のメインコンテンツ */}
{renderContent()}
{/* グローバル浮動シェアツールバー */}
<FloatingShareBar file={viewerState.file} />
</div>
);
SimpleShareDialogの実用的開発知恵
UI一貫性問題の系統的発見
比較分析手法: メインページモード vs フルスクリーンモードの系統的比較により機能不一致を発見:
機能 | メインページモード | フルスクリーンモード | ステータス |
---|---|---|---|
New File | ✅ | ✅ | 一貫 |
Screenshot | ✅ | ✅ | 一貫 |
Share | ❌ 欠落 | ✅ | 不一致 |
コードレベル分析:
// viewer-view.tsx:730-766 - メインページツールバー
const toolbarButtons: ToolbarButton[] = [
{ id: 'new-file', /* ... */ },
{ id: 'screenshot', /* ... */ },
// ❌ Shareボタンが欠落
];
// FullscreenToolbar.tsx:132-139 - フルスクリーンモードツールバー
const secondaryTools: ToolbarButton[] = [
{
id: 'share',
label: t('toolbar.share'),
// ✅ 存在するが機能未実装
},
];
React-Share技術調査のリアリズム
技術限界の深い発見:
// ✅ React-Share実際の能力
- リンクシェア: 全プラットフォームがURL共有をサポート
- テキストコンテンツ: タイトル、説明等のテキストパラメータをサポート
- ソーシャルプラットフォームリダイレクト: プラットフォームの公式シェアページを開く
- ゼロ外部依存: サードパーティSDK読み込み不要
// ❌ React-Share技術限界
- ローカルファイル共有サポートなし: スクリーンショット、文書を直接共有できない
- 画像アップロードサポートなし: メインストリームプラットフォームは直接画像アップロードを不サポート
- パブリック画像URLのみサポート: 少数プラットフォームがパブリックアクセス可能な画像リンクを要求
- バックエンド機能なし: ファイルアップロード、短縮URL生成を処理できない
開発計画のリアリスティック調整:
- 理想計画: 5日、複雑アーキテクチャ、マルチコンポーネント設計
- リアリスティック調整: 1.5日、シングルコンポーネント設計、ゼロ技術リスク
- キー決定: 非現実的機能妄想を放棄、実現可能ソリューションに集中
- アーキテクチャ簡素化: SimpleShareDialogコンポーネントのみ作成
最小アーキテクチャの設計知恵
コンポーネント戦略:
src/components/stp-viewer/
├── shared/
│ └── SimpleShareDialog.tsx # 統一シェアダイアログ(唯一のコンポーネント)
├── viewer-view.tsx # Shareボタン追加
└── fullscreen/
└── FullscreenToolbar.tsx # 実際のシェア機能接続
設計原則の実践:
- 単一コンポーネント作成: 過剰エンジニアリングを回避
- 新Hook作成なし: コンポーネント内で直接ロジック実装
- 既存状態再利用: グローバルストア拡張ではなくローカル状態使用
- プラットフォーム優先度: Tier1/2/3リアリスティック階層戦略
シェア機能45分高速拡張実践
問題の精密診断
問題1: disabledボタンロジックエラー
// エラーロジック
{
id: 'share',
disabled: !isViewerReady, // ❌ ページリンクシェアはモデル読み込み待機不要
}
// 正しいロジック
{
id: 'share',
disabled: false, // ✅ ページシェア機能は常に利用可能であるべき
}
根本原因分析:
- 技術エラー: モデル読み込み前の
isViewerReady
がfalse
- 論理エラー: ページリンクシェア機能は3Dモデル状態に依存すべきでない
- ユーザー影響: メインページでシェア機能が完全に使用不可
問題2: 不十分なプラットフォームサポートへの高速対応
- ユーザーフィードバック: 4プラットフォームのみサポート(Twitter、Facebook、LinkedIn、Email)
- 拡張ニーズ: より多くの人気ソーシャル・コミュニケーションプラットフォームのサポート希望
- 技術実現可能性: react-shareライブラリは20+プラットフォームをサポート
45分三段階実装フロー
第一段階: 基本修正(15分)
// src/components/stp-viewer/viewer-view.tsx:754
- disabled: !isViewerReady,
+ disabled: false,
第二段階: プラットフォーム拡張(20分)
// 6つの新メインストリームプラットフォーム追加
const newPlatforms = [
'WhatsApp', // 世界最大のインスタントメッセージングアプリ
'Telegram', // 技術ユーザーグループに好まれる
'Reddit', // 技術コミュニティの主要シェアプラットフォーム
'Pinterest', // ビジュアルコンテンツシェア、3Dモデルに適合
'Weibo', // 中国ユーザーの主要ソーシャルプラットフォーム
'Line', // アジア地域で人気のコミュニケーションアプリ
];
第三段階: 体験最適化(10分)
- レイアウト調整: 2x2グリッドから3x3グリッドに拡張
- 国際化サポート: 新プラットフォームの中英表示名
- モバイル適応: 小画面デバイスでの表示効果保証
重要開発経験まとめ
アーキテクチャ進化の重要性:
- レイヤー選択: 適切なレイヤーにコンポーネントを配置することが特定機能最適化より重要
- 状態依存: 過度な状態依存は予期しない機能制限を招く
- プログレッシブ拡張: 基本機能から完全機能への段階的開発がより安定
リアリスティック技術選択:
- 能力境界: サードパーティライブラリの実際の能力と限界の深い理解
- 計画調整: 技術現実に基づく開発計画調整が理想ソリューション固執より賢明
- アーキテクチャ簡素化: 単一コンポーネント設計は複雑アーキテクチャより効果的なことが多い
高速対応開発能力:
- 問題診断: 問題根本原因の精密特定の重要性
- 時間管理: 合理的段階分割が開発効率を向上
- ユーザー指向: ユーザーフィードバックに基づく高速反復の価値
このシェア機能開発履歴はアーキテクチャ進化から技術選択まで、問題診断から高速修復までの完全な開発知恵を示し、チームにとって貴重な実践経験を蓄積した。
次のステップ
- 性能メトリクスの継続的な監視
- 改善されたワークフローに関するユーザーフィードバックの収集
- モバイル最適化の追加計画
- 大容量ファイルの段階的読み込みの検討
パフォーマンス最適化
v1.0.6主要なコードクリーンアップとパフォーマンス改善、18秒の読み込み性能を維持
2025/08/28
🧹 コード品質とアーキテクチャの改善
長期的な安定性のための基盤の強化 - 包括的な機能セットを最適化:
包括的なクリーンアップと最適化による保守性とパフォーマンスの向上:
- デッドコードの削除: モバイルツールバー.tsxを含む未使用コード約400行を削除
- インポートのクリーンアップ: 複数のコンポーネント全体で未使用のインポートを修正
- メモリリーク修正: イベントリスナー、タイマー、WebGLリソースのリークを解決
- 状態管理: 不要な再レンダリングを減らすためのスマートなグループ化
エラーハンドリングの強化
- インテリジェントなエラー分類: より良いユーザーフィードバックのためのcategorizeError関数を追加
- 具体的なエラータイプ: メモリエラー、WebGLエラー、ファイル検証エラー
- ユーザーフレンドリーなメッセージ: 英語と中国語での明確なエラー説明
パフォーマンス結果
- 読み込み時間: 14.6MBのSTEPファイルで18秒の読み込み性能を維持
- コード削減: 約400行のコードを削除
- メモリ最適化: 複数のメモリリークソースを修正
- 安定性: エラーハンドリングとリソースクリーンアップを強化
技術的実装
- スマート状態グループ化: 最適なレンダリングのためのコア状態とUI状態の分離
- リソース管理: WebGLリソースのクリーンアップとObjectURLハンドリングの改善
- 型安全性: 適切な分類によるTypeScriptエラーハンドリングの強化
- KISSの原則: より良い保守性のための実装の簡素化
プログレスコールバックの調査
- 研修完了: Online3DViewerソースコードのプログレスコールバック分析
- 実装を試みる: メソッドオーバーライドアプローチが深刻な性能低下を引き起こす(18秒 → 60秒以上)
- 状態: パフォーマンスへの影響により延期 - ユーザーエクスペリエンスを優先
- 学習: サードパーティライブラリの内部メソッドをオーバーライドしない
開発ガイドライン
- 機能追加よりもパフォーマンスを優先
- サードパーティライブラリの内部メソッドをオーバーライドしない
- KISSの原則: シンプルな実装がより安定
- 18秒の読み込み時間が主要な性能指標
最適化の哲学
パフォーマンス第一のアプローチ
-
不要なコードの排除
- 使用されていないインポートと関数の徹底的な削除
- コードベースの軽量化
-
リソース管理の最適化
- WebGLリソースの効率的なクリーンアップ
- メモリリークの積極的な防止
-
状態管理の再設計
- 不要な再レンダリングの最小化
- コンポーネントの状態ライフサイクルの効率的な管理
将来の最適化方向
- より詳細なパフォーマンスプロファイリング
- WebGLレンダリングの継続的な最適化
- ユーザーエクスペリエンスを損なわない効率的なコード実装
モデル構造エクスプローラ + スマートモバイルインターフェース
v1.0.4プロフェッショナルなモデルツリーナビゲーションと、デバイス固有の操作ガイド
2025/08/27
🌲 モデル構造エクスプローラ
複雑なSTEPアセンブリを管理可能で、ナビゲート可能なコンポーネントに変換する、階層的モデルナビゲーションの革命。
インタラクティブモデルツリー
- 階層的ナビゲーション: 展開/折りたたみ可能なノードを持つ完全なアセンブリ構造
- コンポーネント分離: クリックして特定の部品またはアセンブリに焦点を当てる
- 表示制御: 個々のコンポーネントまたは全サブアセンブリの表示/非表示
- スマートフィルタリング: 名前、タイプ、またはプロパティによるコンポーネントの検索とフィルタリング
プロフェッショナル機能
- アセンブリ分析: 複雑な複数部品のSTEPファイル構造の理解
- コンポーネントプロパティ: 各モデルコンポーネントの詳細情報の表示
- 選択同期: ツリー選択に応じた3Dジオメトリのハイライト
- コンポーネント別エクスポート: 個々の部品または選択したアセンブリのエクスポート
高度なナビゲーション
- コンポーネントにズーム: 選択したコンポーネントを3Dビューに自動的にフレーミング
- ハイライトシステム: ホバー/選択したコンポーネントの視覚的ハイライト
- ネストされたアセンブリサポート: 深くネストされたアセンブリ階層の処理
- パフォーマンス最適化: 複雑なモデルでもスムーズな操作
📱 スマート操作ガイド適応
インテリジェントなデバイス認識インターフェースで、状況に応じた操作ガイドを提供:
- デバイス検出: タッチデバイスを自動検出し、操作ガイドを切り替え
- モバイルジェスチャー: 1本指回転、ピンチでズーム、2本指でパン
- デスクトップ操作: マウスドラッグ、スクロールホイールズーム、キーボードショートカット
- アイコン最適化: モバイル用タッチアイコン、デスクトップ用マウスアイコン
技術的実装
- レスポンシブ検出:
useResponsive
フックによるデバイス検出 - ネイティブサポート: Online3DViewerのタッチインタラクションに基づく
- 国際化: 中国語と英語のヒントをサポート
- コンポーネント分離: 独立した操作ガイドコンポーネント
ユーザーエクスペリエンス改善
- モバイルで「左マウスボタン」のヒントが表示されなくなりました
- タッチデバイス用のジェスチャー説明に一致
- 手動切り替えなしでインターフェース自動適応
- 小さな画面デバイス用に最適化された表示
バグ修正
- モバイルユーザーのデスクトップ操作ヒント混乱を解決
- タッチデバイスの操作経験を改善
- 異なるデバイス間でユーザーインターフェースのスタイルを統一
(以下略)
モバイルツールバーの最適化
v1.0.5長いファイル名圧縮の問題を修正し、モバイルレイアウトを改善
2025/08/27
📱 モバイルレイアウトの強化
タッチデバイスでの高度な機能を完璧に動作させるためのプロフェッショナルなモバイル体験の最適化:
長いファイル名によりツールボタンが圧縮される問題を解決:
- レスポンシブファイル名: モバイルでは120px制限、デスクトップでは200pxを維持
- 情報の簡略化: モバイルでファイル拡張子を非表示、重要な情報のみ表示
- ボタンの最適化: スペースを空けるために非本質的なボタンを非表示
- 間隔調整: コンパクトなボタン間隔により、すべての機能ボタンを適切に表示
ユーザーエクスペリエンスの改善
- 長いファイル名の処理: ホバー時に完全な名前を表示する自動切り捨て
- 拡張ツールチップ: モバイルデバイスで詳細なボタン説明を表示
- スペースの活用: 3D表示エリアを最大化し、ツールバーのフットプリントを最小化
- レスポンシブデザイン: 異なる画面サイズに最適なレイアウトに自動適応
技術的実装
- Tailwind CSS: 正確なレスポンシブブレイクポイントコントロール
- プログレッシブ拡張: モバイルからデスクトップへの階層的デザイン
- スペース管理: インテリジェントな表示/非表示戦略
- 機能の保持: すべてのコア機能をデバイス間でアクセス可能に
解決された問題点
- 長いファイル名による全画面表示ボタンの切り捨て問題を修正
- 小さな画面デバイスでのツールバーレイアウトを改善
- タッチデバイス上のボタンの間隔と操作性を向上
- 重要な機能ボタンの表示と操作を確保
レイアウト最適化の技術的詳細
モバイル表示の課題
- 画面幅の制約: 限られたスペースでの情報表示
- タッチ操作の要件: 小さなボタンでも正確なタップを可能に
実装戦略
-
動的スペース配分
- ファイル名長さに応じて動的にボタンサイズを調整
- 重要な機能ボタンの優先順位付け
-
インテリジェント情報表示
- 省略表示と完全表示の切り替え
- コンテキストに応じた情報の詳細度調整
-
パフォーマンス最適化
- CSS Grid and Flexboxを活用したレスポンシブレイアウト
- 最小限のCSSオーバーヘッド
- リフロー(再レイアウト)コストの最小化
モバイル対応の将来の方向性
- さらなるジェスチャーサポートの拡張
- より高度な適応的UIコンポーネント
- デバイス特性に基づくダイナミックな最適化
インポート/エクスポートシステム + マテリアルエディタ + テーマ修正
v1.0.317のインポート/10のエクスポート形式による普遍的なファイル変換と高度なマテリアル編集
2025/08/26
💾 普遍的なインポート/エクスポートシステム
最も包括的なオンライン3Dファイルコンバーターを確立する革新的なファイル形式サポート。
広範なインポートサポート(17形式)
CAD形式: STEP, IGES, BREP, OCCT
メッシュ形式: STL, OBJ, OFF, PLY, 3DS
モダン形式: GLTF/GLB, FBX, DAE, 3DM
業界形式: IFC, BIM, FCStd, SVG
プロフェッショナルエクスポートオプション(10形式)
- STLエクスポート: ASCII とバイナリ形式の3Dプリンティング対応
- OBJエクスポート: MTLマテリアルファイル付きの汎用互換性
- GLTF/GLB: モダンなWeb最適化3D形式
- PLY/OFF: 研修および科学的アプリケーション
- 3DM/BIM: プロフェッショナルCADと建築ワークフロー
エクスポートの卓越性
- 形式固有のオプション: 各エクスポート形式のカスタマイズ可能な設定
- 品質管理: 精度設定と最適化オプション
- バッチ処理: 単一インポートからの複数形式エクスポート
- モバイルサポート: すべてのデバイスでの完全なエクスポート機能
🎨 高度なマテリアルシステム
プロフェッショナルなマテリアル編集と可視化機能:
マテリアルエディタ
- 色のカスタマイズ: RGBカラーピッカーとリアルタイムプレビュー
- 透明度コントロール: 精密な不透明度調整
- マテリアルプロパティ: メタリック、粗さ、表面仕上げコントロール
- ライブプレビュー: マテリアル編集中の即時ビジュアルフィードバック
環境システム
- 6つの環境マップ: プロフェッショナルHDRIライティングプリセット
- 背景コントロール: カスタム背景色とグラデーション
- ライティングコントロール: 高度な環境光と指向性光
- レンダリング品質: パフォーマンス最適化のための複数品質プリセット
🌈 テーマ統合修正
重要なユーザーエクスペリエンスの問題を解決:
- 3Dビューアテーマ同期: ウェブサイトテーマ切り替えと3Dビューア背景の同期問題を修正
- 視覚的一貫性: すべてのインターフェース要素でライト/ダークモードの一貫性を確保
- SetBackgroundColorAPI: Online3DViewerの背景色設定メソッドを最適化
- 型安全性: TypeScriptの互換性の問題を型アサーションで解決
(以下略)
フルスクリーンアーキテクチャの基盤
v0.1.0革新的なフルスクリーンモードフレームワーク - STP Viewerをプロ向け3D CADプラットフォームに変革
2025/08/25
🚀 革新的アーキテクチャの始動
このマイルストーンは、STP Viewerを単純なファイル閲覧ツールからプロフェッショナル級の3D CAD可視化プラットフォームへと変革する出発点です。オンライン上で最も包括的なSTEPファイル表示体験を作り上げました。
🏗️ フルスクリーンモードフレームワーク
コアアーキテクチャの実装
プログレッシブ機能戦略:2層の体験設計
- 通常モード: 愛されてきたシンプルさを維持(アップロード、表示、スクリーンショット、フルスクリーン)
- フルスクリーンモード: プロ向けCADレベルの機能を解放
インフラコンポーネント
- ✅ モジュラーコンポーネントアーキテクチャ: シンプルな機能と高度な機能の明確な分離
- ✅ 状態管理システム: フルスクリーン専用の機能向けZustandベースのストア
- ✅ レスポンシブレイアウトエンジン: すべてのデバイスでシームレスに動作する適応的UI
- ✅ ツールシステム基盤: プロ向けCADツールの拡張可能なフレームワーク
技術的基盤
// 新しいコンポーネント構造
src/components/stp-viewer/
├── fullscreen/ # プロ向けツール(遅延読み込み)
├── panels/ # 折りたたみ可能なナビゲーションパネル
└── hooks/ # 3Dビューアー統合用カスタムフック
(以下略)
プロフェッショナル測定システム + インターフェース最適化
v1.0.2革新的な精密測定ツール - 距離、角度、平行面の測定
2025/08/20
📏 プロフェッショナル測定革命
業界水準の測定機能を導入し、STP ビューアを精密分析ツールに変革。このリリースは、ブラウザベースの3D可視化に業界標準のCAD測定精度をもたらします。
包括的測定スイート
- 点間距離: 任意の2点間の精密な直線距離測定
- 平行面距離: 平行面間の正確な距離計算
- 角度測定: エッジ、面、ベクトル間の角度測定
- マルチユニット対応: mm、cm、m、インチの単位と賢明な変換
プロフェッショナル機能
- リアルタイム結果: フローティングパネルでの即時測定表示
- 測定履歴: 保存・エクスポート可能な完全な測定記録
- 視覚マーカー: 測定の明確さのための3Dマーカーと寸法線
- 精度コントロール: プロ向けCADツールに匹敵するサブミリメートルの精度
モバイル対応
- タッチ最適化: モバイル測定ワークフローに最適なタッチ操作
- レスポンシブインターフェース: すべての画面サイズに適応する測定UI
- ジェスチャーサポート: ピンチズームや自然なタッチ測定インタラクション
🎯 製品最適化
測定システムに沿った焦点を絞った改善:
- STEP形式に注力: IES形式のサポートを削除し、STEP (.stp/.step) ファイルの最適化に集中
- ユーザーレビューシステム: ユーザー証言の表示とフィードバックシステムの追加
- 使用ガイド: 新規ユーザー向けの3ステップ使用ガイドを追加
- 技術仕様: 詳細な技術仕様とパフォーマンス指標を追加
インターフェース改善
- ホームページリデザイン: SaaSベストプラクティスに基づくページレイアウトの最適化
- レスポンシブ強化: モバイルとタブレットでのユーザーエクスペリエンス改善
- ブラウザ互換性: ブラウザ互換性情報ページの追加
- 国際化改善: 中国語と英語版間の翻訳の一貫性向上
(以下略)
プロフェッショナルな視点制御システム + パフォーマンスブースト
v1.0.1革新的な3Dナビゲーション - 6つのプリセット視点、投影モード、30%高速読み込み
2025/08/15
🎯 プロフェッショナル視点制御の革新
3Dナビゲーションを基本的なパンとズームから、プロ向けCADレベルの視点制御に変革します。このリリースは、デスクトップCADアプリケーションに匹敵する業界標準の視点管理機能を提供します。
6つの標準視点
- 前面/背面/左面/右面: 高度な解析のための完璧な配置
- 上面/底面: 平面および裏面の検査機能
- ワンクックアクセス: 各視点に最適なカメラ位置と適切な上向きベクトル方向を設定
高度な投影システム
透視投影(デフォルト)
- 現実的な奥行き感と適切な短縮表現
- プレゼンテーションと一般的な可視化に最適
正投影(プロフェッショナル)
- 歪みのない正確な縮尺の技術図面
- 測定と技術分析に完璧
- エンジニアリング文書の業界標準
スマートカメラナビゲーション
- ウィンドウに合わせる: 最適なズームと位置を自動計算
- 上向きベクトル管理: Y軸またはZ軸の上向き方向切り替え
- ナビゲーションモード: 固定軌道vs自由ナビゲーションオプション
- モバイルエクセレンス: タッチ最適化ジェスチャーコントロール
(以下略)
STP Viewer 初期リリース
v1.0.0STEPフォーマット3Dプレビュー機能を持つオンラインSTPファイルビューアーの最初のバージョン
2025/08/01
コア機能
以下のコア機能を持つSTP Viewerの最初のバージョンをリリースできることを嬉しく思います:
- STEPファイルサポート: .stpおよび.stepフォーマットファイルのアップロードと解析
- リアルタイム3Dプレビュー: WebGLベースの高性能3Dモデルレンダリング
- ファイル検証: スマートファイルフォーマット検出と整合性検証
- レスポンシブデザイン: モバイルおよびデスクトップデバイスへの完美な適応
- テーマ切り替え: ライトおよびダークテーマモードのサポート
技術的特徴
- 優秀なパフォーマンスのNext.js 15およびReact 18で構築
- 複雑なCADモデルをサポートするOnline3DViewerエンジンの統合
- 完全な国際化サポート(中国語/英語)
- 主流のモダンブラウザでのブラウザ互換性最適化
パフォーマンス仕様
- サポートファイルサイズ: 1KB - 50MB
- ロード時間: 小さなファイル < 1.5秒
- メモリ使用量: ベース < 50MB