Open3

【ブログ翻訳】PlayCanvas Engineが2.0.0に到達

はがはが

PlayCanvas Engineが2.0.0に到達

本日、PlayCanvas Engineの大きなマイルストーンを迎えました。PlayCanvas Engineは、ウェブ上で何千もの対話型グラフィックアプリやツールを支えるオープンソースのJavaScriptランタイムです。バージョン2.0.0のリリースを発表できることを非常に興奮しています!

詳細については、GitHubをご覧ください:
リリースノート

Engineのメジャーバージョンアップは日常的なことではありません。ここに至るまでの道のりを振り返ってみましょう:

2018年、Engineは1.0.0にバンプされました。これはセマンティックバージョニングに準拠しているからです。セマンティックバージョニングでは以下のように定められています:

ソフトウェアが本番環境で使用されているのであれば、おそらくすでに1.0.0であるべきです。ユーザーが依存する安定したAPIがある場合は、1.0.0であるべきです。後方互換性について多くの心配をしているのであれば、おそらくすでに1.0.0であるべきです。

振り返ってみると、Engineはもっと早く1.0.0に到達していたはずです。長年安定しており、すでに本番環境で広く使用されていたのです!

なぜ2.0.0にアップデートをするのか

セマンティックバージョニングでは、破壊的な変更を導入する際にメジャーバージョンをバンプすると定められています。破壊的な変更の導入を避けるために努力してきたことは控えめに言っても過小評価です。しかし、1.0.0以降、73回のマイナーバージョンと無数のパッチリリースを行ってきました。その過程で、Engineには相当量の「クラフト」が蓄積されていました。

コードベースの一部がEngineの機能を進化させる能力を制限するまでになっていました。そこで、大掃除をすることにしました。🧹 以下は、削除したものの主な内容です:

  • WebGL 1のサポート。 これが最大の変更点です。今日、WebGL 1はサポートしているがWebGL 2はサポートしていないデバイスは2%未満で、この数字はさらに小さくなっていくでしょう。また、WebGL 1のサポートは、WebGPUをサポートするために必要な基盤を構築することを非常に困難にしていました。さようなら、WebGL 1 - 楽しかったよ! 👋

  • Scripts 1.0のサポート。 最初のScriptComponentの実装は、2016年にScripts 2.0が導入された際に非推奨となりました。8年間の非推奨期間を経て、ついになくなりました!現在は、近日中に提供予定の新しいESMベースのスクリプティングシステムの提供に注力しています。

  • AudioSourceComponent。 このコンポーネントは、EngineのSoundComponentの前身でした。AudioSourceComponentは長年非推奨となっていたため、今回削除することにしました。

  • ...その他いくつかのパブリックAPIシンボル。 結果として、より洗練された、コンパクトなコードベースとなり、将来に向けて力強く推進できるようになりました!

プロジェクトが動かなくなったらどうすればいいのか

心配はいりません!今日のリリースは、主にNPMからエンジンを取得する'Engine-only'ユーザーに関係します。これらの開発者は、自分のタイミングで2.0.0にアップグレードし、試すことができます。大多数のプロジェクトは修正なしで更新できるでしょう。

エディタユーザーは、数週間後にEngine 2.0.0にアクセスできるようになります。その時点で、既存のプロジェクトで2.0.0への移行は_オプトイン_となります。Engine 2がエディタで利用可能になってから少なくとも1年間は、エディタでEngine 1.xの最後のリリースをサポートする予定です。これは開発者が移行するのに十分な時間のはずです。新しいプロジェクトは自動的に2.0.0を使用します。エディタユーザーの移行に関する詳細情報は、今後数週間のうちにリリースする予定です。

それまでの間、NPMユーザーの皆様にはEngine 2.0.0を試していただき、できるだけ早くフィードバックをいただきたいと思います。気に入っていただければ幸いです!フォーラムDiscord、またはGitHubで皆様のご意見をお聞かせください。:ear:

新機能

2.0.0リリースは破壊的な変更だけではありません!いくつかの新しいEngineの例を通じて、エキサイティングな新機能を発表します:

以下をチェックしてください:

オープンソースコミュニティへの感謝

素晴らしいオープンソースコミュニティなしでは、ここまで到達できませんでした:

皆様の素晴らしい貢献に感謝します。🙏