Skip to content

annotator: React adapter — SVG render, zoom/pan, asset image, annotation layer #47

Description

@JArmandoAnaya

Context

First render adapter over the headless core (~700 LOC of JSX in v1 — the replaceable
part). The bootstrap's <AnnotatorCanvas> placeholder becomes real.

Deliverables

  • <AnnotatorCanvas>: asset image + SVG annotation layer + transient interaction layer;
    props: asset (url/bitmap + dimensions), schema, initial annotations, event callbacks
    (annotations changed, selection changed).
  • Zoom (wheel, pinch) + pan with screen↔image transform owned by the adapter; renders
    subscribe to store slices so drags repaint only the transient layer.
  • No HTTP, no routing, no fetching — everything by props/callbacks (embeddable contract).

Acceptance criteria

  • Demo page in frontend/app (dev route) drives the full tool set on a sample image
  • React DevTools profile: dragging re-renders only the transient layer

Metadata

Metadata

Assignees

No one assigned

    Labels

    frontendannotator / ui-core / app packagesm4M4 — Headless annotator (0.0.1-alpha.4)

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions