Skip to main content

Advanced Track

Use this track once the starter path is clear and your app needs denser runtime control.

Goal

Adopt Tessera for a long-lived product shell: tuned runtime, robust theming, custom components, and predictable performance.

  1. App Model
  2. Screen & Layout
  3. Runtime & Screen Options
  4. Theme System
  5. Custom Components
  6. Architectural Review
  7. Performance

Builder configuration example

csharp.cs
using Tessera;
using Tessera.Styles;

var app = TesseraApplication.CreateBuilder()
    .UseApp<OpsApp>()
    .ConfigureRuntime(static runtime =>
    {
        runtime.PointerActivationPolicy = PointerActivationPolicy.SingleClick;
        runtime.Screen = new ScreenOptions
        {
            AltScreen = true,
            WindowTitle = "Ops",
            EnableFocusReporting = true,
            EnableBracketedPaste = true,
            MouseTracking = MouseTrackingMode.AllMotion
        };
    })
    .ConfigureTheme(static theme =>
    {
        theme.SetControlDefaults<Button>(style =>
            style.BorderStyleText = TesseraStyle.Empty.WithForeground(AnsiColor.BrightBlack));
    })
    .Build();

await app.RunAsync();

Advanced adoption checklist

  • runtime options explicit in builder
  • keyboard and pointer behavior tested in your target terminal set
  • theme overrides applied by token/hook hierarchy
  • widget selection based on product tasks, not API novelty
  • one flagship example chosen as a reference architecture

When to use Tessera.Core namespaces

Stay on the public Tessera lane for most apps. Move into lower-level Tessera.Core namespaces only when the default runtime contract is not enough for your product constraints.

Next step

When implementing feature surfaces, pick from Widget Reference first, then use Recipes for practical assembly patterns.