Adrien Ufferte 896e2740b3 Compress large textures to VRAM formats and enable 2D mipmaps
All 747 imported PNGs were imported losslessly (compress/mode=0) without
mipmaps. Lossless textures are decompressed to raw RGBA8 in GPU memory,
so the big gameplay assets were extremely expensive: the 4100x2448
bush_curtain alone used ~40 MB of VRAM, and the 6400x8001 minigame
spritesheets ~205 MB each. Summed over the affected files, the
worst-case footprint was ~2.4 GB of texture memory for a game that
targets low-end 1-2 GB tablets with the gl_compatibility renderer. The
absence of mipmaps also caused shimmering and wasted bandwidth whenever
these textures were drawn below their native size, which is almost
always the case with the 2560x1800 canvas_items stretch.

- Switch the 119 textures with a dimension >= 512 px to VRAM
  compression (compress/mode=2) with generated mipmaps. The project
  already enables etc2_astc import, so mobile gets ETC2/ASTC and
  desktop gets S3TC/BPTC. The total footprint for these textures drops
  from ~2.4 GB raw RGBA8 to ~770 MB including mipmaps (~3x smaller
  resident set, plus faster texture uploads).
- Keep small UI textures (< 512 px, 626 files) lossless: their VRAM
  cost is negligible and block-compression artifacts would be most
  visible on small crisp UI art.
- Set the default 2D texture filter to Linear Mipmap so the generated
  mipmaps are actually sampled by canvas items (without this, mipmap
  generation would only add memory).
- Remove viewport/hdr_2d=true: HDR 2D allocates RGBA16F framebuffers,
  doubling framebuffer memory and bandwidth at 2560x1800 on exactly the
  GPUs that can least afford it. No scene uses glow or HDR values (no
  WorldEnvironment anywhere), so this was pure cost. As false is the
  default value, Godot drops the line entirely.

Texture quality should be eyeballed in the editor on the largest
illustrations; any texture where compression artifacts are noticeable
can be switched back to lossless individually.

Verified with the GUT test suite (62/62 passing).
2026-06-11 08:45:57 +02:00
2026-04-17 10:10:58 +02:00
2026-04-16 13:54:16 +02:00
2026-06-11 08:15:31 +02:00
2025-08-18 13:44:37 +02:00
2026-06-08 17:51:11 +02:00
2026-01-26 13:48:59 +01:00
2025-09-05 15:55:48 +02:00
2026-01-27 14:52:22 +01:00
2026-04-02 16:46:44 +02:00
2026-04-02 16:46:44 +02:00
2026-04-02 16:46:44 +02:00
2026-04-02 16:46:44 +02:00

Godot Version

📖 Kalulu — Learn to Read, the Smart Way

🌍 Available Languages


📑 Table of Contents

🧠 Why Kalulu?

Kalulu is more than just a game — its an educational adventure grounded in scientific research that helps children learn to read through a decoding-based method.

Each lesson follows a structured sequence based on linguistic data drawn from children's literature. Learners start with vowels and gradually move on to more complex sounds.


Features

  • Interactive grapheme-phoneme reading lessons
  • Adaptive difficulty progression
  • Child-friendly interface with engaging visuals

🛠️ Installation

📥 Clone the Repository

We recommend forking the repository before cloning, so you can easily contribute or manage your own changes.

  1. Go to the Kalulu GitHub Repository.
  2. Click the Fork button at the top-right corner to create your own copy of the repo.
  3. Once forked, open your terminal and run the following commands:
# Clone your fork of the repository
git clone https://github.com/YOUR_USERNAME/Kalulu-Frontend.git
# Or
git clone git@github.com:YOUR_USERNAME/Kalulu-Frontend.git

# Navigate into the project directory
cd Kalulu-Frontend

🔁 Remember to replace YOUR_USERNAME with your actual GitHub username.


🎮 Install the Godot Engine

To run Kalulu, you need the Godot Engine installed on your machine.

  1. Visit the official Godot Engine website: https://godotengine.org/
  2. Click on Download and choose the version compatible with your operating system.
  3. Extract the downloaded file and run the Godot executable to launch the editor.

That's it! You're now ready to explore the Kalulu project in Godot.


🧩 Addons

Kalulu includes several useful addons to enhance development and streamline workflow:

🔄 EnvironmentSwitcher

A utility to easily switch between development and production environments.

📤 export_tool_manager

Facilitates export to various platforms and simplifies the export process for additional tools like prof_tools.

godot-form-validator

A plugin for Godot 4 that adds validation logic to any control element in your project.

🗃️ godot-sqlite

Provides SQLite integration for Godot projects.

Important: This addon must be downloaded manually from the Godot AssetLib. The folder addons/godot-sqlite/bin is excluded from version control due to its large size. Make sure to download and install it after cloning the repository.


🤝 Contributing

We welcome contributions from everyone! Whether it's fixing bugs, improving documentation, or suggesting new features, your help is greatly appreciated.

How to Contribute

  1. Set up the Project
    See the Installation section to learn how to fork and clone the repository.

  2. Create a New Branch

    git checkout -b feature/your-feature-name
    
  3. Make Your Changes
    Implement your changes or improvements.

  4. Commit and Push

    git add .
    git commit -m "Describe your changes"
    git push origin feature/your-feature-name
    
  5. Open a Pull Request
    Navigate to your forked repository on GitHub and click Compare & pull request to submit your changes for review.

Please make sure your code follows our coding conventions and includes relevant tests or documentation updates when appropriate.


FAQ

📱 Is Kalulu available on mobile?

Yes! Kalulu is available on:

  • Android
  • iOS

💻 Is Kalulu available on desktop?

Yes! Desktop versions for Windows, Mac, and Linux are available in the Releases section.

🌐 Is Kalulu available directly on the web?

We are working on it, stay tuned!


Repository Description
Kalulu Backend Serverless API — authentication, sync, dashboards, and data management
Kalulu Language Lambda Pipeline that processes language packs and updates the database
Kalulu Languages Linguistic data packs (French, Spanish, Portuguese etc...)

Built with care by Excello Recherche & Education

We also have a website

S
Description
Kalulu Web autonome en français pour Joy — Docker, Godot 4.6 et Nginx
Readme 394 MiB
Languages
GDScript 96.6%
Python 2.5%
GDShader 0.6%
Dockerfile 0.3%