Open daquinteroflex opened 10 months ago
I think it would be good to define our 'layers of abstraction' a bit more concretely. Starting from the most fundamental / abstract we might have something like
pd.Field
s and documentation through docstrings.pydantic.validators
(maybe this is combined with 1)Simulation.plot()
)(within these core components, there's an import hierarchy we define)
It could be good to define what we want to define as "core" components, how we want to separate within those components, and then restructure the package accordingly. This would also help sort out "basic requirements" issue (basic requirements could just be the requirements of the core layers).
Also, could be worth thinking about:
medium.py
) and try splitting every class into its own file. If we can't do this without circular imports or forward reference hacking in pydantic, we have identified some problem. (note, this happened in geometry
when we refactored it into separate files, but we kept it).
These ideas come from a notion document conversation we have been having, and the idea of this issue is to summarise all the frontend action points or decide what to do further. Just because I was finding it hard to keep track of everything we were talking about.
Low hanging fruit :apple:
Debatable:
Essential changes: