Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions .github/disabled_classes.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
{
"disabled_build_options": {

},
"disabled_classes": [
"AcceptDialog",
"AnimatedTexture",
"Animation",
"AnimationLibrary",
"AnimationMixer",
"AnimationNode",
"AnimationNodeStateMachinePlayback",
"AnimationNodeStateMachineTransition",
"AspectRatioContainer",
"AtlasTexture",
"AudioBusLayout",
"AudioEffect",
"AudioStream",
"AudioStreamPlayer",
"BaseMaterial3D",
"BitMap",
"BoneMap",
"CameraAttributes",
"CameraTexture",
"CanvasItemMaterial",
"CanvasLayer",
"CanvasTexture",
"CodeEdit",
"CodeHighlighter",
"ColorPalette",
"ColorPicker",
"ColorPickerButton",
"Compositor",
"CompositorEffect",
"CryptoKey",
"Curve3D",
"CurveTexture",
"CurveXYZTexture",
"Environment",
"ExternalTexture",
"FogMaterial",
"GDExtension",
"GLTFAccessor",
"GLTFAnimation",
"GLTFBufferView",
"GLTFCamera",
"GLTFDocument",
"GLTFDocumentExtension",
"GLTFLight",
"GLTFMesh",
"GLTFNode",
"GLTFPhysicsBody",
"GLTFPhysicsShape",
"GLTFSkeleton",
"GLTFSkin",
"GLTFSpecGloss",
"GLTFState",
"GLTFTexture",
"GLTFTextureSampler",
"GraphEdit",
"GraphElement",
"ImporterMesh",
"InputEventMIDI",
"LabelSettings",
"LightmapGIData",
"LinkButton",
"MenuBar",
"MenuButton",
"Mesh",
"MeshLibrary",
"MeshTexture",
"MissingNode",
"MissingResource",
"MultiMesh",
"MultiplayerSpawner",
"MultiplayerSynchronizer",
"NavigationAgent2D",
"NavigationAgent3D",
"NavigationMesh",
"NavigationMeshSourceGeometryData2D",
"NavigationMeshSourceGeometryData3D",
"NavigationPolygon",
"NinePatchRect",
"Node2D",
"Node3D",
"Noise",
"NoiseTexture2D",
"Occluder3D",
"OccluderPolygon2D",
"OggPacketSequence",
"OpenXRAction",
"OpenXRActionMap",
"OpenXRActionSet",
"OpenXRBindingModifier",
"OpenXRBindingModifierEditor",
"OpenXRHapticBase",
"OpenXRIPBinding",
"OpenXRInteractionProfile",
"OpenXRInteractionProfileEditorBase",
"OptionButton",
"PackedDataContainer",
"PanoramaSkyMaterial",
"ParticleProcessMaterial",
"PhysicalSkyMaterial",
"PhysicsMaterial",
"PlaceholderMaterial",
"PlaceholderMesh",
"PlaceholderTexture2D",
"PolygonPathFinder",
"PopupMenu",
"PopupPanel",
"PortableCompressedTexture2D",
"PrimitiveMesh",
"ProceduralSkyMaterial",
"RDShaderFile",
"RDShaderSPIRV",
"ReferenceRect",
"RichTextEffect",
"SceneReplicationConfig",
"ScriptExtension",
"ShaderInclude",
"Shape2D",
"Shape3D",
"SkeletonModification2D",
"SkeletonModificationStack2D",
"SkeletonProfile",
"Skin",
"Sky",
"Slider",
"SpinBox",
"SpriteFrames",
"StyleBoxTexture",
"TabBar",
"Texture2DRD",
"Texture3D",
"TextureButton",
"TextureLayered",
"TextureProgressBar",
"TileMapPattern",
"TileSet",
"TileSetSource",
"Tree",
"VideoStream",
"VideoStreamPlayback",
"VideoStreamPlayer",
"VisualShader",
"VisualShaderNode",
"VoxelGIData",
"World3D",
"WorldEnvironment",
"X509Certificate"
],
"type": "build_profile"
}
2 changes: 2 additions & 0 deletions .github/file_format.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ while IFS= read -rd '' f; do
# Exclude some types of files.
if [[ "$f" == *"svg" ]]; then
continue
elif [[ "$f" == *"build" ]]; then
continue
fi
# Ensure that files are UTF-8 formatted.
recode UTF-8 "$f" 2> /dev/null
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ on:

env:
# Which godot version to use for exporting.
GODOT_VERSION: 4.4
GODOT_VERSION: 4.4.1
# Which godot release to use for exporting. (stable/rc/beta/alpha)
GODOT_RELEASE: beta1
GODOT_RELEASE: rc1
# Used in the editor config file name. Do not change this for patch releases.
GODOT_FEATURE_VERSION: 4.4
# Commit hash
GODOT_COMMIT_HASH: d33da79d3
GODOT_COMMIT_HASH: daa4b058ee9272dd4ee9033bb093afb21ad558b7
PROJECT_NAME: GodSVG Mobile
BUILD_OPTIONS: target=template_release lto=full production=yes deprecated=no minizip=no brotli=no vulkan=no openxr=no use_volk=no disable_3d=yes modules_enabled_by_default=no module_freetype_enabled=yes module_gdscript_enabled=yes module_svg_enabled=yes module_jpg_enabled=yes module_text_server_adv_enabled=yes graphite=no module_webp_enabled=yes swappy=no build_profile=../godsvg/.github/disabled_classes.build
GODOT_REPO: https://github.com/godotengine/godot.git
BUILD_OPTIONS: target=template_release lto=full production=yes deprecated=no minizip=no brotli=no vulkan=no openxr=no use_volk=no disable_3d=yes modules_enabled_by_default=no module_freetype_enabled=yes module_gdscript_enabled=yes module_svg_enabled=yes module_jpg_enabled=yes module_text_server_adv_enabled=yes graphite=no module_webp_enabled=yes swappy=no

jobs:
format:
Expand Down Expand Up @@ -88,6 +88,11 @@ jobs:
git fetch
git checkout $GODOT_COMMIT_HASH

- name: Checkout repository
uses: actions/checkout@v4
with:
path: godsvg

- if: ${{ steps.cache-template.outputs.cache-hit != 'true' }}
name: Build Godot template for Android
run: |
Expand All @@ -106,11 +111,6 @@ jobs:
mv ./bin/android_debug.apk ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_release.apk
mv ./bin/android_source.zip ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_source.zip

- name: Checkout repository
uses: actions/checkout@v4
with:
path: godsvg

- name: Export debug project
env:
GODOT_ANDROID_KEYSTORE_DEBUG_PATH: "./godot_only/debug.keystore"
Expand Down
16 changes: 8 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Your contribution is always appreciated!

Contributions don't need to be perfect, but they must move GodSVG in the right direction. If you are planning to implement a feature or overhaul a system, it's important to write a proposal and discuss your ideas. I will try to quickly accept or decline them. Please do understand that PRs with a large maintenance cost may be under high scrutiny because of their long-term responsibility, even in the absence of the original contributor.
Contributions don't need to be perfect, but they must move GodSVG in the right direction. If you are planning to implement a feature or overhaul a system, it's important to write a proposal and discuss your ideas first. I will try to be quick with accepting or declining them. Please do understand that PRs with a large maintenance cost may be under high scrutiny because of their long-term responsibility, even in the absence of the original contributor.

## Setup

Expand All @@ -19,8 +19,8 @@ Look through the list of issues to see if your contribution would resolve any of
1. Fork the repository.
2. Create a new branch: `git checkout -b implement-gradients`
3. Make your modifications, add them with `git add .`
4. Commit your changes: `git commit -m "Implement linear gradients"`
5. Push to the branch: `git push origin implement-gradients`
4. Commit your changes: `git commit -m "Implement the mask element"`
5. Push to the branch: `git push origin implement-masks`
6. Create a new pull request with a clear and informative title and describe your changes.

This is the preferred workflow, but tidiness is not as important as work being done, so feel free to do something different you may be comfortable with.
Expand All @@ -37,16 +37,16 @@ To document some quirks of our code that we've decided on:

- StringNames are avoided when possible. We do this because it makes the codebase simpler, although if something is actually shown to be performance-critical, it can be reconsidered.
- Nodes may only be exported if their runtime structure isn't known.
- Translating is done via `TranslationServer.translate()` rather than `tr()`. We've decided to stick to this everywhere because `tr()` doesn't work in static contexts.
- Strings are always translated with `Translator.translate()`, not `tr()`.

## Code style

For scripts, only GDScript code is allowed. Follow the [GDScript style guide](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html). Most of its rules are enforced here. Additionally:

- Static typing is predominantly used.
- Comments are normally written like sentences with punctuation.
- Two spaces are used to separate code and inline comments.
- Static typing is used as much as possible.
- Comments are typically written like sentences with punctuation.
- Two spaces are used to separate inline comments and code.
- For empty lines in the middle of indented blocks, the scope's indentation is kept.
- Class names use `class_name X extends Y` syntax.

Don't make pull requests for code style changes without discussing them first (unless it's for corrections to abide by the ones described here). Pull requests may also get production tweaks to fix their style before being merged.
Don't make pull requests for code style changes without discussing them first (unless it's for corrections to abide by the ones described here). The same generally applies to making style changes unrelated to a PR's main goal. Pull requests may also get production tweaks to tweak their style before being merged.
1 change: 1 addition & 0 deletions assets/fonts/Font.ttf.import
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Expand Down
1 change: 1 addition & 0 deletions assets/fonts/FontBold.ttf.import
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Expand Down
1 change: 1 addition & 0 deletions assets/fonts/FontMono.ttf.import
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Expand Down
2 changes: 1 addition & 1 deletion assets/icons/BWHandle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/CodeOptions.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Config.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/CreateTab.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Cube.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Cut.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Debug.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Delete.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/DotPatternSegment.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Export.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Folder.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/FolderUp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Gear.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Import.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Languages.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/Minus.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/icons/More.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading