GSOC'25: Frontend Upgrade #2772
Replies: 8 comments 21 replies
-
Check out this PR --- #2786 |
Beta Was this translation helpful? Give feedback.
-
I am thinking of merging the |
Beta Was this translation helpful? Give feedback.
-
Since now both Timeline:
I've realized that development of |
Beta Was this translation helpful? Give feedback.
-
This is the concrete description of my Space Classes:class OrthogonalSpaceDrawer:
def __init__(self, space: OrthogonalGrid, **kwargs):
self.space = space
self.s_default = (180 / max(self.space.width, self.space.height)) ** 2
def draw_matplotlib(self, ax):
...
def draw_altair(self):
...
class HexSpaceDrawer:
def __init__(self, space: HexGrid, **kwargs):
self.space = space
self.s_default = (180 / max(self.space.width, self.space.height)) ** 2
self.size = 1.0
self.x_spacing = np.sqrt(3) * self.size
self.y_spacing = 1.5 * self.size
self.x_max = self.space.width * self.x_spacing + (self.space.height % 2) * (self.x_spacing / 2)
self.y_max = self.space.height * self.y_spacing
self.x_padding = self.size * np.sqrt(3) / 2 # Distance from center to rightmost point of hexagon
self.y_padding = self.size
self.hexagons = self._get_hexmesh(self.space.width, self.space.height)
@lru_cache(maxsize=1024, typed=True)
def _get_hexmesh(
self, width: int, height: int, size: float = 1.0
) -> list[tuple[float, float]]:
...
def draw_matplotlib(self, ax):
...
def draw_altair(self):
...
...
|
Beta Was this translation helpful? Give feedback.
-
Another vague idea expanding Jan's comments:
|
Beta Was this translation helpful? Give feedback.
-
Either design can work. I think the first one makes more sense (although it's also more detailed) because of the clean separation of concerns. One issue will be the backend site of things. Given how different altair and matplotlib are in their underlying desing philosophy, this might have implications for the SpaceRenderer. |
Beta Was this translation helpful? Give feedback.
-
Now that the |
Beta Was this translation helpful? Give feedback.
-
Since we have crossed the halfway point, here is how the timeline is looking: Timeline:
PyCafe doesn't support multithreading in solara therefore it is not possible to run the latest version of mesa there, therefore the idea of sharing models through links is scrapped. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Here is the crux of my proposal,
We can discuss the ideas and feedback for my proposal in this discussion. It will also act like a journal to document my development.
Phase 1:
Add
AgentPortrayalStyle
andPropertlyLayerStyle
:AgentPortrayalStyle
andPropertyLayerStyle
#2786Add
CoordinateMapper
:CoordinateMapper
.Add
SpaceRenderer
:Phase 2:
Action Plan:
Old Timeline:
AgentPortrayalStyle
andPropertyLayerStyle
CoordinateMapper
SpaceRenderer
Altair
backend inline withmatplotlib
.Beta Was this translation helpful? Give feedback.
All reactions