Hi Holly
I think that's an excellent idea. There's a rewrite of Theme.js in the offing to push a lot more of the configuration out to file, but I don't think it's going to be happening quite yet. And, of course, even when it does happen it will need to start from a basis in which all the colours are configured centrally from Theme.js. I'd suggest defining the colours in Theme.js and then accessing them through methods/fields on the ComponentAppearance.js. The general intention is that the theme defines the parameters of the behaviour ("Disabled bundles are grey, active bundles are mauve, services are yellow") and then the component appearance defines a more specific set of characteristics for a given bundle ("My colour is mauve, my text is grey").
I made a start on that last night and moved three bundleOutlineColors to Theme.js - I'll work through Component.js today and move every hard coded color to Theme.js. What do you think about line characteristics, eg thickness? I feel they should probably move too.


Yes, I think we might end up with quite a lot of pain when we try and improve the rendering. It's one of the downsides of moving more things to be top-level components instead of anchoring bigger objects and more behaviour onto the relationships - we'll need a much smarter layout manager so that it can handle things like keeping services close to their owning bundles instead of rendering them halfway across the screen.
Yes - the relationship between a service and the bundle that registers it is different from other relationships though. I think it could be a fixed length line? and possibly part of the service graphic rather than a separate relationship object? Don't know - just a thought.

Zoƫ


Reply via email to