5-31-2025 Misc

Updated 05312025-233104


“The experience supports Markdown style input and files for users who prefer to work directly with the lightweight markup language,” explains Dave Grochocki, principal product manager lead for Microsoft’s Windows inbox apps. “You can switch between formatted Markdown and Markdown syntax views in the view menu or by selecting the toggle button in the status bar at the bottom of the window.”
With Stem Splitter, you can now extract stems for guitar and piano, for a total of six stems.

Xogot | Documentation
archived 31 May 2025 20:39:12 UTC


XodotLM

Audio Overview

Timeline

Timeline of Events

Cast of Characters

Study Guide

Quiz

  1. What is the primary purpose of the KenneyNL/Starter-Kit-FPS on GitHub?
  2. What type of license governs the use of the software in the KenneyNL/Starter-Kit-FPS?
  3. What are some of the features included in the KenneyNL/Starter-Kit-FPS?
  4. What is the main focus of the godotengine/godot-docs GitHub repository?
  5. Under what license are the files in the classes/ folder of the godot-docs repository distributed?
  6. What is Xogot, and what platform is it primarily being developed for?
  7. Why did Miguel de Icaza decide to rewrite the UI for Xogot using Swift UI instead of using the existing Godot editor UI directly?
  8. What are two major limitations of Xogot mentioned regarding language support and extensions?
  9. According to the Xogot Discord discussions, what are some of the editor components that have been rewritten using SwiftUI?
  10. What input method considerations are highlighted as different between a traditional desktop Godot setup and using Godot on an iPad with Xogot?

Quiz Answer Key

  1. The primary purpose is to provide a basic template for a first-person shooter game within the Godot 4.3 game engine. It includes core features for building an FPS.
  2. The software in the KenneyNL/Starter-Kit-FPS is governed by the MIT License.
  3. Features include a character controller, weapons and weapon switching, enemies, and CC0 licensed sprites and 3D models.
  4. The godotengine/godot-docs repository contains the official documentation for the Godot Engine.
  5. The files in the classes/ folder are distributed under the MIT license, with the same authors as the main Godot source repository.
  6. Xogot is a project to bring the Godot game engine editor to the iPad, built using Swift UI.
  7. He found the existing Godot editor UI not well-suited for the iPad's touch-based interface and smaller screen, preferring the declarative nature and data-binding of Swift UI.
  8. Xogot currently only supports GDScript, and third-party C++ GD extensions are not supported due to Apple's security requirements for loading dynamic libraries.
  9. Rewritten components include the TileSet and TileMapLayer editors, SpriteAnimationEditor, Animation editor, Debugger, and Output.
  10. Desktop Godot heavily relies on mouse and keyboard shortcuts, while Xogot on iPad requires consideration for touch gestures, larger tapable regions (44 points), and the potential lack of a physical keyboard or mouse.

Essay Format Questions

  1. Compare and contrast the goals and licensing models of the KenneyNL/Starter-Kit-FPS and the core Godot Engine documentation. How do these different repositories contribute to the broader Godot ecosystem?
  2. Analyze the technical challenges and solutions discussed by Miguel de Icaza in bringing the Godot editor to the iPad as Xogot. Specifically, discuss the concept of virtualizing the Godot core and the implications of using Swift UI for the user interface.
  3. Evaluate the limitations of Xogot (language support, extensions) in the context of its target platform (iPad) and distribution method (App Store). How do these limitations impact the types of projects that can be developed using Xogot compared to the desktop Godot editor?
  4. Discuss the ongoing development and testing process of Xogot as revealed in the Discord excerpts. What types of bugs and features are being discussed, and what does this suggest about the current state and future direction of the project?
  5. Consider the potential impact of Xogot on the Godot community and game development in general. How might making a powerful game engine editor accessible on a mobile platform like the iPad change how people learn, prototype, and develop games?

Glossary of Key Terms

Godot Engine: A free and open-source, cross-platform game engine used to create 2D and 3D video games.

Xogot: A project by Miguel de Icaza to port and adapt the Godot Engine editor for use on the iPad, primarily utilizing Swift UI for the user interface.

Swift UI: A declarative UI framework developed by Apple for building apps across all Apple platforms.

GDScript: A lightweight, dynamically typed scripting language designed specifically for the Godot Engine.

GD Extension: A system in Godot that allows for extending the engine's capabilities using compiled languages like C++ or other scripting languages.

MIT License: A permissive free software license that allows for wide use, modification, and distribution with minimal restrictions, primarily requiring retention of the copyright and license notices.

CC0 License: A public domain dedication, meaning the author waives all copyright and related rights, allowing anyone to use the work without restriction.

TestFlight: A beta testing service by Apple that allows developers to invite users to test their iOS, iPadOS, tvOS, and watchOS apps.

Libgodot: The core library of the Godot Engine, which Xogot utilizes as the underlying engine functionality.

Swift: Apple's powerful and intuitive programming language for building apps for Apple platforms.

Static Variable: A variable in programming that retains its value throughout the life of the program, as opposed to local variables that are created and destroyed within a function or block. Virtualizing these was a challenge in Xogot's development.

Singleton: A design pattern in which a class has only one instance and provides a global point of access to it. Godot uses singletons, which presented challenges for virtualizing the engine state in Xogot.

Inspector: A panel in the Godot editor that allows users to view and edit the properties of selected nodes and resources.

Scene Tree: The hierarchical structure of nodes that compose a scene in Godot.

Nodes: The basic building blocks of a Godot project, representing elements like characters, objects, and environments.

Assets: The creative content used in a game, such as 2D sprites, 3D models, sound effects, and music.

Character Controller: A component or script that handles player movement and interaction within a game environment.

Rendering Backend: The part of a game engine responsible for drawing graphics to the screen. Metal is Apple's low-level graphics API and a potential rendering backend for Godot on Apple devices.

TileSet: A collection of tiles used to create 2D levels and environments in Godot.

TileMap: A node in Godot used to draw levels using a TileSet, allowing for efficient placement and manipulation of tiles.

Shader: A program that runs on the graphics processing unit (GPU) to determine how objects are rendered. Godot supports both text-based and visual shaders.

Visual Shader: A node-based editor in Godot for creating shaders without writing code.

Autoload: A feature in Godot that allows scripts or scenes to be automatically loaded at the start of the game and accessed globally as singletons.

Feature Tags: In Godot, a mechanism to include or exclude code or assets based on specific tags, useful for platform-specific development or debugging.

Vector math: Mathematical operations involving vectors, commonly used in game development for movement, direction, and position.

Transforms: Mathematical structures used in game development to represent the position, rotation, and scale of objects in 2D or 3D space.

Collision Shapes: Geometric shapes attached to nodes in Godot to define their physical boundaries for collision detection.

Briefing Doc

This briefing document provides a review of the main themes and important ideas presented in the provided sources, focusing on the Godot Engine and the Xogot project (Godot on iPad).

Source Overview:

The sources include:

Key Themes and Important Ideas:

1. Godot Engine: Open-Source, Feature-Rich, and Community-Driven

2. Xogot: Bringing Godot to the iPad with Swift UI

3. Godot Project Examples and Resources:

Most Important Ideas/Facts:

This briefing provides a snapshot of the information presented in the sources, highlighting the core concepts and current status of Godot engine development and the ambitious Xogot project.

FAQ

What is Xogot?

How does Xogot differ from the standard Godot editor?

What programming languages are supported in Xogot?

Can I use my existing Godot projects with Xogot?

Are there any limitations to using Xogot compared to the desktop version?

What is the licensing model for Xogot?

How can I get access to the Xogot beta?

What are the main goals of the Xogot project?


Integration Note

Hello! I am here to act as your paid consultant and thought partner, drawing upon the documentation and conversation history you've provided to help you quickly analyze information and develop strategic recommendations. I have access to excerpts from the Xogot App Store release notes, documentation on differences between Xogot and Godot, Godot export documentation for iOS, Xogot FAQ, Xogot Getting Started guides, Reddit discussions about Godot on mobile and iOS, Godot 4.4 documentation, Xogot documentation on various topics like UI, assets, controls, TestFlight notes, a blog post about Xogot on iPadOS, Product Hunt reviews, the Xogot App Store listing, and Discord chat logs related to Xogot features, bugs, and discussions. I can help you navigate these materials, understand complex topics, and formulate well-supported insights.

Xogot is designed to integrate closely with existing Godot development workflows and tools, aiming to provide a native iPad experience that complements, rather than replaces, desktop Godot usage. The core principle is to build upon the powerful, open-source Godot engine, making it accessible and effective on a touch-first device like the iPad.

Here's a detailed breakdown of how Xogot integrates with existing Godot workflows and tools:

  1. Project Compatibility and Mobility: A fundamental aspect of Xogot's integration is project compatibility. Projects created in Xogot are intended to be fully compatible with the desktop edition of Godot. This allows users to move projects back and forth between the two platforms.
  1. User Interface and Experience: Xogot's UI is a significant area of adaptation from standard Godot. It is specifically designed to be touch-friendly and align with iPadOS conventions.
  1. Supported Scripting and Extensions: A key difference and limitation in Xogot compared to desktop Godot is the supported scripting languages and extensions.
  1. Editor Functionality: Xogot provides access to most core Godot editor functionalities, adapted for the iPad experience.
  1. Learning Resources: Xogot includes integrated learning resources to help users get started.

In summary, Xogot functions as a Godot editor specifically tailored for iPadOS. It maintains project compatibility with desktop Godot, allowing developers to seamlessly transition their work. While it adapts the UI for touch and leverages native iOS features, it currently focuses on GDScript and doesn't support compiled languages or arbitrary GDExtensions, requiring desktop Godot for projects dependent on these. Core editor functionalities are present and being actively refined for the touch environment, alongside built-in learning resources.

As a next step, considering the focus on compatibility and the unique iPad workflow, you might want to investigate the specific performance characteristics of Xogot compared to desktop Godot for different types of projects (e.g., 2D vs 3D, asset heavy vs code heavy) to understand the practical limitations and ideal use cases for developing solely or partially on iPad.

Technical Considerations and Limitations Note

As your paid consultant and thought partner, I will now detail the unique technical considerations and limitations when using Xogot, drawing upon the documentation and conversation history you've provided. I have access to a range of materials including release notes, documentation on differences and features, Godot export guides, Reddit discussions, and Discord chat logs, which allow me to analyze Xogot from technical, operational, and user perspective.

Xogot is built upon the robust Godot engine but is specifically engineered for the iPadOS environment, which introduces several technical considerations and limitations that differ from the standard desktop Godot experience. These considerations are primarily driven by the architecture of iPadOS, Apple's platform policies, and the design choices made to optimize for a touch-first interface.

Here is a detailed breakdown of the unique technical considerations and limitations:

  1. Core Architecture and Process Management:
  1. Scripting Language Support (Limited to GDScript):
  1. GDExtension and Plugin Support (GDScript Only):
  1. User Interface Adaptation and Hybrid Implementation:
  1. Performance and Memory Constraints:
  1. Input Handling Specificities:
  1. File System Integration and Version Control Workflow:
  1. Exporting and Deployment Limitations:
  1. Device and OS Version Requirements:

These technical considerations mean that while Xogot offers a powerful Godot development experience on the iPad, it functions best as part of a larger workflow that may still require a desktop machine for tasks like building final native apps or utilizing plugins written in compiled languages. The ongoing development is actively addressing many of these points, particularly around UI native-ness and core editor functionality adapted for touch and memory constraints.

Considering these points, a potential next step for analysis could be to delve into how these specific technical limitations translate into workflow friction for different user segments (e.g., hobbyists, professional indies, developers building plugins or using advanced features) and identify which limitations are most critical for improving the value proposition of Xogot as a standalone development environment.

Version Control and Collaboration Note

As your paid consultant and thought partner, let's delve into how Xogot approaches version control and collaboration for Godot projects, drawing upon the information available in the sources you've provided. Understanding these mechanisms is crucial for assessing workflow efficiency and scalability, which can inform strategic recommendations.

Xogot enables version control and collaboration for Godot projects primarily by leveraging the native file management capabilities of iPadOS and recommending the use of external, dedicated applications for Git integration. It does not feature a built-in Git client within the application itself, a decision influenced by the technical constraints and platform policies of iPadOS.

Here's a detailed breakdown of how this is facilitated and the considerations involved:

  1. Leveraging iPadOS Files App Integration:
  1. Recommended Method: External Git Clients (Specifically Working Copy):
  1. Alternative Method: Command-Line Git via iSH:
  1. Reasoning for No Built-in Git:
  1. Implications for Collaboration:
  1. Limitations and Considerations:

In summary, Xogot enables version control and collaboration by relying on standard iPadOS file management and external Git applications. While it lacks built-in Git features due to platform constraints, this approach facilitates interoperability with desktop Godot workflows and allows teams to use established Git-based collaboration models.

A potential next step in analysis could be to evaluate the degree of workflow friction introduced by this external Git dependency for typical Godot development tasks (e.g., committing frequently, resolving merge conflicts) and how this might impact the appeal of Xogot as a primary development environment compared to a supplementary one for on-the-go work.