Go Back   WowAce Forums > Official Addon Threads > Unit Frames > Grid & Grid2
Grid & Grid2 Discussions regarding Grid & Grid2 goes here.

Reply
 
Thread Tools
Old 05-06-2008   #1
jerry
Amazing Member
 
Join Date: Jul 2006
Posts: 1,362
Default Grid2 - What it is, and what it's not

Design goals
What is now known as Grid2 started on two ideas:
  • Drop Ace2 as a framework and use Ace3 instead: As Grid is heavily based on AceOO, a part of the Ace2 framework that has been completely dropped, the switch was probably a little bit more difficult than other addons.
  • Use unit ID as identifiers instead of unit names: A lot of issues with Grid right now are caused by this design decision. After thinking about rewriting the Roster Library, both Pastamancer and I came to the conclusion that it would be much easier and faster to only rely on unitIDs.

Implementation features

Apart from this two goals, I have looked at the kind of modifications or features are mostly added to Grid by other addons. The immense majority of them provide either new Statuses, new Indicators, or both. Grid original design of status and indicators was not easy to hook into. The type of data that status could transmit to indicators was limited, a lot of base indicators and status were highly correlated one with another, and adding indicators was not an easy task.

Grid2 completely change this. Indicators and status have become "objects" that Grid2 and other addons can create, register and link independently. status/indicators declare the type of data they provide/need, and (not yet implemented) the core make sure that you link them correctly. I suggest that authors that worked on Grid based addon take a look at modules/IndicatorIcon.lua and modules/StatusAggro.lua for simple examples of both objects. Note that the type of data exchanged between status and indicators is not limited by the core.

As a side effect of this rewrite, the amount of processing that has to be done when status change has been reduced. I also took care of a few processor-heavy statuses (health, mana, auras, range) to make sure they are as fast as possible.

And that's about it for now.

What's left to be done

Now that the rewrite is underway, other issues with Grid should be looked at. I'm going to list here stuff that we (Maia, Pastamancer and I) have talked about and thought of :
  • The grid configuration needs a complete overhaul. A lot of beginner mistakes come from the fact that right now, the Grid configuration allows to completely break the usability of Grid. We want to address this. With the new architecture, the risk is even bigger, as indicators are completely uncorrelated (for instance, "text" and "textcolor" are two different indicators that can be linked to different statuses). The new Grid configuration should be a lot more aware of what Status and Indicators are, and how it makes sense to link some of them and not others. The fact that the type of information that they exchange is now explicit will help, but the configuration window must have more information than this. (To extend the example. The configuration should be aware that "text" and "textcolor" are both part of the visual representation of the text element and provide a unique form to configure both.)
  • Easier configuration of layouts for diffent gameplay. The idea is to incorporate something like GridDynamicLayout in the core. As part of this, the distinction between the "raid" layout and the "party" layout should be removed. Also, some form of layout design should also be added to the configuration.
  • Give a blinking state to statuses. Right now, statuses have two states: Active or Inactive. It would be interesting to add a new "blinking" state, that should be visually easy to see. The indicator interface will probably need some change for this to work.

I probably missed a lot of other things.

What Grid2 won't have :
  • More (visible) options. Quite the contrary. We want the new Grid configuration to be easier for the beginner.
  • More indicators. Well, I mean here that you should not expect to have mana bars, seven text lines and thirty-two icons per side in grid core.
jerry is offline   Reply With Quote
Old 05-06-2008   #2
jerry
Amazing Member
 
Join Date: Jul 2006
Posts: 1,362
Default Re: Grid2 - What it is, and what it's not

Grid2 is available in the SVN repository, in http://svn.wowace.com/wowace/branches/Grid/Ace3/Grid2. You should use a SVN client to get it.

Sometimes, it very possible that it won't work at all. Don't post bug reports, I'm probably already aware of them.

I do not use it in game yet, and I don't suggest you do if you don't want to be flooded by errors in the middle of a fight.
jerry is offline   Reply With Quote
Old 05-06-2008   #3
Pastamancer
Speaks only for himself
 
Join Date: Oct 2007
Posts: 952
Default Re: Grid2 - What it is, and what it's not

Nice work Jerry. I'll have to take a closer look this weekend.
__________________
How to report a bug in Grid.
Pastamancer is offline   Reply With Quote
Old 05-06-2008   #4
Matrix110
Hero Member
 
Matrix110's Avatar
 
Join Date: Apr 2006
Posts: 592
Default Re: Grid2 - What it is, and what it's not

Looking forward to it,although I got no problems at all with Grid, but well most here like experimenting


Will you port/integrated GridAlert btw? Its the BEST addition to Grid on earth, especially with my SoS sound that is so annoying that you cant miss it (http://home.arcor.de/Matrix110/sos.wav)
Matrix110 is offline   Reply With Quote
Old 05-06-2008   #5
maia
Amazing Member
 
Join Date: Dec 2005
Posts: 1,124
Default Re: Grid2 - What it is, and what it's not

Quote:
Originally Posted by Matrix110
Will you port/integrated GridAlert btw?
Let's figure out how the configuration works in detail before worrying about adding features. The easier the config is to use, the more features it will be able to handle.
maia is offline   Reply With Quote
Old 05-07-2008   #6
jerry
Amazing Member
 
Join Date: Jul 2006
Posts: 1,362
Default Re: Grid2 - What it is, and what it's not

Quote:
Originally Posted by Matrix110
Will you port/integrated GridAlert btw?
Integrate, No. I'll probably try to port GridAlert, although the new architecture makes it more difficult. This is very low priority for me until the time I think I can stop using the original Grid.
jerry is offline   Reply With Quote
Old 05-08-2008   #7
Phanx
Seal Cub Clubbing Club
 
Phanx's Avatar
 
Join Date: May 2005
Posts: 5,576
Send a message via AIM to Phanx Send a message via MSN to Phanx Send a message via Yahoo to Phanx
Default Re: Grid2 - What it is, and what it's not

Quote:
Originally Posted by Jerry
  • More (visible) options. Quite the contrary. We want the new Grid configuration to be easier for the beginner.
So... does this mean Grid2 will have fewer "core" options than the original Grid? If so, which options are getting dropped? What exactly does "visible" mean? Does it mean advanced users who want to change, say, the frame dimensions will have to do so by editing Lua?
__________________
Author/maintainer of Grid, PhanxChat, AnkhUp, OnScreenHealth, ShieldsUp, and others.
Phanx is offline   Reply With Quote
Old 05-09-2008   #8
jerry
Amazing Member
 
Join Date: Jul 2006
Posts: 1,362
Default Re: Grid2 - What it is, and what it's not

Quote:
Originally Posted by Phanx
So... does this mean Grid2 will have fewer "core" options than the original Grid? If so, which options are getting dropped? What exactly does "visible" mean? Does it mean advanced users who want to change, say, the frame dimensions will have to do so by editing Lua?
The configuration is still completely in the plannig stage. I plan to keep most of the existing options in the AceDB though. That's what I meant by "visible". The configuration might not allow it, but a simple macro will do. Also, it won't be possible to link any status to any indicator, so people using (very) exotic configuration might not be able to keep them.
jerry is offline   Reply With Quote
Old 05-29-2008   #9
thebadmf
Newbie
 
Join Date: Dec 2006
Posts: 9
Default Re: Grid2 - What it is, and what it's not

I'm looking forward to this, I love grid but a lighter version is always welcome. How's it coming along?
thebadmf is offline   Reply With Quote
Old 06-03-2008   #10
Hjalte
Full Member
 
Join Date: Jun 2006
Location: Denmark
Posts: 183
Send a message via MSN to Hjalte
Default Re: Grid2 - What it is, and what it's not

Got the following error when wanting to try out Grid 2:

I got the error on logging in and I couldn't see any Grid 2 frames anywhere. The Grid 2 options loaded fine enough however.

Code:
[2008/06/04 00:22:53-4305-x1]: Grid2-$Rev: 74477 $\GridLayout.lua:814: attempt to perform arithmetic on a nil value
Grid2-$Rev: 74477 $\GridLayout.lua:867: in function `Scale'
Grid2-$Rev: 74477 $\GridLayout.lua:478: in function <Interface\AddOns\Grid2\GridLayout.lua:471>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0\AceAddon-3.0.lua:341: in function `EnableAddon'
AceAddon-3.0\AceAddon-3.0.lua:353: in function `EnableAddon'
AceAddon-3.0\AceAddon-3.0.lua:411: in function <Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:397>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:908: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:234: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:327: in function `UIParent_OnEvent':
<string>:"*:OnEvent":1: in function <[string "*:OnEvent"]:1>

 ---
Hjalte is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 2 (1 members and 1 guests)
Baraius
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 05:05 PM.