Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.3 #64

Merged
merged 2 commits into from
Nov 12, 2024
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
37 changes: 37 additions & 0 deletions docs/source/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,46 @@ Tempe Releases
Version 0.x
===========

Version 0.3
-----------

November 12th, 2024

This is a release which focuses on performance. Most shape classes now check
to see whether each sub-shape intersects with the current drawing region in
the raster, and skip rendering if this is the case. Text objects perform this
check at the level of individual character. This gives a significant
improvement in rendering time, particularly when working with smaller buffers,
for large Text objects, and when performing updates.

Additionally, profiling indicated that character lookup in bitmap font objects
was a major bottleneck for text rendering. Fonts now cache those lookups in a
dictionary. This can be turned off with an initialization option, and there is
a method to clear the cache if the memory is needed.

These changes add up to an order of magnitude speed improvement in some cases.

Additional improvements include:
- Text objects can now be vertically and horizontally aligned relative to the
geometry.
- a new Window Shape that holds a subsurface that makes scrolling groups of
Shapes easier.
- support for Waveshare Pico-ResTouch-LCD 2.8 displays, thanks to @JoGeDuBo.
- replace Roboto fonts with Ubuntu fonts, which render better at small sizes.
- additional examples and various small fixes.

Thanks
~~~~~~

The following people contributed to this release:

JoGeDuBo, Corran Webster

Version 0.2
-----------

November 5th, 2024

This is a small release which fixes a number of bugs, provides formal
support for Pimoroni SPI-based ST7789 displays, and adds information about
writing displays to the documentation.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
project = "Tempe"
copyright = "2024, Unital Software"
author = "Unital Software"
release = "0.3.dev"
release = "0.3"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
8 changes: 4 additions & 4 deletions docs/source/user_guide/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ Released versions are found at ``github:unital/tempe/releases/<version>/``:

.. code-block:: python-console

>>> mip.install("github:unital/tempe/releases/0.2/src/tempe/package.json")
>>> mip.install("github:unital/tempe/releases/0.2/src/tempe_displays/package.json")
>>> mip.install("github:unital/tempe/releases/0.3/src/tempe/package.json")
>>> mip.install("github:unital/tempe/releases/0.3/src/tempe_displays/package.json")

or using :py:mod:`mpremote`:

.. code-block:: console

mpremote mip install github:unital/tempe/releases/0.2/src/tempe/package.json
mpremote mip install github:unital/tempe/releases/0.2/src/tempe_displays/package.json
mpremote mip install github:unital/tempe/releases/0.3/src/tempe/package.json
mpremote mip install github:unital/tempe/releases/0.3/src/tempe_displays/package.json

Unstable
~~~~~~~~
Expand Down
62 changes: 31 additions & 31 deletions src/tempe/package.json
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
{
"urls": [
["tempe/__init__.py", "github:unital/tempe/src/tempe/__init__.py"],
["tempe/_speedups.py", "github:unital/tempe/src/tempe/_speedups.py"],
["tempe/_data_view_math.py", "github:unital/tempe/src/tempe/_data_view_math.py"],
["tempe/bitmaps.py", "github:unital/tempe/src/tempe/bitmaps.py"],
["tempe/data_view.py", "github:unital/tempe/src/tempe/data_view.py"],
["tempe/display.py", "github:unital/tempe/src/tempe/display.py"],
["tempe/font.py", "github:unital/tempe/src/tempe/font.py"],
["tempe/geometry.py", "github:unital/tempe/src/tempe/geometry.py"],
["tempe/lines.py", "github:unital/tempe/src/tempe/lines.py"],
["tempe/markers.py", "github:unital/tempe/src/tempe/markers.py"],
["tempe/polar_geometry.py", "github:unital/tempe/src/tempe/polar_geometry.py"],
["tempe/raster.py", "github:unital/tempe/src/tempe/raster.py"],
["tempe/shapes.py", "github:unital/tempe/src/tempe/shapes.py"],
["tempe/surface.py", "github:unital/tempe/src/tempe/surface.py"],
["tempe/text.py", "github:unital/tempe/src/tempe/text.py"],
["tempe/window.py", "github:unital/tempe/src/tempe/window.py"],
["tempe/util.py", "github:unital/tempe/src/tempe/util.py"],
["tempe/colormaps/__init__.py", "github:unital/tempe/src/tempe/colormaps/__init__.py"],
["tempe/colormaps/inferno.py", "github:unital/tempe/src/tempe/colormaps/inferno.py"],
["tempe/colormaps/magma.py", "github:unital/tempe/src/tempe/colormaps/magma.py"],
["tempe/colormaps/plasma.py", "github:unital/tempe/src/tempe/colormaps/plasma.py"],
["tempe/colormaps/twilight.py", "github:unital/tempe/src/tempe/colormaps/twilight.py"],
["tempe/colormaps/viridis.py", "github:unital/tempe/src/tempe/colormaps/viridis.py"],
["tempe/colors/__init__.py", "github:unital/tempe/src/tempe/colors/__init__.py"],
["tempe/colors/basic.py", "github:unital/tempe/src/tempe/colors/basic.py"],
["tempe/colors/convert.py", "github:unital/tempe/src/tempe/colors/convert.py"],
["tempe/colors/web.py", "github:unital/tempe/src/tempe/colors/web.py"],
["tempe/fonts/__init__.py", "github:unital/tempe/src/tempe/fonts/__init__.py"],
["tempe/fonts/ubuntu16.py", "github:unital/tempe/src/tempe/fonts/ubuntu16.py"],
["tempe/fonts/ubuntu16bold.py", "github:unital/tempe/src/tempe/fonts/ubuntu16bold.py"]
["tempe/__init__.py", "github:unital/tempe/releases/0.3/src/tempe/__init__.py"],
["tempe/_speedups.py", "github:unital/tempe/releases/0.3/src/tempe/_speedups.py"],
["tempe/_data_view_math.py", "github:unital/tempe/releases/0.3/src/tempe/_data_view_math.py"],
["tempe/bitmaps.py", "github:unital/tempe/releases/0.3/src/tempe/bitmaps.py"],
["tempe/data_view.py", "github:unital/tempe/releases/0.3/src/tempe/data_view.py"],
["tempe/display.py", "github:unital/tempe/releases/0.3/src/tempe/display.py"],
["tempe/font.py", "github:unital/tempe/releases/0.3/src/tempe/font.py"],
["tempe/geometry.py", "github:unital/tempe/releases/0.3/src/tempe/geometry.py"],
["tempe/lines.py", "github:unital/tempe/releases/0.3/src/tempe/lines.py"],
["tempe/markers.py", "github:unital/tempe/releases/0.3/src/tempe/markers.py"],
["tempe/polar_geometry.py", "github:unital/tempe/releases/0.3/src/tempe/polar_geometry.py"],
["tempe/raster.py", "github:unital/tempe/releases/0.3/src/tempe/raster.py"],
["tempe/shapes.py", "github:unital/tempe/releases/0.3/src/tempe/shapes.py"],
["tempe/surface.py", "github:unital/tempe/releases/0.3/src/tempe/surface.py"],
["tempe/text.py", "github:unital/tempe/releases/0.3/src/tempe/text.py"],
["tempe/window.py", "github:unital/tempe/releases/0.3/src/tempe/window.py"],
["tempe/util.py", "github:unital/tempe/releases/0.3/src/tempe/util.py"],
["tempe/colormaps/__init__.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/__init__.py"],
["tempe/colormaps/inferno.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/inferno.py"],
["tempe/colormaps/magma.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/magma.py"],
["tempe/colormaps/plasma.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/plasma.py"],
["tempe/colormaps/twilight.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/twilight.py"],
["tempe/colormaps/viridis.py", "github:unital/tempe/releases/0.3/src/tempe/colormaps/viridis.py"],
["tempe/colors/__init__.py", "github:unital/tempe/releases/0.3/src/tempe/colors/__init__.py"],
["tempe/colors/basic.py", "github:unital/tempe/releases/0.3/src/tempe/colors/basic.py"],
["tempe/colors/convert.py", "github:unital/tempe/releases/0.3/src/tempe/colors/convert.py"],
["tempe/colors/web.py", "github:unital/tempe/releases/0.3/src/tempe/colors/web.py"],
["tempe/fonts/__init__.py", "github:unital/tempe/releases/0.3/src/tempe/fonts/__init__.py"],
["tempe/fonts/ubuntu16.py", "github:unital/tempe/releases/0.3/src/tempe/fonts/ubuntu16.py"],
["tempe/fonts/ubuntu16bold.py", "github:unital/tempe/releases/0.3/src/tempe/fonts/ubuntu16bold.py"]
],
"version": "0.3.dev"
"version": "0.3"
}
14 changes: 7 additions & 7 deletions src/tempe_displays/package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"urls": [
["tempe_displays/__init__.py", "github:unital/tempe/src/tempe_displays/__init__.py"],
["tempe_displays/st7789/__init__.py", "github:unital/tempe/src/tempe_displays/st7789/__init__.py"],
["tempe_displays/st7789/base.py", "github:unital/tempe/src/tempe_displays/st7789/base.py"],
["tempe_displays/st7789/pimoroni.py", "github:unital/tempe/src/tempe_displays/st7789/pimoroni.py"],
["tempe_displays/st7789/spi.py", "github:unital/tempe/src/tempe_displays/st7789/spi.py"]
["tempe_displays/st7789/waveshare.py", "github:unital/tempe/src/tempe_displays/st7789/waveshare.py"],
["tempe_displays/__init__.py", "github:unital/tempe/releases/0.3/src/tempe_displays/__init__.py"],
["tempe_displays/st7789/__init__.py", "github:unital/tempe/releases/0.3/src/tempe_displays/st7789/__init__.py"],
["tempe_displays/st7789/base.py", "github:unital/tempe/releases/0.3/src/tempe_displays/st7789/base.py"],
["tempe_displays/st7789/pimoroni.py", "github:unital/tempe/releases/0.3/src/tempe_displays/st7789/pimoroni.py"],
["tempe_displays/st7789/spi.py", "github:unital/tempe/releases/0.3/src/tempe_displays/st7789/spi.py"],
["tempe_displays/st7789/waveshare.py", "github:unital/tempe/releases/0.3/src/tempe_displays/st7789/waveshare.py"]
],
"version": "0.3.dev"
"version": "0.3"
}