✨ Velaptor.Abstractions package
softwareantics opened this issue · comments
Complete The Items Below
- I have updated the title without removing the ✨ emoji.
- I searched whether or not a feature request already exists.
Feature Request Purpose
I propose we setup a NuGet package alongside Velaptor that gives access to common interfaces without their concrete implementations.
These would likely include:
ITextureRenderer
IFontRenderer
IFont
ITexture
ISound
IAppInput<T>
KeyboardState
andMouseState
ILoader<T>
ISceneManager
Solution
I guess this would be as simple as just creating a separate project called Velaptor.Abstractions
and adding all the interfaces that would be included in the package.
Anything Else
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
@softwareantics I have thought about this. Just like the System.IO.Abstractions
NuGet package.
I think we have to be very careful with this. The purpose of the System.IO.Abstractions
was to enable testability, which it does very well. But with Velaptor, you can still test things out because these APIs come with Velaptor, whereas with the dotnet, they did not. If the user is using Velaptor, they have access to the interface APIs anyway.
If there is a NuGet package for these, this means we would have to maintain two separate NuGet packages: one for Velaptor and the new one for the abstractions. This would make the CICD side of things more complicated, as would generating and managing the API documentation.
I think we need to consider the pros and cons of this. I am interested in your thoughts.
I assume that you have a personal use case or need? If so, please tell me. 😀
Or maybe this is just an idea you had which is completely fine.
This issue has been automatically marked as stale due to the lack of activity for 60 days. The issue will be closed after 7 days if no further activity occurs. Thank you for your contributions.
This stale issue has been closed due to a lack of activity.