1.4.0 • Published 29 days ago

@fluidframework/ink v1.4.0

Weekly downloads
1,318
License
MIT
Repository
github
Last release
29 days ago

@fluidframework/ink

Ink is a shared object which holds a collection of ink strokes.

Creation and setup

To create an Ink object, call the static create method:

const ink = Ink.create(this.runtime, id);

You'll also need an IPen that will describe the style of your stroke:

this.currentPen = {
    color: { r: 0, g: 161 / 255, b: 241 / 255, a: 0 },
    thickness: 7,
};

Usage

Note: this is subject to change, see the "Next steps" section below

Once the Ink object is created, you can add and update ink strokes using createStroke and appendPointToStroke. Most likely you'll want to do this in response to incoming Pointer Events:

private handlePointerDown(e: PointerEvent) {
    const newStroke = ink.createStroke(this.currentPen);
    this.currentStrokeId = newStroke.id;
    handlePointerMotion(e);
}

private handlePointerMotion(e: PointerEvent) {
    const inkPoint = {
        x: e.clientX,
        y: e.clientY,
        time: Date.now(),
        pressure: e.pressure,
    };
    ink.appendPointToStroke(inkPoint, this.currentStrokeId);
}

canvas.addEventListener("pointerdown", this.handlePointerDown);
canvas.addEventListener("pointermove", this.handlePointerMotion);
canvas.addEventListener("pointerup", this.handlePointerMotion);

You can also clear all the ink with clear:

ink.clear();

To observe and react to changes to the ink from both your own modifications as well as remote participants, you can listen to the "createStroke", "stylus" and "clear" events. Since you don't need to render anything yet when a stroke is first created, registering for "createStroke" may not be necessary.

ink.on("stylus", this.renderStylusUpdate.bind(this));
ink.on("clear", this.renderClear.bind(this));

Next steps for Ink/Canvases

Ink is an in-progress data structure with the purpose of facilitating collaborative inking. There is a set of anticipated work to be done still, including breaking changes across Ink, client-ui-lib/OverlayCanvas, and the Canvas example. Please do try it out and let us know what you think, but also be prepared for the following incoming changes:

Coordinate bundling

  • Enable bundled coordinate updates rather than one per op

Canvas consolidation

  • Replace client-ui-lib's OverlayCanvas with ink's InkCanvas, or remove it.
  • Consider splitting the new InkCanvas control into input/output, to enable reuse of input handling across multiple renderers.

Wet ink and ink drying

  • Distinguish wet/dry ink in the data model
  • Add an op for drying a stroke
  • Enable wet/dry ink on OverlayCanvas/canvas

Atomic stroke rendering

  • Enable atomic stroke rendering on the canvases, allowing transparency in ink color (requires wet ink for rendering performance)
2.0.0-rc.1.0.9

29 days ago

1.4.0

1 month ago

2.0.0-rc.1.0.8

2 months ago

2.0.0-rc.1.0.7

2 months ago

2.0.0-rc.1.0.6

2 months ago

2.0.0-rc.1.0.5

2 months ago

2.0.0-rc.1.0.4

3 months ago

2.0.0-rc.1.0.3

3 months ago

2.0.0-rc.1.0.2

3 months ago

2.0.0-rc.1.0.1

4 months ago

2.0.0-rc.1.0.0

4 months ago

1.3.7

9 months ago

1.3.6

1 year ago

1.3.5-121405

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.2.8

1 year ago

1.4.0-121020

1 year ago

1.4.0-111997

1 year ago

1.3.3

1 year ago

1.3.1

2 years ago

1.3.0

2 years ago

1.4.0-115997

1 year ago

1.3.2-112998

1 year ago

1.4.0-108057

2 years ago

1.4.0-106438

2 years ago

1.3.0-97515

2 years ago

1.3.0-100520

2 years ago

1.2.7

2 years ago

0.59.4003

2 years ago

1.2.6-93452

2 years ago

1.2.6

2 years ago

0.59.2004

2 years ago

1.2.0-77818

2 years ago

1.2.3-83900

2 years ago

1.1.0-76254

2 years ago

1.2.0

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0-78837

2 years ago

1.2.3-84921

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.2

2 years ago

1.1.0-75972

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

0.59.4002

2 years ago

0.59.1001

2 years ago

0.59.3000-67119

2 years ago

0.59.4000-71130

2 years ago

0.59.4000-71128

2 years ago

0.59.2002

2 years ago

0.59.2003

2 years ago

0.59.3003

2 years ago

0.59.3001

2 years ago

0.59.3002

2 years ago

0.59.3000

2 years ago

1.0.0

2 years ago

0.59.4000

2 years ago

0.59.4001

2 years ago

0.59.3000-66610

2 years ago

0.59.2001

2 years ago

0.59.2000-63294

2 years ago

0.59.2000

2 years ago

0.59.1001-62246

2 years ago

0.59.1000-61898

2 years ago

0.59.1000

2 years ago

0.59.2000-61729

2 years ago

0.58.3000-61081

2 years ago

0.56.11

2 years ago

0.56.10

2 years ago

0.58.2000-58133

2 years ago

0.58.2000

2 years ago

0.58.2002

2 years ago

0.58.2001

2 years ago

0.58.1000

2 years ago

0.58.1001

2 years ago

0.55.4

2 years ago

0.55.2

2 years ago

0.55.3

2 years ago

0.55.0

2 years ago

0.55.1

2 years ago

0.57.0-51086

2 years ago

0.56.5

2 years ago

0.56.6

2 years ago

0.56.3

2 years ago

0.56.4

2 years ago

0.56.1

2 years ago

0.56.2

2 years ago

0.56.0

2 years ago

0.56.9

2 years ago

0.56.7

2 years ago

0.56.8

2 years ago

0.58.0-55561

2 years ago

0.54.3

2 years ago

0.54.1

2 years ago

0.56.0-49831

2 years ago

0.54.2

2 years ago

0.54.0

2 years ago

0.55.0-48551

2 years ago

0.58.0-55983

2 years ago

0.54.0-47413

2 years ago

0.57.2

2 years ago

0.57.0

2 years ago

0.57.1

2 years ago

0.53.0

2 years ago

0.53.0-46105

2 years ago

0.52.0-44610

3 years ago

0.51.2

3 years ago

0.51.3

2 years ago

0.51.0

3 years ago

0.51.1

3 years ago

0.51.0-43124

3 years ago

0.52.1

2 years ago

0.52.0

2 years ago

0.50.3

3 years ago

0.50.4

2 years ago

0.50.2

3 years ago

0.50.1

3 years ago

0.50.0

3 years ago

0.50.0-41540

3 years ago

0.49.1

3 years ago

0.49.2

3 years ago

0.49.0

3 years ago

0.50.0-41365

3 years ago

0.48.5

3 years ago

0.49.0-39313

3 years ago

0.48.4

3 years ago

0.48.3

3 years ago

0.49.0-39015

3 years ago

0.48.2

3 years ago

0.48.1

3 years ago

0.48.0

3 years ago

0.48.0-38142

3 years ago

0.48.0-38105

3 years ago

0.46.2

3 years ago

0.47.1

3 years ago

0.47.0-36699

3 years ago

0.47.0

3 years ago

0.47.0-36362

3 years ago

0.46.1

3 years ago

0.47.0-35912

3 years ago

0.47.0-35961

3 years ago

0.46.0-34784

3 years ago

0.46.0

3 years ago

0.45.4

3 years ago

0.45.3

3 years ago

0.45.2

3 years ago

0.45.1

3 years ago

0.45.0

3 years ago

0.45.0-32948

3 years ago

0.44.1

3 years ago

0.39.8

3 years ago

0.44.0

3 years ago

0.39.7

3 years ago

0.44.0-30858

3 years ago

0.42.4

3 years ago

0.43.1

3 years ago

0.43.0

3 years ago

0.42.2

3 years ago

0.42.3

3 years ago

0.42.1

3 years ago

0.39.6

3 years ago

0.39.5

3 years ago

0.42.0-28410

3 years ago

0.42.0

3 years ago

0.41.3

3 years ago

0.41.4

3 years ago

0.41.2

3 years ago

0.42.0-27644

3 years ago

0.40.3

3 years ago

0.42.0-27549

3 years ago

0.42.0-27677

3 years ago

0.42.0-27683

3 years ago

0.41.1

3 years ago

0.41.0-27154

3 years ago

0.40.2

3 years ago

0.40.0

3 years ago

0.40.1

3 years ago

0.41.0

3 years ago

0.39.4

3 years ago

0.41.0-25957

3 years ago

0.40.0-25719

3 years ago

0.40.0-25851

3 years ago

0.38.2

3 years ago

0.38.1

3 years ago

0.38.4

3 years ago

0.38.3

3 years ago

0.39.0-23272

3 years ago

0.39.1

3 years ago

0.39.0

3 years ago

0.39.3

3 years ago

0.39.2

3 years ago

0.39.0-23254

3 years ago

0.38.0

3 years ago

0.38.0-22040

3 years ago

0.38.0-22000

3 years ago

0.38.0-21934

3 years ago

0.37.3-21287

3 years ago

0.37.4

3 years ago

0.37.3

3 years ago

0.37.2

3 years ago

0.37.1

3 years ago

0.37.0

3 years ago

0.37.0-20517

3 years ago

0.37.0-20427

3 years ago

0.36.2-20364

3 years ago

0.35.7-20343

3 years ago

0.36.1

3 years ago

0.35.5

3 years ago

0.35.6

3 years ago

0.36.0-18883

3 years ago

0.36.0

3 years ago

0.35.4

3 years ago

0.33.5

3 years ago

0.34.3

3 years ago

0.35.3

3 years ago

0.34.2

3 years ago

0.33.4

3 years ago

0.35.2

3 years ago

0.35.1

3 years ago

0.35.0

3 years ago

0.35.0-16887

3 years ago

0.35.0-16170

3 years ago

0.34.1

3 years ago

0.34.0

3 years ago

0.34.0-14942

3 years ago

0.33.3

3 years ago

0.32.5

3 years ago

0.32.4

3 years ago

0.33.2

3 years ago

0.33.1

3 years ago

0.33.0-13708

3 years ago

0.33.0

3 years ago

0.32.3

3 years ago

0.31.2

3 years ago

0.32.2

3 years ago

0.32.1

3 years ago

0.32.0

3 years ago

0.31.1

3 years ago

0.31.0

3 years ago

0.30.4

3 years ago

0.30.3

3 years ago

0.30.2

3 years ago

0.30.1

3 years ago

0.30.0

3 years ago

0.29.4

3 years ago

0.29.3

4 years ago

0.28.9

4 years ago

0.29.2

4 years ago

0.29.1

4 years ago

0.28.8

4 years ago

0.29.0

4 years ago

0.27.15

4 years ago

0.28.7

4 years ago

0.27.14

4 years ago

0.28.6

4 years ago

0.27.13

4 years ago

0.28.5

4 years ago

0.27.12

4 years ago

0.28.4

4 years ago

0.28.3

4 years ago

0.27.11

4 years ago

0.28.2

4 years ago

0.27.10

4 years ago

0.28.1

4 years ago

0.28.0

4 years ago

0.27.9

4 years ago

0.26.10

4 years ago

0.27.8

4 years ago

0.27.7

4 years ago

0.26.9

4 years ago

0.27.6

4 years ago

0.26.8

4 years ago

0.26.7

4 years ago

0.27.5

4 years ago

0.27.4

4 years ago

0.26.6

4 years ago

0.26.5

4 years ago

0.27.3

4 years ago

0.26.4

4 years ago

0.27.2

4 years ago

0.27.1

4 years ago

0.26.3

4 years ago

0.26.2

4 years ago

0.27.0

4 years ago

0.26.1

4 years ago

0.26.0

4 years ago

0.26.0-3177

4 years ago