Hello there,
I’m the author of the SyrinControl module, that brings the integration between Foundry and Syrinscape.
I was talking yesterday with Abourious on discord chat about the future of the project. Now I feel you deserve also a direct words from me.
First and foremost, I want to apologize for my recent unavailability and the lack of response to your queries and reported issues. I must admit that my time has become sparse, and I cannot make any promises regarding the resolution of existing problems in the coming months. However, I want to make it clear that I do not intend to abandon this project entirely.
If you’ve been following the project’s history, you may have noticed a pattern where I work in bursts of creativity and productivity, releasing several versions in a short span of time, only to enter a period of dormancy for a few months. The last productive flow occurred in April. Therefore, I prefer to refer to the project as “hibernating,” with no guarantees of emerging from this state any time soon.
I understand that this situation might seem unfair to the community, as critical bugs and questions have to wait for months before being addressed. Please know that I am solely responsible for the development of SyrinControl, and it is a project I work on in my own time. There are moments when I am not in the right mindset or when I need to prioritize other projects or aspects of my life.
With that said, I would welcome and encourage others who are passionate about the SyrinControl module to step forward and contribute. I have no objections to delegating work and responsibilities to volunteers who are willing to take control of the project. Rest assured, I can always return and contribute to the project when circumstances allow.
Furthermore, I am more than happy to offer guidance and mentorship to those interested in diving into the codebase or participating in discussions about the future direction and feature design of SyrinControl. By sharing the workload among multiple individuals, we can collectively alleviate the burden and ensure the project continues to thrive.
I want to express my deep gratitude to the open source community for your support and understanding during this period of hibernation. Your patience and enthusiasm have been instrumental in keeping the project alive. I value your feedback and contributions, and I assure you that your dedication does not go unnoticed.
In conclusion, while I cannot guarantee immediate fixes or regular updates, I am open to collaboration and welcoming others to contribute their time and expertise to SyrinControl. Together, we can breathe new life into the project and create an even more robust and vibrant audio integration for Foundry VTT.
Thank you for your understanding, and I look forward to working alongside you, both as a mentor and a fellow enthusiast, in the exciting journey that lies ahead.
For those who are interested in contributing to the development of SyrinControl, I would like to provide some insights into the technical stack used in the module:
-
Language: SyrinControl is primarily written in TypeScript, which is a superset of JavaScript. TypeScript adds static type checking to JavaScript, ensuring that changes made to the codebase do not break important features. This makes it easier to work on JavaScript projects like Foundry VTT while providing an additional layer of safety. It’s worth noting that Foundry VTT does not natively support TypeScript. However, the League of Foundry Developers (https://github.com/League-of-Foundry-Developers/foundry-vtt-types) has been working diligently to bring type definitions to Foundry VTT. They have made significant progress but are currently facing a backlog of over 200 open issues for the V10 version of Foundry, with V11 on the horizon. Users have already started asking about compatibility between SyrinControl and future Foundry versions.
-
UI Framework: Instead of relying on jQuery, which is commonly used for the UI in Foundry, I have chosen to use the Svelte framework to bring reactivity to the module. All SyrinControl dialogs are rendered using Svelte. If you are familiar with frameworks like React or Vue, Svelte falls into a similar category but without the need for a heavy runtime on the client side. Given that Foundry can sometimes feel sluggish, I wanted to avoid introducing additional weight. By using the Svelte framework, I aimed to achieve modern reactivity while keeping the footprint small and the code fast. However, one aspect I overlooked is that Svelte is not as widely adopted as jQuery, which could potentially make it more challenging to find contributors. On the bright side, Svelte is currently rated as one of the most loved frameworks on Stack Overflow (often in the top 3). I highly recommend giving it a chance, as it provides a natural coding experience, particularly for those accustomed to working with jQuery.
If you have any questions, feel free to reply here or send me a discord DM to Frondeus#6975