Skip to content

Document the component contribution contract #2

Open

Description

@dashersw

Give contributors a concrete, consistent definition of a completed Gea UI contribution.

Part of Gea UI Elements — Community Contributions.

Area: Shared contribution infrastructure

Scope and acceptance criteria

  • Document API/event naming, state ownership, cleanup, package placement, and typed native representations.
  • Require reuse of existing primitives and link existing implementations before proposing new ones.
  • Define PR expectations: usage example, behavior tests, target evidence, documentation, and explicit limitations.

Existing implementation to reuse

ScrollView, Canvas, Image/GIF, CameraView, VirtualList, virtual keyboard, Label/Text, TextField, TextArea, and Button already exist. Reuse those facilities; this issue does not request rebuilding them.

Validation

  • Demonstrate the guidance or tooling against existing components.
  • Record tested target behavior separately from source-only findings and unsupported paths.

Activity

  1. added
    documentationImprovements or additions to documentation
    enhancementNew feature or request
    help wantedExtra attention is needed
    ui-elementsCommunity UI elements contribution backlog
    on Sep 22, 2026
  2. moersoy commented on Oct 17, 2026

    @moersoy

    I'm taking this one. The contract is in #67 as docs/COMPONENTS.md. It writes down the rules VirtualList and CameraView already follow and records the current engine and target limits. One open question is flagged for review there: whether components report value changes as a typed onChange(next) or as the native InputEvent form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requesthelp wantedExtra attention is neededui-elementsCommunity UI elements contribution backlog

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions