Monthly Archives: November 2019

Roadmap progress report October 2019

This is the log of what we have been working on last month.
As usual, they are just bullets because we assume you are already aware of most of them, but no hesitate to ask if you want more details 🙂
Also, I’m scheduling an open meeting next Thursday to talk with those who want to show up and ask questions, discuss something, comment something.
This are the connection details (yes, you need to install an application, but is free and quality of communication is very good):
Topic: Pharo open meeting
Time: Nov 14, 2019 04:00 PM Paris
Join Zoom Meeting
Meeting ID: 148 993 322
One tap mobile
+33170379729,,148993322# France
+33756784048,,148993322# France
Dial by your location
        +33 1 7037 9729 France
        +33 7 5678 4048 France
        +33 1 7037 2246 France
        +1 669 900 6833 US (San Jose)
        +1 929 205 6099 US (New York)
Meeting ID: 148 993 322
Find your local number:
Note: Meeting is 16h France time. Which is +1 UTC now, so it will be 15h UTC.
Roadmap progress report October 2019
  • Make “component list” part of the list family.
  • Work on a new SpRichTextPresenter (still WIP)
  • Implement first iteration of “application based styles” (the capability to add application styles to Spec2 applications)
    • Styles can now be nested (e.g. so you can say “make this label dim”)
  • Work on tables and lists properties:
    • sortable (working on morphic, WIP on gtk).
Spec2 – Morphic backend
  • Fix a problem when calculating width of toolbars.
  • Fix component list presenter
  • Make component list presenter able to show rows of different height.
Spec2 – Gtk backend
  • Make exception handling when inside a callback more solid (still need a couple of iterations)
  • Utils: GtkLeakFinder to track different kind of leaks (image side non-GC, vm side non-freed)
  • Utils: compiling a complete gtk3 distribution to allow debugging (not an easy task).
  • Remove all leaks from backend and fight with some incorrect referenced objects.
  • Making GtkRunLoop able to “defer” actions to be able to go back to the main thread.
  • Inspector
    • “Remember” pages opened to follow the flow. For example, if you open a panel when you had selected “Items”, it will try to select “items” in the next pane. It also remembers the replaced selection (to allow for example the inspection of images when traversing a collection).
    • Add a “refresh” button to allow refreshing inspections other than the “raw” inspection (who gets refreshed automatically)
    • Migrate some inspector extensions.
  • Debugger
    • pre-debug window now uses a button bar instead a toolbar (which is more correct)
  • fix some bugs around new literal syntax.
  • Working in the serialization of callbacks: Callbacks should always return in the order they are called
  • Working in the debugability of Callbacks, the callbacks code should be debuggable without affecting the stability
  • Improving Tests
Image – general
  • Create KMShortcutPrinter to unify the way to show shortcuts all around the image.
  • FastTable now can be configured to have rows of different height (using beRowNonHomogeneous method)
  • For the ones using the headless vm, window losing focus to stop showing the cursor (both gtk and sdl2). Until now, cycle continued drawing the cursor, consuming CPU and making things confusing.
  • create a way to target generic git repositories with iceberg (reacting to Sven request).
  • VM now can sleep when idle.
  • VM now can run in a separated thread from the main thread.
  • Implementing Async I/O in Windows
  • Experiment running SDL2 and Gtk3 in the main thread (Done for the world rendering, WIP for Mars-Gtk).
  • Improving Debugging of callbacks in Gtk / SDL2
  • Preparing and Giving the Pharo Techtalk.
  • Working in GC compactor corruption.
  • Improving the handling of VM Parameters.
  • Improving the API to give support to different experiments.
  • Experimenting of running embedded images.
  • Improving String primitives with checks on Forwarders.