Skip to main content

✦ CLI Loot Collector ✦

A neon-synthwave loot-box opener for your terminal, built with Textual. Chunky pixel-art sprites, a software-3D rotating reward cube, and lots of particle effects — all rendered with half-block characters so it stays crisp in a small terminal window.

main screen

Install

pipx install clilc
loot

(or pip install clilc, then run loot). pipx keeps it in its own isolated environment, which is ideal for a command-line app.

Controls

Key Action
O Open a loot box
A Toggle auto-play (auto-opens chests hands-free)
R Re-drop the gem hoard behind the chest
M Open the model inspector (cycle every item's 3D model)
Enter / Space Collect the revealed item & continue
/ Cycle models (in the inspector)
Q / Esc Quit / back

Your collection (items, total value, gear score, best rarity) persists between runs in a per-user data file (~/.local/share/clilc/save.json).

Run from source

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python main.py

The three screens

  1. Main — an idle treasure chest bobbing in front of a hoard of gems that fall from the top and pile up behind it: one gem per item you've collected, coloured by its rarity. The pile grows by one gem each time you return from a reward, and R re-drops the whole hoard. Your collection stats sit up top. Press O and the chest bursts open with a rarity-coloured particle blast.
  2. Looting — a CS:GO-style reel of rarity-tinted gem tiles spins over a "wavey RGB" gradient and decelerates to land your drop under the centre marker.
  3. Reward — a rotating 3D cube tinted to the item's rarity with an emissive glow and confetti, beside the item's name, value and gear score.

How the graphics work

Everything visual draws into a Buffer — a 2D grid of RGB pixels — which is streamed to the terminal using the upper-half-block character (foreground = top pixel, background = bottom pixel). That doubles vertical resolution and gives the chunky-pixel look. Runs of identical cells are merged so flat regions are nearly free to redraw at 30 fps.

Module Responsibility
loot/pixelcanvas.py Buffer + PixelCanvas widget (the rendering core)
loot/backdrop.py animated synthwave sun + perspective grid
loot/sprites.py procedural chest (with lift-open animation) + gem icons
loot/cube.py software 3D cube: rotate → project → shade → fill, + glow (fallback)
loot/mesh.py generic mesh renderer with a per-pixel z-buffer
loot/voxel.py voxel models, greedy meshing, .vox/.json loaders, item→model map
loot/itemmodels.py a code-authored voxel model for every item in the pool
loot/models/ drop your own .vox / .json models here (see its README)
loot/screens/inspector_screen.py the M model inspector
loot/particles.py particle system (sparkles / burst / confetti fountain)
loot/loot_table.py rarities, themed item pool, weighted rolls, persistence
loot/screens/ the three Textual screens and the flow between them

Rarities

Common · Uncommon · Rare · Epic · Legendary — each with its own colour, drop weight, glow intensity and confetti volume.

Dev tools

  • tools/render_preview.py — renders each scene's pixel buffer to a scaled-up PNG (tools/preview_*.png) for inspecting the art directly.
  • tools/drive.py — drives the real app headless through the full flow and saves screenshots, used to verify rendering and screen transitions.

Extending it

This first pass prioritises looking good; it's built to grow. Easy next steps: add items to POOL in loot/loot_table.py, tune rarity weights/colours in loot/palette.py, add new sprite shapes in loot/sprites.py, or add an inventory screen that reads the saved collection.

Release files for clilc 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clilc 0.1.0
File Size Uploaded
clilc-0.1.0.tar.gz 42.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clilc 0.1.0
File Interpreter ABI Platform
clilc-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 87.7 kB

Release files / clilc-0.1.0.tar.gz

Download URL clilc-0.1.0.tar.gz
Size 42.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5c1032339bfd53f2119ef051144e1cc19a6aba93aeb9ae19bf059584d628925d
BLAKE2b-256 checksum
How to use checksums
a51e1ac3369a5e2c0222d2fd2214dacebc0775964d6183f92cececcb629a39ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / clilc-0.1.0-py3-none-any.whl

Download URL clilc-0.1.0-py3-none-any.whl
Size 45.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
072e91d4933790d8ab6b2b2eb4ac22204ed7c68cdaafeabf4f7f2a5aecd82c4d
BLAKE2b-256 checksum
How to use checksums
7c16367d5343cbc16d7acb99991ef09379048def5d45a49e10c6297d440696ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page