This was an interesting read, and I think replicates the system that is currently here. I think that the filter system is great, but if it is context based, we can have a much clean UI and will allow developers to use filters in more places without adding unnecessary information to other parts of the system.
eg. If I was to make a E-Commerce Transaction filter to allow adding of additional information on emails that are sent out, which the filter system would be perfect for, would just be additional junk that a user doesn't need to see when creating creating a node.
The filter system has always been context agnostic: it takes text and marks it up. This is intentional, mostly because it ensures it only deals with actual markup and styling, and not features. Implementing contextual filters goes well beyond passing in a $node parameter. What happens for example when you edit a node? How is the filter cache keyed, and do we wipe it selectively? Do we provide contexts for other things than nodes too? You can already modify node content using nodeapi before viewing. The only downside is you don't get it cached through the filter cache. Steven Wittens