Hi,
That is a good question.
The core of Bloc is found in the Bloc package. That one has 14k lines of code.
It can be loaded as: Metacello new baseline: 'Bloc'; repository: 'github://pharo-graphics/Bloc/src'; load: #'minimal:bloc’
This part is also built separately in Travis: https://travis-ci.org/pharo-graphics/Bloc
The minimal Bloc does not have any rendering, and should even be independent from Sparta.
We should also take into account that Bloc is not just a GUI framework, but also a visualization one, and that its model is fine grained.
The instance variable count in BlElement is large, indeed. This is a problem we are constantly struggling with. We are still in the process of removing a couple, but it will still be large. So, that’s still an issue.
I imagine that you are concerned. Do you think that traits with instance variables could help? I do not expect an immediate answer. I was just thinking about extensibility and modularity First we should get a first 1.0 release :)
Stef