欢迎
我们希望 Gandi IDE 是一个大家可以参与到贡献的引擎。 开源也会逐步根据规划逐步进行。 本文会详细说明如何参与到 Gandi IDE 的开发。
参与范围及方法
最终我们希望是全引擎可参与。 目前我们按计划会先开放以下部分:
开发拓展(Extensions)
拓展目前是最先开放并且最容易参与的部分。(详细文档将会在未来补充)
目前拓展默认支持的开发是使用 Gandi Extension 的模版进行开发。 点这里查看 github 的页面。受限于安全因素,用此方法开发的拓展默认不支持对 VM 进行直接调用。插件开发完成后需要提交审核,通过审核后即可在 Gandi 中供肝酱们使用了。 以下情况将被禁止:
- 包含恶意代码(例如生成扩展名为 bat, sh, py, exe 等有风险的文件并下载)
- 对创作明显无帮助的代码(例如测试代码)
- 可能使用后会对其他用户或者网络进行攻击的代码(例如 DDoS 攻击)
参与开发拓展需要:
- 会使用 JavaScript 编程语言,或者基于 WebAssembly 的语言(例如 Rust)
- 会使用 github
开发滤镜 (Shaders)
Gandi 的渲染器 render 在 TW 的基础上进行大量升级和改造,让肝酱们可以直接控制 GPU 增加滤镜效果。 首次的示例拓展就是 雷神 Quake 插件。不久后,我们将会把 Gandi Render 中此部分公开,让开发者们都可以进行开发像雷神一样的特效组件。
滤镜开发需要掌握计算机图形图像学的基础知识,目前支持 Open GL ES3 的接口,未来会支持直接调用 Web GPU。参与 Shaders 的开发,需要:
- 会使用 JavaScript 编程语言
- 会使用 GLSL 语言
目前参与滤镜开发正在内测中,请联系 Shawn 申请参与开发内测。
开发 Python lib
Python in Gandi 发布后,开发者可以使用 Python 开发一些语法糖或者通用算法供其他肝酱使用。参与 Python Lib 开发需要:
- 会使用 Python 语言
- 有 Scratch 的创作基础
本功能将于 2023 年 3 月前发布。敬请期待。
开发 Runtime 和 VM
如果有兴趣深度参与我们的开发,欢迎联系我们。 目前此部分尚未对公众开放。
开发资源
你可以通过以下资源学习和了解
Gandi IDE 的开源库: https://github.com/Gandi-IDE
拓展开发方法及代码:https://github.com/Gandi-IDE/custom-extension
拓展开发 TS 模版:https://github.com/Gandi-IDE/custom-extension/tree/hcn/feat/template
插件开发文档:coming soon
加入开发
欢迎加入 QQ 开发群: 757908265 ,一起参与开发讨论。
如果对开源的版权有兴趣,请点击版权&致谢查看详情。
参与讨论
<iframe
width="100%"
height="600px"
scrolling="no"
src="https://www.ccw.site/embed?id=dev-join&type=comment"
title="Gandi 参与开发讨论区"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>