Re: About Statege3D in Flex
Hi, many thanks to all responses. Very useful info, thoughts and discussion. As we learn and think about new enhancements and evolutions of the actual flex sdk, more difficult is to get viable solutions that make it backwards compatible with the existing codebase of flex projects. I'd like the idea of actual SDK going Stage3D but I think we would end with a frankenstein that breaks compatibility and that will defeat the effort. For what you guys sugest here, it seems that the best place to try to get Stage3D support is in FlexJS. So we could try to introduce Starling here and setup the initial bricks and see how far we reach, due to the fact that FlexJS SWF version is already very basic, and hope that the projects that Om mentioned would come by the way at some time in the future. This will make FlexJS even more desirable since we well get HTML output and SWF GPU. I'll make more research about this topic in the following weeks as time permits and will report if I get something valuable. 2013/7/10 jude flexcapaci...@gmail.com Hi Carlos, On first and second and third glance there seems to be a couple of ways to go about this. 1. Replace Flash Display List with Starling Display List at compile time. We would create an alternative set of classes that had the same method and property signature as DisplayObjects and DisplayObjectContainers. Any instances where flash.display.DisplayObject was declared would have to be replaced by starling.display.DisplayObject. This could be done in the compiler and set with a flag. This may be a lot of work or a 80 / 20 type of thing. Where 80% is free off the bat and we spend much more time getting the remaining 20%. It depends on how much Starling matches API wise. A simple DisplayTree test such as Om suggested would give an initial idea of the amount of work. The cons are that it would require compiler work and the classes to match 1:1. Although, we may be able to do a search and replace of the SWF after the fact rather than at compile time. Jangeroo may be doing something like this for replicating drawing calls on the JavaScript side. 2. Create an abstraction layer for rendering. At startup register the class you want to use for rendering in the SingletonManager. All visual calls would go through that at their last step. The pros are a hot swappable rendering layer and possibly little to no compiler work. This would require tens of thousands of lines of code changes and may introduce complexity in testing and debugging. 3. Add in a flag at native display list junction points to proxy drawing to the Starling DisplayList. All display objects are added by addChild call. So in the root base class right before native call we check for a preferred rendering target. /** * @private * This method allows access to the Player's native implementation * of addChild(), which can be useful since components * can override addChild() and thereby hide the native implementation. * Note that this base method is final and cannot be overridden, * so you can count on it to reflect what is happening at the player level. */ mx_internal final function $addChild(child:DisplayObject):DisplayObject { return FlexGlobals.toStarling ? FlexGlobals.starling.addChild(this, child) : super.addChild(child); } The cons to this are many including possibly duplicate display list, dispatching events, etc. The graphics calls would also have to be patched and have to be done in skins and it's unclear how to handle FXG etc. This would be more of a test than a long term solution but would have smaller bite size steps and immediate results. I also bring up this option because, for me, in big projects like this the ability to see small incremental results usually inspires me to continue it to the next step. My two cents On Wed, Jul 10, 2013 at 11:38 AM, Carlos Rovira carlosrov...@apache.org wrote: Hi, from time to time people comes with the desire to see Flex running on Stage3D. I would want to recopile all the state of the art info about this topic and see if is possible and how much work it would require. I know people like J.Campos did two attempts and get valious research from that experience. There's things to get into account like accessibility. Please could people share in this thread the things they know in order to recopile all info? Is there some things to take into account that could make Stage3D not possible for Flex? Could we overpass it and make it possible? If it would be possible...it will brings real benefits? If some work is done in this topic, I'd propose to make focused in this particular thing and unlike FlexJS, here I will not try to break UIComponent in small parts, or break compatibility. Even if it could be possible to have a global flag like enableStage3D to make our apps run on Stage3D if is true or remain in normal
Re: About Statege3D in Flex
One thing you need to worry about when using starling is that the eventdispatcher api is different. Starling does not allow 'weakl isteners' or more accurately, only allows them. Meaning the method signature is different. On 11 Jul 2013 18:27, Carlos Rovira carlos.rov...@codeoscopic.com wrote: Hi, many thanks to all responses. Very useful info, thoughts and discussion. As we learn and think about new enhancements and evolutions of the actual flex sdk, more difficult is to get viable solutions that make it backwards compatible with the existing codebase of flex projects. I'd like the idea of actual SDK going Stage3D but I think we would end with a frankenstein that breaks compatibility and that will defeat the effort. For what you guys sugest here, it seems that the best place to try to get Stage3D support is in FlexJS. So we could try to introduce Starling here and setup the initial bricks and see how far we reach, due to the fact that FlexJS SWF version is already very basic, and hope that the projects that Om mentioned would come by the way at some time in the future. This will make FlexJS even more desirable since we well get HTML output and SWF GPU. I'll make more research about this topic in the following weeks as time permits and will report if I get something valuable. 2013/7/10 jude flexcapaci...@gmail.com Hi Carlos, On first and second and third glance there seems to be a couple of ways to go about this. 1. Replace Flash Display List with Starling Display List at compile time. We would create an alternative set of classes that had the same method and property signature as DisplayObjects and DisplayObjectContainers. Any instances where flash.display.DisplayObject was declared would have to be replaced by starling.display.DisplayObject. This could be done in the compiler and set with a flag. This may be a lot of work or a 80 / 20 type of thing. Where 80% is free off the bat and we spend much more time getting the remaining 20%. It depends on how much Starling matches API wise. A simple DisplayTree test such as Om suggested would give an initial idea of the amount of work. The cons are that it would require compiler work and the classes to match 1:1. Although, we may be able to do a search and replace of the SWF after the fact rather than at compile time. Jangeroo may be doing something like this for replicating drawing calls on the JavaScript side. 2. Create an abstraction layer for rendering. At startup register the class you want to use for rendering in the SingletonManager. All visual calls would go through that at their last step. The pros are a hot swappable rendering layer and possibly little to no compiler work. This would require tens of thousands of lines of code changes and may introduce complexity in testing and debugging. 3. Add in a flag at native display list junction points to proxy drawing to the Starling DisplayList. All display objects are added by addChild call. So in the root base class right before native call we check for a preferred rendering target. /** * @private * This method allows access to the Player's native implementation * of addChild(), which can be useful since components * can override addChild() and thereby hide the native implementation. * Note that this base method is final and cannot be overridden, * so you can count on it to reflect what is happening at the player level. */ mx_internal final function $addChild(child:DisplayObject):DisplayObject { return FlexGlobals.toStarling ? FlexGlobals.starling.addChild(this, child) : super.addChild(child); } The cons to this are many including possibly duplicate display list, dispatching events, etc. The graphics calls would also have to be patched and have to be done in skins and it's unclear how to handle FXG etc. This would be more of a test than a long term solution but would have smaller bite size steps and immediate results. I also bring up this option because, for me, in big projects like this the ability to see small incremental results usually inspires me to continue it to the next step. My two cents On Wed, Jul 10, 2013 at 11:38 AM, Carlos Rovira carlosrov...@apache.org wrote: Hi, from time to time people comes with the desire to see Flex running on Stage3D. I would want to recopile all the state of the art info about this topic and see if is possible and how much work it would require. I know people like J.Campos did two attempts and get valious research from that experience. There's things to get into account like accessibility. Please could people share in this thread the things they know in order to recopile all info? Is there some things to take into account that could make Stage3D not possible for Flex? Could we overpass it and make it
Trying to mavenize project flex-asjs with IntelliJ fails
Hi, I'm trying to create a project in IntelliJ for flex-asjs with mavenized SDK 4.9.1.1447119 But seems that IDEA can't generate Apache Flex SDK from pom.xml. It works for Adobe Flex SDKs but not for Apache Flex. I created a youtrack ticket: http://youtrack.jetbrains.com/issues/IDEA# I'm missing something or it's really a bug? In the ticket I attached a draft of the pom.xml If you get the same error please vote the ticket -- Carlos Rovira
Re: Build failed in Jenkins: flex-sdk_asdoc #75
The Apache build servers are notorious for running out of disk space. It might as well be the OS ran out of page space in this case. Thanks, Om On Wed, Jul 10, 2013 at 8:45 AM, Kessler CTR Mark J mark.kessler@usmc.mil wrote: Are they running multiple Jobs in Jenkins at the same time? -Mark -Original Message- From: Kessler CTR Mark J [mailto:mark.kessler@usmc.mil] Sent: Wednesday, July 10, 2013 11:42 AM To: dev@flex.apache.org Subject: RE: Build failed in Jenkins: flex-sdk_asdoc #75 Well Java is the one being impacted... but something still has too much memory allocated. -Original Message- From: Erik de Bruin [mailto:e...@ixsoftware.nl] Sent: Wednesday, July 10, 2013 11:34 AM To: dev@flex.apache.org Subject: Re: Build failed in Jenkins: flex-sdk_asdoc #75 That would be a Jenkins thing, right? Or a Java thing? Maybe something we can manipulate without having to bother the nice people of builds@a.o? EdB
Re: Trying to mavenize project flex-asjs with IntelliJ fails
It has been answered http://youtrack.jetbrains.com/issue/IDEA-110462 Check my whiteboard (fthomas) to get a model of a pom.xml building for air/swf/swc using FM6 and a recent Apache Flex SDK (replace it by 4.9.1), that's an Air project but still, it might help. -Fred -Message d'origine- From: Carlos Rovira Sent: Thursday, July 11, 2013 10:47 PM To: dev@flex.apache.org Subject: Trying to mavenize project flex-asjs with IntelliJ fails Hi, I'm trying to create a project in IntelliJ for flex-asjs with mavenized SDK 4.9.1.1447119 But seems that IDEA can't generate Apache Flex SDK from pom.xml. It works for Adobe Flex SDKs but not for Apache Flex. I created a youtrack ticket: http://youtrack.jetbrains.com/issues/IDEA# I'm missing something or it's really a bug? In the ticket I attached a draft of the pom.xml If you get the same error please vote the ticket -- Carlos Rovira
Re: Trying to mavenize project flex-asjs with IntelliJ fails
I am still using Flexmojos 3.9+ Flex 4.6+AIR3.1, I want to use the most recent version, it just won't work. I have to exclude old playerglobal.swc and include new version in pom. -Gary On Thu, Jul 11, 2013 at 7:43 PM, Frédéric THOMAS webdoubl...@hotmail.comwrote: It has been answered http://youtrack.jetbrains.com/**issue/IDEA-110462http://youtrack.jetbrains.com/issue/IDEA-110462 Check my whiteboard (fthomas) to get a model of a pom.xml building for air/swf/swc using FM6 and a recent Apache Flex SDK (replace it by 4.9.1), that's an Air project but still, it might help. -Fred -Message d'origine- From: Carlos Rovira Sent: Thursday, July 11, 2013 10:47 PM To: dev@flex.apache.org Subject: Trying to mavenize project flex-asjs with IntelliJ fails Hi, I'm trying to create a project in IntelliJ for flex-asjs with mavenized SDK 4.9.1.1447119 But seems that IDEA can't generate Apache Flex SDK from pom.xml. It works for Adobe Flex SDKs but not for Apache Flex. I created a youtrack ticket: http://youtrack.jetbrains.com/**issues/IDEA#http://youtrack.jetbrains.com/issues/IDEA# I'm missing something or it's really a bug? In the ticket I attached a draft of the pom.xml If you get the same error please vote the ticket -- Carlos Rovira
Re: Trying to mavenize project flex-asjs with IntelliJ fails
The good links can be found here [1] [2], maybe someone would like to add them to the wiki. [1] Find Use FM6: https://oss.sonatype.org/index.html#nexus-search;gav~net.flexmojos.oss~flexmojos-maven-plugin~~~ https://git-wip-us.apache.org/repos/asf?p=flex-utilities.git;a=blob;f=mavenizer/README.txt;h=d962139fb50f787f608a6f84a943355153306edc;hb=HEAD https://flexmojos.atlassian.net/wiki/display/FLEXMOJOS/Flexmojos+6.x [2] Building FM6: https://github.com/chrisdutz/flexmojos https://docs.sonatype.org/display/FLEXMOJOS/Building+Flexmojos+from+sources And as I stated before, you can check my whiteboard (fthomas) to get a model of pom.xml built for air/swf/swc using FM6 and a recent Apache Flex SDK, that's an Air project but still, it might help. -Fred -Message d'origine- From: Gary Young Sent: Friday, July 12, 2013 4:34 AM To: dev@flex.apache.org Subject: Re: Trying to mavenize project flex-asjs with IntelliJ fails I am still using Flexmojos 3.9+ Flex 4.6+AIR3.1, I want to use the most recent version, it just won't work. I have to exclude old playerglobal.swc and include new version in pom. -Gary On Thu, Jul 11, 2013 at 7:43 PM, Frédéric THOMAS webdoubl...@hotmail.comwrote: It has been answered http://youtrack.jetbrains.com/**issue/IDEA-110462http://youtrack.jetbrains.com/issue/IDEA-110462 Check my whiteboard (fthomas) to get a model of a pom.xml building for air/swf/swc using FM6 and a recent Apache Flex SDK (replace it by 4.9.1), that's an Air project but still, it might help. -Fred -Message d'origine- From: Carlos Rovira Sent: Thursday, July 11, 2013 10:47 PM To: dev@flex.apache.org Subject: Trying to mavenize project flex-asjs with IntelliJ fails Hi, I'm trying to create a project in IntelliJ for flex-asjs with mavenized SDK 4.9.1.1447119 But seems that IDEA can't generate Apache Flex SDK from pom.xml. It works for Adobe Flex SDKs but not for Apache Flex. I created a youtrack ticket: http://youtrack.jetbrains.com/**issues/IDEA#http://youtrack.jetbrains.com/issues/IDEA# I'm missing something or it's really a bug? In the ticket I attached a draft of the pom.xml If you get the same error please vote the ticket -- Carlos Rovira