4.3 KiB
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.