So, Somewhat random, but perhaps there is value in dumping whatever madness I captured during this discussion on the list:
FYI, Michael. * Talk/Workshop: Thoughts on future core design ... A BOF session, where developers can get together to chew over the next big opportunities for improvement in the code-base, and catch up with status on existing re-factorings. Several areas of work will be highlighted, from re-using LibreOffice code, to threading and rendering infrastructure, VCL widget lifecycle and more. ---- * Translation framework + move to boost' gettext compatible foo + multi-thread-safe, suitably licensed + Switching from STR_FOO_BAA -> _("baa") + goal: move to 'Deckard' + shows http://deckard.malizor.org/ + an incremental approach: + smallest SRC -> .po + initialy bootstrapping & then ... parallelism. + "string lists" bit of a pain. + migrating translations + remove all "ImageLists" + lists needed for packimages + can we tokenize gettext strings (Kendy) + cf. binary size. + concern wrt. 60Mb iOS images etc. + size of translated resources will double (Andras) + every .mo file will have en & fr eg. + problems with Windows installer too * do it - when we have an in-binary size fix. + concern wrt. .mo etc. file size + should look at Blender too (Caolan) * VCL lifecycle + switching to reference counted / smart-pointer for all VCL Window sub-classes + first - find all stack / member created Windows. + Noel has a clang plugin to build list DialogBox aBox( "Hello World" ); // must die + its a big - change (Caolan) + Lots of 'IsDead' canary checking * dbgutil vs. normal builds (Miklos) + ABI compatibility issues between dbgutil and not + changing #if OSL_DEBUG_LEVEL > 1 -> #ifdef DBG_UTIL + sw/ was fixed by Bjoern already + would love to have 1x not 2x orthogonal bits (Bjoern) + not having intersection of different ifdefs would be good. + single one wouldn't work (Michael Stahl) + debug STL bits. + problem is enabling debug STL to dbg-util ? + nice to build just a few bits with debug (Miklos) + fundamentally opposed to incompatiblity and useful. + extra OSL_DEBUG_LEVEL's > 1 - tend to dump random files + finds confusing SAL_DEBUG / SAL_INFO / SAL_WARN (JanM) * Threading + finding, cataloging & isolating threads that do VCL / GUI stuff. + not -that- many problem sites (?) + the ideal sol'n (Noel) + the UNO bits are a problem + heaviest problem - UNO remoting - all threaded (Sberg) + Junit etc. + concurrency here. + ideal to have 1x dedicated GUI thread + JUnit - needs re-working ? (Michael) + main work in core impl. + writer objects with UNO interfaces + could not depend on locking SolarMutex ... + use UNO appartment stuff to move ~all core app UNO calls to that main thread * DECL_LINK cleanup ? + could we use a wrapper around boost::signal (Bjoern) + kill them all with an easy hack ? + do we require linkage to a library ? (Caolan) + good to have a mass-conversion ? vs. wait for C++ 11 (Miklos) + C++11 Lambdas rock (Ptyl) + mechanism - prolly orthogonal to lamdas (Stephan) + 2x different issues. * Switching to GL rendering (Markus) + a new VCL backend based on OpenGL + useful for wayland (killing the Linux/X rendering) + also critical for mobile + can implement a more powerful & fast rendering API + free gradients etc. + also - finishing GL canvas / drawinglayer + rendering scene graph directly. + moving co-ordinates to float + can we switch to OpenGL everywhere & deprecate (Michael) + mobile platforms, Mac + Windows: good OpenGL + Linux - ... horrible GL versions etc. + 3.2 base-line preferred + impacts 50% of Linux users. + move from OpenGL 2.1 to 3.1 is a big step + writing for something obsolete now would be sad. + OpenGL 2.1 not so controversial. + No other long term solution for Linux + everyone moving towards GL + with S/W fallbacks / llvm-pipe etc. + native toolkit integration yet more fun with GL. + hoping to use UI / layout to get native widgets (Caolan) ---- There were another set of issues that we didn't really get to that may or may not make sense. * VCL issues + main-loop / priorities * Image issues: + BitmapEx - in-line and/or pre-multiplied alpha [!] + image handling * Others: + etc. + SfxItemPool / PoolItem - lifecycle etc. + add a 'hash me' function ... + internal hashing [!?] ... + kill more 'Tools' classes ? + Color (COL_RED) ? + polygons ? * Core bits: + Killing the old SvStream / binary-file-format stuff .. + copy/paste in editeng still using it ... + complicates & slows down the SfxItemPool eg. + LibreOffice Kit -- michael.me...@collabora.com <><, Pseudo Engineer, itinerant idiot _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice