К сожалению, у меня нет ответа, но у меня есть три указателя на проекты, которые вы можете посмотреть.
Первым является Живое ядро Дэна Ингаллса (да, Дэн Ингаллс) в Sun Labs. Это реализация виртуального мира Smalltalk на JavaScript поверх SVG. Точнее, это реализация Morphic GUI Framework от Squeak Smalltalk на JavaScript с использованием SVG и порта (частей) Squeak Smalltalk на JavaScript.
Или, если вы не владелец Smalltalker, и вышеперечисленное не имеет для вас смысла: это операционная система, написанная на JavaScript с интерпретатором JavaScript в качестве процессора, SVG в качестве графической карты и браузер в качестве компьютера .
Это настолько экстремально, насколько это возможно, когда дело доходит до JavaScript и SVG. И только полностью работает в Safari 3 и частично в Firefox 3, хотя есть и экспериментальный порт для Internet Explorer.
Второй проект - это порт Processing.js Джона Ресига языка визуализации обработки для JavaScript. Он использует элемент <canvas>
вместо SVG именно из-за проблем, которые вы упомянули. Однако этот работает только в Firefox 3.
Третий - 3D в реальном времени в JavaScript от Useless Pickles. Он использует только JavaScript, DOM и CSS и no SVG или <canvas>
или Flash или что-либо еще. И он переносим практически на любой браузер, включая Internet Explorer 7 и выше. Делать 2D должно быть еще проще, чем это.
Между этими тремя проектами вы сможете найти вдохновение, а также найти людей, которые пытались продвинуться вперед с помощью JavaScript и SVG или JavaScript и графики и могут рассказать вам, что работает, а что нет.
Вывод: создание кросс-браузерного SVG или кросс-браузерного <canvas>
почти невозможно, но с небольшим количеством сумасшествия, кросс-браузерная графика без SVG или <canvas>
возможна.