Files

4.3 KiB

Endor UI examples

File Purpose
world-ui.endor Interactive Endor UI on a transformed 3D plane, with shared counter state, nested canvas, programmable camera and fixed UI controls.
scene3d.endor Shared 3D meshes, transforms and light with independent perspective/orthographic cameras, orbit controls and Endor buttons.
scene-viewports.endor One Scene2D in two CanvasViewports with independent Camera2D, a nested viewport, shared state and fixed overlay UI.
box-layout.endor Nested Row/Column/Overlay, shared text, finite border-box sizing, margins, borders, alignment and clipping.
gc-lifecycle.endor A Page/Block/Task/await-frame cycle: hidden retained Blocks keep running, then releasing the last references permits collection despite rendering caches.
scroll-axis.endor One shared TextBlock in vertical and horizontal viewports, live axis changes and independent offsets.
windows.endor Two real native windows in one Aster VM, live shared counter state and explicit Page ownership.
tabs.endor Three real Page tabs, shared counter state, source titles, native switching/closing and reopening through code.
window.endor A managed native Window resizes the actual shell; source callbacks update it and layout follows reported dimensions.
layout-cache.endor Per-occurrence source measurement caches, separate size/paint models, and a band using the logical viewport input.
source-layout.endor Source measurement reads its initial Mount parent; source arrangement moves a child and a click updates the shared layout model.
source-hit.endor Source circle hit testing, ordinary Block click subscriptions and fallback to the parent through transparent space.
source-paint.endor Source paint overrides render checked commands in the window; a source Button method updates the shared tint model.
visual-protocols.endor Real source calls for constrained native measurement, arrangement and managed paint-command results from live Mounts.
mount-lifecycle.endor Source onMount/onUnmount methods, two occurrences of one object, ordered notifications and retained Mount lifetime.
events.endor Managed event subscriptions, source onEvent override and numbered capture/target/bubble steps from native input.
native-subclasses.endor Real native TextBlock/Button/Page source subclasses, inherited fields, method overrides and shared field bindings.
classes.endor Endor class fields, inheritance, overriding, a retained receiver and Event arguments; native keyboard input updates shared model properties.
managed-types.endor Callable managed Endor types, one shared counter, two bound displays and a language callback invoked from native Button input.
page.endor Four top-level statements construct text, a rectangle and a page, then call page.render; no main wrapper.
main.endor The earlier function-entry form, producing the same frame as page.endor.
hello.endor Richer function-entry example covering a helper, Row/Column and Spacer.
fonts.endor Mixed Chinese/Latin text and proportional widths, with rectangles following narrow and wide letters.
workspace.endor Larger static workspace dashboard with reusable functions, metrics, progress bars and an activity column. Paste the complete file into Console in Script mode; all displayed data is illustrative.

Submit a file as the UTF-8 body of a namespace PUT request. No namespace, scene, render block or imports belong in the source.

The live /agent guide embeds page.endor exactly. Local tests execute examples through Aster and check the resulting coordinates and source ranges after VM cleanup. For Page window/vertical/horizontal/canvas modes, see page surfaces and the running start page's four working actions. The file is client-side sample material; Tessera's API stores source by namespace.

Return to the project guide.