Skip to content

Version 0.3.0

Choose a tag to compare

@fedyfausto fedyfausto released this 27 Oct 22:52

Jet Studio 0.3.0

New

  • Sprite3D node: shows a PNG, or one frame of a sprite sheet, in the 3D world (hframes, vframes, frame). It also has flip_h/flip_v, pixel_size, modulate and an optional billboard, and is unlit and double-sided. Scripts animate it by changing frame. In the editor it has an Inspector, an icon and a selection box, and you can drop PNGs onto it.
  • Control node: a plain container for 2D nodes, such as a HUD. Its children are placed relative to it, hidden with it, and fade with its opacity.
  • JetRun example: an OutRun-style race.
    • An endless road with curves and hills, palms, signs and rival cars made with Sprite3D.
    • A title screen and a start gate with lights.
    • The car always accelerates and two buttons steer.
    • One script per node: game, track, player, traffic, camera and HUD.
    • Runs at about 60 fps on the Arduino Nano ESP32.
  • STM32:
    • The Nucleo-F746ZG with an ILI9341 display is now tested on hardware.
    • The display's SCK and MOSI can go on any pin through software SPI, which is about as fast as hardware SPI.
    • The Nucleo-F722ZE, F746ZG and F767ZI boards gain the D0, D1 and D12 pins.

Improved

  • Shared meshes: identical meshes share one copy in memory, like Godot's shared resources.
    A node gets its own copy only when a script changes its scale or UV.
  • Scenes on demand: the firmware and the desktop player keep the package in flash and decode a scene only when it starts, so scenes that are not playing no longer use RAM.
  • Less RAM per scene: on a desktop measurement, the physics demo drops from about 605 KB to 358 KB.
  • Faster JetScript: arithmetic on numbers that fit in 32 bits is faster (the ESP32-S3 has a single-precision FPU).
  • Editor: 2D nodes now also have the visibility toggle (eye) in the Scene tree.

Fixed

  • STM32F7: the display no longer hangs at startup. LovyanGFX's DMA interrupt has no handler
    on the F7, so rows are now sent by polling.

Compatibility

  • Package format v14: export your projects again and re-flash the firmware. Older .jetpack files are refused.
  • 2D opacity: 2D nodes now inherit opacity from their parent Controls, like Godot's modulate.
    Translucent nested Controls can look more transparent than before.