I found an Actionscript 3 function that I wanted to use in my HTML5 project. I had tested it in a Flash project and it worked great. Converting to OpenFl & Haxe was straightforward but it wouldn’t work. I double checked on all the called functions but the API reference for them said “Available on all platforms.”
After hours of debugging, I was able to isolate the line of code that was the problem. It used a call to BitmapData.draw using a ColorTransform with a BlendMode option. The problem was that the BlendMode had no effect. In searching for related issues I came across a reference to Feature Matrix where it said the BlendMode option was ignored in HTML5. Nowhere in the API for any of the related documentation was this included.
How up to date is Feature Matrix?
Why doesn’t the API Reference more fully include the info contained in Feature Matrix?
I wish we had a “strict” mode which threw compile errors. We have a number of non-op polyfills in place in order to help ActionScript code compile but I agree this makes it more difficult (or confusing) if you do hit one of these cases we do not fully support.
Having a a “strict” mode which threw compile errors would help. My concern is the API Reference does not contain the pertinent information. The API Reference for the BitmapData class has several places where it specifies a difference when targeting HTML5. But in the description of the draw function, the description of the blendMode parameter does not mention at all that it is ignored when targeting HTML5.
Also the Feature Matrix page doesn’t seem to have any links to it from anywhere, let alone the API Reference section. I could find no links to it anywhere in the openfl › learn › haxelib › docs tree. I think a link to it should be included of every pertinent class in the API reference!