Open jdanish opened 1 year ago
Note Ben says: "If we're not careful it can really balloon and affect performance. " Agreed, though we also need the option to display things well. Long-term we may need to re-organize, but short term I wonder if it'd help to make a different character type? (e.g., a Text Feature) that would therefore limit how much info is sent to those characters?
Alignment
Justification
TextColor
@jdanish Can you tell me about 6fdff46ee027441767d754368233e79a28ae5928? Does this work?
Yes @benloh - I hacked that in when we didn't know we'd have more $ and it works just fine for me. Of course I am sure you can do it better and integrate it with this feature more fully, but to my knowledge it works just fine. But I can't yet change location / placement or color.
I made a cursory look at 6fdff46 to see what was going on, and am writing some technical notes for future design (this is not a code review):
VISUAL AGENT MODELING
<style>
can be used...I'm assuming that a lot of grad students have some rudimentary understanding of HTML in 2023. We can use a HTML parser to handle the translation.As an aside: efficiency improves when the visual is encoded as one of the representational facets because each has an appropriate encoding strategy that could reduce data send frequency without compromising robustness. Currently everything is being sent every frame, which is a potential performance issue as packets get larger and larger. I had left it that way figuring we would optimize if the issue came up with performance.
We would definitely want to revisit this if we wanted to support "over the internet" as opposed to "LAN only" operation, and I think this would need to be budgeted as a V2 of the rendering system as opposed to an "improvement".
This all sounds right. I'd also note that long-term, when we re-org, it'd be nice to rearchitect the features to work more like standalone plugins in the sense that all edits to a feature should be in the feature file, and not other places. That would make it much easier for us to have someone like me edit a feature without touching any other system which I think is ideal.
Ideally this includes:
TO DO