Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Due to spam on this forum, all posts now need moderator approval.
Entire forum
➜ MUSHclient
➜ Miniwindows
➜ Working on responsive miniwindows
Working on responsive miniwindows
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Tamon
(4 posts) Bio
|
Date
| Wed 29 May 2019 03:21 AM (UTC) |
Message
| It's still very experimental but figured i'd put it out there for anyone interested in some functionality like this.
https://github.com/thesmallbang/SimpleWindow | Top |
|
Posted by
| Fiendish
USA (2,535 posts) Bio
Global Moderator |
Date
| Reply #1 on Wed 29 May 2019 03:43 AM (UTC) |
Message
| It looks interesting. I hope you keep posting as you make progress. |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Fiendish
USA (2,535 posts) Bio
Global Moderator |
Date
| Reply #2 on Wed 29 May 2019 03:14 PM (UTC) |
Message
| It's not quite clear to me though what a View is from the readme. Could you explain the concepts a bit? Also, are you thinking that a user should rewrite their output on every tick? That seems quite inefficient. |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Tamon
(4 posts) Bio
|
Date
| Reply #3 on Wed 29 May 2019 04:37 PM (UTC) Amended on Wed 29 May 2019 04:40 PM (UTC) by Tamon
|
Message
| Hi fiendish.
Everything so far came from another plugin I am working on. That plugin has different "views" such as session data, area data, fight stats etc. A view is essentially multiple windows stuffed in 1 where only 1 is displayed at a time and the user can switch between them. I may help to just think of them as tabs atm without a ui.
Currently i dont have the method in place to switch views unless you manually set the window__state.viewIndex via code.
As far as drawing on tick. The tick can be increased or decreased depending on your needs. I am currently thinking of friendly ways to invalidate the content cache and potentially redraw only when underlying data changes but I'm still on day 2-3 with this idea atm.
The overall goal right now is to provide something lesser but similar in functionality to a lot of the responsive css frameworks. | Top |
|
Posted by
| Fiendish
USA (2,535 posts) Bio
Global Moderator |
Date
| Reply #4 on Wed 29 May 2019 07:05 PM (UTC) Amended on Wed 29 May 2019 07:07 PM (UTC) by Fiendish
|
Message
|
Quote: I am currently thinking of friendly ways to invalidate the content cache and potentially redraw only when underlying data changes
I do something like this via my repaint buffering plugin, where calls to my plugin are like indicating a data change.
description at: https://github.com/fiendish/aardwolfclientpackage/wiki/Repaint-Buffer
plugin code at: https://github.com/fiendish/aardwolfclientpackage/blob/MUSHclient/MUSHclient/worlds/plugins/aard_repaint_buffer.xml |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Tamon
(4 posts) Bio
|
Date
| Reply #5 on Wed 29 May 2019 08:28 PM (UTC) |
Message
| Ah understood. Yes, to invalidate the entire cache this would be fairly straight forward but what i'm looking to do is add support on a per content basis.
(I'm only like a month into lua so please excuse the terminoligy atm.)
What I was thinking is to add callback on the content and then iterating the content to see if it changes since the last update.
Today: (Would keep existing)
AddContent {
Text = "Hello"
}
Idea: (support cache invalidating)
AddContent {
GetText = function()
return someref.value
end
}
Idea is just to store the GetText result on each content object when creating the content cache and then do a comparison and look for changes before repainting. I haven't done any benchmarks etc but i'd assume the saving on the repaint would more than make up for the need to compare the content.
thoughts? I really appreciate your feedback. | Top |
|
Posted by
| Fiendish
USA (2,535 posts) Bio
Global Moderator |
Date
| Reply #6 on Wed 29 May 2019 10:54 PM (UTC) Amended on Wed 29 May 2019 11:08 PM (UTC) by Fiendish
|
Message
| That sounds like a neat idea. I think everyone would still benefit from globally coalescing repaint requests in the way that my plugin does. Honestly, Repaint should just do what my plugin does automatically, but until then we have the plugin.
One of the biggest real-world performance problems I've encountered comes from having multiple plugins nearly simultaneously wanting to refresh the display because they're all triggering on the same lines of text from the MUD. In those moments, you really don't want to allow Repaint to be called rapid fire because with enough plugins all calling it, it can very noticably slow down the client. And just using Redraw isn't a great option, because it drops frames and that leads to a worse user experience. |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Tamon
(4 posts) Bio
|
Date
| Reply #7 on Mon 03 Jun 2019 03:54 AM (UTC) |
Message
| Made some decent progress over the weekend.
Implemented css style classes and added a sample plugin now for anyone that wants to try it out. | Top |
|
Posted by
| Fiendish
USA (2,535 posts) Bio
Global Moderator |
Date
| Reply #8 on Mon 03 Jun 2019 02:00 PM (UTC) |
Message
| I like the new sample images. |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
20,472 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top