2016-04-04 16:14 GMT+02:00 Igor Stasenko <[email protected]>: > > > On 4 April 2016 at 17:03, Thierry Goubier <[email protected]> > wrote: > >> >> >> 2016-04-04 15:49 GMT+02:00 Igor Stasenko <[email protected]>: >> >>> >>> >>> On 4 April 2016 at 16:32, Thierry Goubier <[email protected]> >>> wrote: >>> >>>> >>>> >>>> 2016-04-04 15:23 GMT+02:00 Igor Stasenko <[email protected]>: >>>> >>>>> >>>>> >>>>>> Analogies don't work. Right :) I never used Pillar and have remote >>>>> ideas about what it does or requires. From that perspective you appeal to >>>>> wrong person. On your place i would be asking a guy who knows Pillar >>>>> innards about it. >>>>> Forgive my ignorance.. but i am not omniscient. >>>>> >>>> >>>> False humility doesn't work there, Igor :) >>>> >>> >>> But i don't know what Pillar is. Never used it. I'm not lying here. I >>> seen people doing something with it time to time.. but never got my eyes on >>> it. >>> Or would you prefer that i would pretend that i know something and can >>> continue discussion about things related to it? Waving hands, pointing to >>> milestones, drawing diagrams? :) >>> >> >> Yes, diagrams :) Ok, I don't know that much Pillar in details myself; >> except as one of those things where some of your characters in the text are >> used to build a layout on a target. >> >> >>> >>>> >>>> >>>>> >>>>> >>>>>> Second is: Pharo (and all smalltalks) is the place where supposedly >>>>>> impossible stuff can be developed, simply because it takes far less lines >>>>>> than anywhere else. No guarantees, but, at the rate we're dropping >>>>>> projects >>>>>> by the side of the road (and reinventing stuff multiple times over), we >>>>>> have manpower to spare :) >>>>>> >>>>>> But that is orthogonal. It is possible to do anything on >>>>> turing-complete environment. Taking shortcuts etc etc yadda yadda. Now do >>>>> such statements alone can bring us anywhere closer to grand goals and >>>>> grand >>>>> projects? >>>>> Nope. Only hard day to day work could bring us there.. Not talks about >>>>> how cool we are. >>>>> >>>> >>>> Hard day to day work, yes. But if you make it that uninteresting, yes, >>>> I'm sure we will never get there :) >>>> >>>> Okay, let me elaborate what was the whole point behind TxText project. >>> It was part of work we were doing to migrate from old Canvas & BitBlt >>> Morphic rendering towards vector-based rendering using Athens. Basically in >>> a nutshell TxText is a model and rendering engine for text rendering. >>> >> >> I'd say it is more: it is an interactive model for text editing and >> rendering. How much of it is "interactive" by opposition to pure rendering? >> Can they be easily separated? >> > > Well, there is a model, TxModel, which is domain-based. Means it is > abstract and agnostic from any kind of rendering engine or UI. > It represents an object that contains text and allows certain operation on > it, like selection, deletion, insertion etc. > And rendering engine bridges that model with morphic and athens. > It cannot be separated, since it implies using such model for computing > layout, and implies to use Athens for rendering.. And implies to exist in > Morphic (or some other kind of UI environment) for UI interaction, to be > represented as a widget on screen and receive events and mouse/keyboard > input etc. > So, what kind of separation you trying to see there? >
I was trying to evaluate how much of it was tied to an underlying text model, and a specific interaction approach / global high level view of the UI. A short look through the layout part of it and I saw it has support for arbitrary object spans. It also supposes a certain API from it's model (interacting back to indicate where lines should be ended). A text is a list of spans, isn't it? And spans are flat (no span inside span). One could imagine extending attributes for spans / type of spans and get customized rendering / handling for those. For now, external objects can't extend below the baseline. Position inside spans can be ambiguous: last position of a span and first position of the next span are the same position. Thierry
