What I was trying to suggest is a middle way.
At the moment TD includes dependencies willy-nilly. This is exactly what it
should do. If it includes something you don't need, as I understand it, you
delete the things that you think you don't want and build without
re-checking dependencies. This can leave things badly broken (if you didn't
realise something was used not only by the thing you didn't want, but also
by a component that you kept). Also it can leave unnecessary dependencies of
the things you deleted.
The naughty bit about the current behaviour is that if you leave the
dependency in place, disable it and check dependencies TD will add another
copy of that component.
If the behaviour was I as suggested (ie the dependency had to be in the SLX,
but could really be disabled) apart from the thing that the user had
explicitly turned off, everything would still resolve correctly. And yes I
agree that the user should be told that they had done this, and which
dependencies were disabled from which components. This is a warning not an
error. You then arrive at the position that without having to manually
manipulate the build, or manually resolve every dependency, every dependency
found during resolution would be automatically satisfied either by including
it, or by reporting that it was present, but disabled by the user.
If your seriously worried that the change in behaviour might offend, make it
an option that us poor mortals who wallow in pool of user souls can choose.
Simon