Legals Tasks
From OpenLaszlo
Contents |
[edit]
Schedule
- 2/06/06 (Monday): Demo design complete [Bret]
- 2/09/06 (Thursday): Coding of demo design in lzx complete [Bret]
- 2/28/06 (Tuesday): Code Freeze (development complete) [All] (BETTER IF EARLIER)
- 3/6/06 (Monday): ETech
[edit]
Demo Details
A demoable version that allows you to select a flickr photo feed, scale the images in real time, and drag photos you wish to keep into a tray.
Remaining Tasks
- Constraints: dependent on new compiler backend [Tucker]
- Xpath [Max/Henry]
- Unit tests - add unit test to framework and convert LzUnit [Elliot]
- Dev console changes [Henry]
Current Working Functionality
- Compiler switch [Tucker]
- Datasets [Henry]
- Opacity, layouts, animators, classes, script tags, includes [Max]
- Clipping, resource stretching [Max]
- Font size/style [Henry]
- Flickr query [Henry]
- Input Text [Max]
- View with mouse events (all implemented) [Max]
[edit]
Tasks
Note: this page has not yet been reconciled with any tasks the SWF9 Target or DHTML_Target pages.
[edit]
Server
- Add wrapper page that includes OLR and lzt=js script includes (LPP-1304) [Max]
- Add request type (lzt=js?) that emits javascript from lzc --script (LPP-1305) [Henry]
[edit]
Build System
(reduces integration overhead between lps-dev and lps-legals if done early)
- Move mini runtime from sandbox to lps/includes/lfc (| LPP-1299)[Max]
- Migrate .as files to .js (LPP-1300) [Max]
- lps-legals -> lps-dev or the other way around?
- Holding off until move to svn
- move ORL out of WEB-INF (LPP-1300) [Max]
- Instead, could build DHTML OLR outside WEB-INF
[edit]
Compiler
- Add runtime type (lzr=dhtml) for conditionalizing ORL builds and server actions (LPP-1324) [Max/Tucker]
- Compile resource tags to script (LPP-1325) [Henry]
- responsible for assembling multiframe resources
- Should provide a list of relative URLs for each resource declaration, keyed off server-assigned library names
- LzLibrary = {}; LzLibrary.$resname = ['url','url2'];
- Could preload resources
- Emit constraints as ECMA instead of bytecode (LPP-1302) [Tucker/Oliver]
- convert new constructor(parent, args) -> LzFactory.create(constructor, parent, args) (LPP-1303)[Tucker]
- may want to copy n constructor arguments instead of just 2 (parent, args)
- convert .super.foo(args) -> .callInherited('foo', args) [Done according to Tucker]
- Pass list of events to runtime (LPP-1326)[[Tucker]
- events need to be created ahead of time - can't rely on onxxx failing silently as in flash
- e.g. DeclareEvent( LzFactory, 'oncreate' );
- should this be a runtime task based on a list of events?
- clean ECMA4~ frontend
- convert new constructor(parent, args) -> LzFactory.create(constructor, parent, args) (LPP-1303)[Tucker]
- multi-target backend
- AS3
- (ECMA4~ to AS3 transform) LPP-1358 Tucker
- flex2 for AS3 to SWF9 (added as a note to LPP-1359)
- AS3 to SWF9 backend LPP-1359 Tucker
- DHTML (JS1.6)
- ECMA4~ to ECMA3+ transform LPP-1360 Tucker
- AS2
- ECMA4~ to ECMA3 (to AS2) transform LPP-1361 Tucker
- AS2 to SWF6-8 backend LPP-1362 Tucker
- E4X to XML API transform LPP-1363 Tucker
- DHTML (JS1.2 / JScript5.6)
- ECMA4~ to ECMA3 transform LPP-1364 Tucker
- E4X to XML API transform LPP-1365 Tucker
- AS3
- multi-target backend
- SWF to PNG conversion pass for non-Flash runtimes LPP-1366 Tucker
- unit test compile phase using Rhino (LPP-1357) [Henry]
[edit]
Runtime
- E4X support library for ECMA3 runtimes (LPP-1368 max)
- regexp support library for downlevel runtimes (LPP-1369 max)
- JS1.6 runtime (Spidermonkey + Rhino) (LPP-1370 max)
- JS1.2/JScript5.6 runtime (LPP-1371 max)
- AS2 runtime (LPP-1372 max)
- AS3 runtime (LPP-1373 max)
[edit]
ORL
- Include prototype AJAX library and have dataset instantiate/load from it [Henry]
- Remove flasm, make sure it's in sync with bytecode in lps-dev (LPP-350) [Jim]
- Port existing instantiator to use new class instantiation system on lzt=js requested code (LPP-1309) [Henry]
- Make simple LZX demo with minilfc (LPP-1310) [Henry/Max]
- Convert ORL to use new class instantiation system (LPP-1311) [Max]
- Convert ORL to explicitly declare events (LPP-1381) [Max]
- Convert components to explicitly declare events (LPP-1382) [Jim]
- Write unit tests for LzClass and LzUserClass (LPP-1383) [Jim]
- Write unit tests for LzView (LPP-1384) [Adam]
- refactor ORL for multiple runtimes (LPP-1418)[max]
- update ORL generic to ECMA4~ (LPP-1419)[max]
- DHTML kernel
- implement display node (LPP-1420)[Henry]
- multiframe resources (LPP-1421) [Max]
- port text APIs (LPP-1422) [Max]
- port data APIs (LPP-1423) [Max]
- AS2 kernel (LPP-1424)[Max]
- AS3 kernel (LPP-1425)[Jim]
- Components
- multiple runtime support (LPP-1437)[Jim]
- Doc Tools
- support ECMA4~ features (LPP-1438)[smithee]
- support multiple runtimes (LPP-1436)[smithee]
[edit]
Research
- investigate AS3 Sprite API [Max]
- Investigate Flash CSS runtime support/APIs [Elliot]
- MiniLFC: Why does style.backgroundColor only work if the div has contents?
- LZX stress test (10, 100, 1000 animated views with resources) timed in dhtml, flash
[edit]
Notes
- ECMA4~ here means ECMA3 + whatever we need from ECMA4
- at least: class keyword, sealed decl, type decls, E4X, compound attrs
- not this time: packages, namespaces
- ECMA3+ is ECMA3 + E4X
- "DHTML" here is XHTML + DOM2 + CSS2 + maybe canvas/whatwg
- when is IE7 going to be released? Will Jscript.NET support ECMA4~ features by then?
[edit]
Staging
[edit]
Stage 0: DHTML demo
| source: source tree update, .as to .js (LPP-1300) | max |
| Add wrapper page that includes ORL and lzt=js script includes (LPP-1304) | max |
| Add request type (lzt=js?) that emits javascript from lzc --script (LPP-1305) | henry |
| Port existing minilfc instantiator to use new class instantiation system (LPP-1309) | henry |
| Make simple LZX demo with existing view system (LPP-1310) | henry/max |
[edit]
Stage 1: ECMA3 + AS2 updated + AS3 start + DHTML start
| frontend: clean ECMA3 (LPP-1367) | ptw |
| frontend: ECMA4 classes (LPP-1352) | hqm/ptw |
| backend: multi-runtime support | ptw |
| backend: clean AS2 compiler (LPP-1361) | ptw |
| backend: JS1.6 compiler (LPP-1360) | ptw |
| backend: AS3 instruction set documented | community |
| compiler: Rhino unit test harness (LPP-1357) | hqm |
| runtime: unit tests | hqm/max/jim |
| runtime: JS1.6 runtime (LPP-1370) | max/hqm |
| runtime: AS2 runtime updated for ECMA4 classes | jim |
| ORL: eliminate __proto__ and port to ECMA | max |
| ORL: refactored (runtime/kernel/generic) | max |
| doctools: support for multiple runtimes | hqm |
[edit]
Stage 2: ECMA4 (no E4X) + AS2 + AS3 partial + DHTML partial
| frontend: types, sealed, compound attrs | ptw |
| backend: AS3 (flex2) | ptw |
| backend: ECMA4 to ECMA3 transform (no E4X) | ptw |
| backend: AS3 compiler start | ptw/hqm |
| backend: JS1.2/JScript5.6 compiler | tbd |
| runtime: JS1.2/JScript5.6 runtime complete | max/hqm |
| runtime: AS3 runtime start | ptw/hqm |
| OLR: generic updated to ECMA4 | tbd |
| OLR: DHTML kernel start | max/jim |
| OLR: AS3 kernel start | max/jim |
| doctools: support for ECMA4~ features | hqm |
[edit]
Stage 3: ECMA4~ + AS2 + AS3 + DHTML partial
| frontend: E4X | tbd |
| (frontend: regexp) | tbd |
| backend: AS3 compiler complete | ptw/hqm |
| backend: E4X to XML API transform | tbd |
| runtime: AS3 runtime complete | ptw/hqm |
| runtime: E4X library for ECMA3 runtimes | tbd |
| (runtime: regexp library for downlevel runtimes) | community |
| OLR: AS3 kernel complete | max/jim |
| (OLR: more DHTML kernel) | max/jim |
| components: multiple runtime support | tbd |
[edit]
Notes
- Stages are currently milestone-driven, not resource-driven.
- components work may need to move earlier than Stage 3
- E4X and regexp available to cut if necessary (prefer E4X)
- DHTML work after Stage 1 to scale with available resources
- risk: AS3 compiler, runtime and kernel not complete until Stage 3

