Zpět na projekty
TUIX v0.5Beta

Naposledy aktualizováno: 2026-05-20

Začínáme s TUIX Core

Tento průvodce ukazuje standardní flow ve v0.5: inicializovat engine, zaregistrovat buildry, vytvořit/vybrat scénu, spustit vstup pro interaktivní aplikace, vytvořit widgety, spouštět snímky a uklidit.

Doporučené pořadí čtení

  1. Nainstalujte TUIX Core a ověřte importy.
  2. Vytvořte příklad prvního widgetu.
  3. Před skládáním větších obrazovek si přečtěte Widgety, Layout API a Zpracování vstupu.

Předpoklady

  • Python 3.10 nebo novější.
  • Terminál s podporou ANSI escape sekvencí.
  • Cython 0.29 nebo novější a C kompilátor pouze při buildu ze zdroje.

Import pattern

from tuix.core import engine, builders, scenes, registry, objects, buffers, input

Standardní workflow

  1. Zavolejte engine.init().
  2. Před tvorbou objektů zavolejte builders.register_standard().
  3. Vytvořte scénu přes scenes.init_scene("Main") a vyberte ji pomocí scenes.select_scene("Main") nebo registry.registry.current_scene_name.
  4. Pro interaktivní widgety spusťte input.listen().
  5. Vytvářejte objekty pomocí objects.create_object(...).
  6. Pro každý snímek zavolejte engine.main_loop().
  7. Při úklidu zastavte vstup a vypněte engine.

Minimální příklad

from tuix.core import engine, builders, scenes, objects, input

engine.init()
builders.register_standard()

scenes.init_scene('Main')
scenes.select_scene('Main')
input.listen()

uid = objects.create_object(builders.TEXT, 'Main', 0.5, 0.1, 0.05, 0.05)
obj = objects.get_object_by_uid(uid)
objects.tuix_text_set_text(obj, 'Hello from TUIX 0.5')
objects.tuix_text_set_fg(obj, 120, 220, 160)

for _ in range(5):
    engine.main_loop()

input.stop()
engine.shutdown()

Co se děje v každém snímku

  • Vstup se čte z nativních front a routuje se na fokusované, zachycené, modální nebo přes hitmapu vybrané widgety.
  • Geometrie se řeší z proporcionálních modifikátorů, výsledků parent layoutu, layout slotů a grid placementu.
  • Buildry aktualizují stav a poskytují pixely, často přes persistentní pixel buffery.
  • Kompozitor clipuje viewporty, sestaví hitmapu, sloučí buffery a renderer zapisuje terminálem viditelné rozdíly.