[9:38] Tao Takashi: Enus, Sai: What about a meeting tomorrow? I am a bit busy right now so I probably cannot concentrate on this meeting that much
[9:38] Zha Ewry: As far as I can tell, unless I've missed something (which I may have) in GridMode, the regionaHandle doesn't follow the xloc/yloc rule at all
[9:38] Teravus Ousley: not sure.. but give me a moment an I can produce some psudo
[9:49] Teravus Ousley: the client provides a world cordinate position with autopilot
[9:49] Teravus Ousley: .. so you have to cut it back to xy
[9:50] Zha Ewry: There's a ton of slight of hand in the OpenSim code about whether you rerturn value scaled by 256 or not
[9:50] Zha Ewry: And. autoplot/dead reckonign, is going to be a total nightmarfe, if we ever allow less uniform topologies
[9:50] Teravus Ousley: I can't comment on that since no direct references were mentioned.
[9:51] Zha Ewry: Not expecting you to, Teravus, just, it's a messy, poorly described part of the protrocol
[9:51] Zha Ewry: and. I'm tryign to sort out whether the grid mode code isgoing to totally die with the current linden rez-avatar proposal
[9:52] Zha Ewry: I want to get Linden away from baking stuff like the checkerboard into the protocol anyway
[9:52] Zha Ewry: I know it's not a "fix this month" sort of issue
[9:52] Zha Ewry: but it will just about certainly bite us all hard on the backside sooner ot later
[9:53] Teravus Ousley: well, ultimately, the regionhandle is required for the client. It isn't really required for OpenSimulator to function... we simply swap out calls for regionhandle to calls for UUID
[9:58] Tess Linden: peri just pasted me logs... you guys keep talking, im catching up
[9:59] Zha Ewry: I can probably untangle the places where we pass things around in OpenSSim, to make a clean patch without breaking any of the assumptions currently in place
[9:59] Zha Ewry: (Tho, grid mode is making me read a lot of code to understand how it is doing things) but..
[9:59] Teravus Ousley: k. I'm not sure the whole 'grid slot' analogy is going to survive the interop the way it is now.
[9:59] Zha Ewry: long term, I'd like to avoid the couplling
[10:00] Teravus Ousley: Yes, working on the grid code is one of the most challenging parts of opensimulator
[10:00] Tess Linden: teravus: whats a grid slot? search through logs dont mention it
[10:00] Zha Ewry: It does sort of asume that there is a global grid in whhich every sim has a home
[10:00] Saijanai Kuhn: I seem to recall Zero's original idea was to preserve the 32bitx32bit X/y coordinate to allow 64bitx64bit universal grid coordinates for any spot anywhere on the grid
[10:01] Teravus Ousley: each grid slot is 256mx256m, and, from a region handle we can know where to send a user.
[10:01] Zha Ewry: There are also assumptions, such as "if I see this handle, and the one next to it is one up, it is adjacent" which will bork badly, if we end up with non unqiue handles
[10:01] Saijanai Kuhn: so its majorX.minorX by majorY.minorY universal fixed coordinates
[10:02] Zha Ewry: We never see that today, as we don't do interop between seperately managed domains
[10:02] Teravus Ousley: well, the addressing space works for a single organization.. but without serious planning and moving regions, etc. , it doesn't support multiple organizations.
[10:02] Saijanai Kuhn: so a prim can exist at 3545.643 x 5465.5635
[10:02] Teravus Ousley: .. especially ones who have started.. and already have conflicting grid spaces.
[10:03] Zha Ewry: the fun of trying to re-do maps when you have sub-grids get too big
[10:04] Tess Linden: Peri made a good point last week after the AWG meeting when I brought up the possibility of multiple maps aligning regions together
[10:04] Zha Ewry: That would require the client to be careful about when to discad some state
[10:04] Tess Linden: He said he just couldn't see a really impelling use case for having that
[10:05] Dahlia Trimble: you mean when different grids have regions at the same locations?
[10:05] Saijanai Kuhn: Zero wants trusted regions to have the ability for walking between them though
[10:05] Teravus Ousley: well, I can see a compelling reason.. so long as it's consistant.
[10:05] Saijanai Kuhn: so you need some way of aligning maps
[10:05] Teravus Ousley: .. ie, you only essentially get 4 grid connections.. per grid.
[10:06] Teravus Ousley: .. and the crossing represents a line on one cordinate
[10:06] Zha Ewry: Unless you want to imagine having to manage one global map, and allocate regions of it to everyone who wants a grid
[10:06] Teravus Ousley: ex: anything past 14,000 Y = grid 2
[10:06] Zha Ewry: and cope with the fact that people will run out of room
[10:06] Zha Ewry: Otherwise, you really want to make them opaque
[10:06] Saijanai Kuhn: Sounds like another usecase for border sims
[10:07] Teravus Ousley: well, that, I suppose would be a special class of sim that re-seeds the new map when you cross
[10:07] Teravus Ousley: .. I've been playing with the map recently
[10:07] Teravus Ousley: ... and it seems to be okay with reseeding.
[10:08] Saijanai Kuhn: yo could have a checkerboard of contiguous border sims that hpapen to be tardis-like: they are larger internally than externally
[10:08] Tao Takashi: but do we really need adjactent region domains?
[10:12] Tess Linden: I'm not too worried about teleporting, because the API should handle the handoff between the two regions in the region domain according to the protocol
[10:12] Tess Linden: in different region domains I mean
[10:12] Teravus Ousley: it's hardly implicit.. it's part of the configuration options that you set up when you connect a region to a grid.
[10:12] Tess Linden: landmarks would have to work the same way
[10:12] Zha Ewry: But the client, and the rest of the world don't know that yet
[10:13] Tess Linden: the problem is when you have neighboring regions
[10:13] Zha Ewry: its very explicit when runnign stuff
[10:13] Zha Ewry: and vey implciit to the rest of ther world as yet
[10:13] Tess Linden: in OpenSim, if you have a neighboring region, can you see into the other region? how does that work?
[10:13] Zha Ewry: Child agents, just like on Linden servers
[10:14] Teravus Ousley: In OpenSimulator currently, the user's position cordinates and draw distance is sent over to regions.
[10:14] Zha Ewry: You find out about the adjacent regions,a nd set them up
[10:14] Teravus Ousley: .. that they are a child agent in...
[10:15] Tao Takashi: which makes me thinking that at some point when somebody works on regions which do not need that because they are simply as big as the continent this also needs to be possible and mixable with the rest of the grid
[10:15] Dahlia Trimble: I can see into adjacent and diagonal regions on osgrid
[10:15] Tao Takashi: so different sizes need to be supported
[10:18] Dahlia Trimble: move a few decimal points over ;)
[10:19] Tao Takashi: well, you maybe also have to define the size of a region
[10:19] Tao Takashi: which then can only be a round number
[10:19] Rex Cronon: aren't there some problems when shrinking things?
[10:19] Tao Takashi: so you can say something is 4x4 grid slots big
[10:19] Tao Takashi: of course this still means that one grid slot is 256x256
[10:20] Tao Takashi: if we keep the current measures
[10:20] Dahlia Trimble: there seems to be a lot of prim size attributes that arent floating point
[10:22] Tess Linden: lets try to make the protocol as extensible as possible
[10:22] Tess Linden: is there any way to accomodate for all these use cases?
[10:22] Saijanai Kuhn: one use case I came up with for mutliple grid sizes was a musem grid. You might want different exhibit halls too each fit in their own simulator
[10:23] Rex Cronon: that can apply to any building that has more than one room
[10:23] Saijanai Kuhn: so it might even be a single grid that accomdiates multiple sizes
[10:24] Tao Takashi: you can also say, a grid slot is 1x1 and then existing regions will have coords in 256 steps
[10:24] Saijanai Kuhn: sure, but I was in a SL musemu when I came up with it
[10:24] Dahlia Trimble: I met someone who was building a scale representation of the city of berkeley in 30 opensim regions
[10:24] Teravus Ousley: well, yes.. I was thinking in terms of the unit 'region' as opposed to a grid specification
[10:24] Zha Ewry: I think there are two things we are trying to preserver
[10:24] Tess Linden: lets go with a strawman first
[10:24] Tao Takashi: then it's up to the map server admin to make sense if his map ;-)
[10:24] Zha Ewry: one is the ability to have a more varied model
[10:24] Zha Ewry: the other, is the ability to get out of the checkerboard entirely
[10:25] Tao Takashi: (but ai also would add a z coord)
[10:25] Teravus Ousley: plays the black checkers.. Zha plays the white ones.
[10:25] Tao Takashi: ok, do we keep rectangular regions?
[10:25] Tess Linden: zha: how would that look as an API?
[10:28] Zha Ewry: Knowing who's adjacent (and how they touch)
[10:29] Tess Linden: right now when we're talking about region handles, we want to know how does a client get to a region and what happens with neighboring regions
[10:29] Zha Ewry: and how do we learn abou the current scheme in use
[10:30] Saijanai Kuhn: admires his sim border idea: when every sim is a border sim, all topgraphies look like special case borders
[10:30] Teravus Ousley: the cross into new region code is all handled on the simulator..
[10:30] Zha Ewry: As soon as you seperate out the handles ( make the opaque) and add some scheme to determine who's adjacent to you
[10:30] Zha Ewry: then, it's a matter of definign that
[10:30] Tess Linden: the client needs to know the relationships between regions
[10:32] Butch Arnold: At the very least a way of "LIMITING" by rating which sim is allowed to border which sim...
[10:32] Butch Arnold: u don't want school kids next to strip joints
[10:32] Teravus Ousley: .... however.. once again... that doesn't really lend it self to anything beyond 2D cordinates.. and a 'grid'
[10:32] Teravus Ousley: .... hehe, another idea that I've heard.. is 3D cordinates..
[10:33] Teravus Ousley: .. and the ability to make 'holes'
[10:33] Tess Linden: just catching up on logs, whats autopilot/dead reckoning?
[10:33] Zha Ewry: You could imagine getting back from the sim, a list of "edge regions"
[10:33] Saijanai Kuhn: goes back to border sim: for truely pathological grid cinompatiblieies, you just apply a border of sims with compatiblity to the two regions. Might require 2 or more layers i exstreme cases
[10:33] Teravus Ousley: autopilot is the client requesting to go to a specific location via GenericMessage Packet with a method, 'autopilot'
[10:33] Zha Ewry: "from 0,1 to 0,15 I touch sim187, from 0,15 to 0,128, I touch Sim198"
[10:34] Dahlia Trimble: I think autopilot is when you right click an avatar and select "goto"
[10:34] Butch Arnold: a 3d grid would be very nice..
[10:36] Dahlia Trimble: or walk underround on slow region border crossings ;)
[10:36] Tess Linden: I wish we could talk in outline form so we capture all the points here
[10:36] Tao Takashi: I think for now maybe we should leave non-rect regions out of the protocol. 3d IMHO would be good to support it
[10:37] Zha Ewry: I think we can design somethign that is extensible and do the current case, with simple extentions first
[10:37] Tess Linden: zha: can you propose a strawman protocol that might make sense and we can bang on it?
[10:37] Saijanai Kuhn: still wants to know why no-one uses web-on-a-prim for inworld discussions
[10:37] Tao Takashi: supporting non.rect regions also means a lot of changes to the client and if you want to do a planet you probably also want to create your own custom client for it
[10:37] Zha Ewry: Are you looking for a cap, which would describe adjecnecy?
[10:38] Zha Ewry: I'd be glad to write up a proposal for that
[10:41] Zha Ewry: I'm pretty wiling to stick to tesselations of solids for now
[10:41] Saijanai Kuhn: realXtend and openviewer folk should be consulted as well
[10:41] Teravus Ousley: haha. you *might* be able to do triangular sims.. but sims with curves would be very difficult unless you have the opposite curve at the border.
[10:41] Tao Takashi: (some fuzzy 3d blob in a 7d space)
[10:42] Zha Ewry: I am *so* not going to spec hyperplanes
[10:42] Teravus Ousley: Well the only issue with spherical cordinates.. is they're based on a radius of known land
[10:42] Teravus Ousley: .. so adding land to that sphere.. results in everyone getting a new address
[10:42] Tao Takashi: - region domains might want to share the same map space (a shared map server might be an idea)
[10:43] Bartholomew Kleiber: actually triangular sims (which defaults to two sims building a square one) would be smart methinks. One could also do torus universes *shudders*.
[10:53] Tess Linden: so our current client needs a way to know how to place the region on the map, but we're saying here that its not required to be rectangular and only x and y, could be z right?
[10:53] Tess Linden: so lets make sure that the "map" part of the protocol is independent from the "handle" part of the protocol
[10:54] Tess Linden: would be nice to have clear names for the two, with stated definitions
[10:54] Tess Linden: and then those variations we named off earlier, like tesselations, lets have some examples of how the protocol might look in those
[10:55] Saijanai Kuhn: internally, a grid might have a poloar coordinate system, so "Zy, is the distance from the center, rather than just "up"
[10:56] Teravus Ousley: ... well that distance would change..
[10:56] Teravus Ousley: polor cordinates.. work for a 'known' set of land.