It's extremely complex for an image format, and many of it's features seem a little out of scope. Not much use for an interactive animated icons, and the scripting bytecode seems inviting a security disaster?
It's extremely complex for an image format, and many of it's features seem a little out of scope. Not much use for an interactive animated icons, and the scripting bytecode seems inviting a security disaster?
It's a series of tags. Things like DefineShape, DefineMorphShape, DefineSprite (Movie Clip), DefineText, DefineBits (image), DefineBitsJPEG2 (jpeg), DefineButton, DefineFont2, PlaceObject2 (placing the shapes onto the stage to define a frame), RemoveObject (removing shapes from the stage),
Then Flash 8 added in graphics filters and blending modes. So movie clips can have filters applied like Blur or Outline, then use Additive blending so that explosions can light up the scene, things like that.
If you want to define a simple graphics format that is limited to one frame, and has no scripting, you could use only tags DefineShape, DefineSprite, and PlaceObject/PlaceObject2 just to place vector objects (without bitmap fills) on a scene. If you want to support the use of bitmap fills, you add in the image tags DefineBits and DefineBitsJPEG/DefineBitsJPEG2.
"proprietary" too, because it is well-documneted.
The subset that is only necessary for vector images, obviously. Nothing beyond a single frame is needed. Since it's a TLV format, renderers can ignore anything they don't need, which includes the interactive and scripting features.
Physical books are obsolete for not changing without your consent every 5 seconds. /s