Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 16:01
· 84 commits to main since this release
6950be3

Pite v0.2.0

Pite 0.2 adds support for third-party Python packages 🎉 to be used in game scripts and shipped in exports, and there are a lot of other major improvements in this version focusing on Developer Experience at scripting, validating, editing, configuring, and playing Pite games.


Highlights 🔥

Any third-party Python package comes to games

This version brings third-party Python package support into games. A pite vendor command was added so you can manage these dependencies with simple commands. These dependencies are live at the vendor/ directory in the project root, providing the same behavior for both dev runs and exported games. This feature currently supports any pure Python package to be used; and there is a clean architecture for adding support for packages with native extensions, which needs a real request from the community for some specific packages, and we held it here to focus on more important things.

pite check covers imports

Our savior check command now resolves relative, stdlib, and third-party imports inside Python scripts too, to validate they won't lead to ImportError.

More work on windows

Default window size changed to 1280x720 (was 800x600), and both Pite editor and games will run maximized from now on. Resizing a game window doesn't expand what you see from the world anymore; it scales the view to fit the new aspect ratio.

Project Settings window

Project Settings window added to the editor menu bar, allowing you to configure game projects visually.

Modern completion and better LSP

Code completion now triggers as you type and is completely operational with the keyboard; a lot of enhancements under the hood were done so you enjoy autocompletion. LSP warnings are moved to the line numbers gutter so the editor has more space. The warning on import pite for each script was fixed, and get_node() return type updated to Node.


Changes Overview 📜

  • Third-party Python packages vendor into the project: pite vendor add pkg==ver downloads wheels (+ transitive deps) into vendor/, pins versions + hashes in [vendor] (list/verify/remove manage the lock). Zipped by default, unpacked for native modules. The runtime puts vendor/ on sys.path in dev and export alike; the export stages it whole; pite check stays silent for vendored imports.
  • pite check warns on third-party imports in game scripts (stdlib + pite + siblings are fine; exports drop site-packages).
  • pite run with no --scene starts the enclosing project's main_scene (same rule pite edit already used); outside a project it fails loudly.
  • Default window size is now 1280x720 (was 800x600): new scaffolds are stamped with it, and sizeless manifests inherit it. The size is the design resolution - the game opens maximized and scales content to fit, keeping aspect, with clicks mapped through the same transform; the editor preview frames the same resolution.
  • Editor completion is integrated: it triggers as you type with a cursor-anchored popup, narrows on what you typed, follows the arrow-key selection, and accepts with Enter (Esc dismisses, click works too).
  • Editor gutter numbers tile the laid-out galley rows exactly, so long files no longer drift out of alignment.
  • Editor code pane is a real gutter: line numbers with yellow error rows (hover for the message), click to jump with cursor + focus + scroll.
  • import pite resolves everywhere: the pite.pyi stubs are baked into the editor binary and materialized to a versioned scratch dir when no checkout copy is found, pite.py ships beside pite.pyi as the source sibling the checker needs, and the workspace/configuration answer carries the requested section value.
  • get_node results type-check cleanly as plain Node with dynamic rest.
  • Project Settings window (Project > Project Settings…): edits every known manifest field with shared-validator checks and byte-stable saves; first-ever pite.toml writer.
  • Transport controls pinned to the bar's right end; editor and game launch maximized.

Download ⬇️

  • pite-v0.2.0-linux.tar.gz / pite-v0.2.0-windows.zip: engine + both player binaries (any machine exports for either platform), verified by SHA256SUMS.
  • Install scripts: install.sh (Linux) / install.ps1 (Windows) from the repo root.