残念ながら、私には答えがありませんが、あなたが参照できるプロジェクトへの 3 つの指針があります。
1 つ目は、Sun LabsのDan Ingalls (そう、Dan Ingalls) によるLively Kernelです。SVG の上に JavaScript で Smalltalk Virtual World を実装したものです。より正確には、SVG を使用した Squeak Smalltalk の Morphic GUI フレームワークを JavaScript で実装したものであり、JavaScript で Squeak Smalltalk (の一部) を移植したものです。
または、あなたが Smalltalker ではなく、上記が意味をなさない場合: これは、CPU として JavaScript インタープリター、グラフィックス カードとして SVG、およびコンピューターとしてのブラウザーを備えた JavaScript で記述されたオペレーティング システムです。
JavaScript と SVG に関して言えば、これは極端な例です。また、Internet Explorer への実験的な移植もありますが、完全には Safari 3でしか機能せず、部分的に Firefox 3 でしか機能しません。
2 つ目のプロジェクトは、John Resig による Processing 可視化言語のProcessing.jsポートを JavaScript に移植したものです。<canvas>
あなたが言及した問題のために、SVGの代わりに要素を使用しています。ただし、これは Firefox 3 でのみ機能します。
3 つ目は、Useless PicklesによるJavaScript によるリアルタイム 3Dです。JavaScript、DOM、CSSのみを使用し、 SVGや Flash などは使用しません。また、Internet Explorer 7 以降を含む、ほぼすべてのブラウザーに移植できます。2D を行うことは、これよりもさらに簡単なはずです。<canvas>
これら 3 つのプロジェクトの間で、何らかのインスピレーションを見つけることができるはずです。また、JavaScript と SVG、または JavaScript とグラフィックスの限界を押し上げようとして、何が機能し、何が機能しないかを教えてくれる人を見つけることもできます。
結論: クロスブラウザの SVG またはクロスブラウザを実行<canvas>
することはほとんど不可能ですが、少し狂気のように、SVGを使用せず<canvas>
にクロスブラウザのグラフィックスを実行することは可能です。