<commit_before>pancarte.js
===========

Dynamic clickable overlays on HTML5 video.

## Examples

### Recording

```javascript
// #points is an <input> in the page
// #video is the <video> in the page
var r = new PancarteRecorder(document.querySelector("#points"),
                             document.querySelector("#video"),
                             25, false,
                             { stroke: "rgba(0, 0, 0, 0.5)",
                              fill: "rgba(0, 0, 0, 0.3)" });
```

Then, click to make a polygon, and when you're done, press the `n` letter on the
keyboard. It goes to the next frame. If the object does not move, you can press
`n` and it will keep the frame.

If the fourth argument is `true`, you can draw rectangles by clicking and
dragging the mouse.

When you're done, copy paste the `<input>`, or call the `getPoints` method and
shove those points somewhere.

### Playing back the recording

```javascript
// timecode is the points we got during the recording
// video is the video
var events = {
  {
    time: 4.0,
    f: function() {
      alert("We are at 4.0 in the video, and this fires.");
    }
  }, {
    time: 8.0,
    f: function() {
      alert("We are at 8.0 in the video, and this fires.");
    }
  },
};
var p = new PancartePlayer(timecode, video, function() {
                                              alert("HELLO.");
                                            }, events, {
                                            stroke: "rgba(0, 0, 0, 0.5)",
                                            fill: "rgba(255, 255, 255, 0.3)" });
p.play();
```

## License
MPL 2.0


<commit_msg>add compatibility section<commit_after>pancarte.js
===========

Dynamic clickable overlays on HTML5 video.

## Examples

### Recording

```javascript
// #points is an <input> in the page
// #video is the <video> in the page
var r = new PancarteRecorder(document.querySelector("#points"),
                             document.querySelector("#video"),
                             25, false,
                             { stroke: "rgba(0, 0, 0, 0.5)",
                              fill: "rgba(0, 0, 0, 0.3)" });
```

Then, click to make a polygon, and when you're done, press the `n` letter on the
keyboard. It goes to the next frame. If the object does not move, you can press
`n` and it will keep the frame.

If the fourth argument is `true`, you can draw rectangles by clicking and
dragging the mouse.

When you're done, copy paste the `<input>`, or call the `getPoints` method and
shove those points somewhere.

### Playing back the recording

```javascript
// timecode is the points we got during the recording
// video is the video
var events = {
  {
    time: 4.0,
    f: function() {
      alert("We are at 4.0 in the video, and this fires.");
    }
  }, {
    time: 8.0,
    f: function() {
      alert("We are at 8.0 in the video, and this fires.");
    }
  },
};
var p = new PancartePlayer(timecode, video, function() {
                                              alert("HELLO.");
                                            }, events, {
                                            stroke: "rgba(0, 0, 0, 0.5)",
                                            fill: "rgba(255, 255, 255, 0.3)" });
p.play();
```

### Compatibility
We are still having issues with certain versions of Firefox and Chrome.
Have a look at the [issues page](https://github.com/padenot/pancarte.js/issues) for news and progress about it.

## License
MPL 2.0



{'fraction_non_alphanumeric': 0.12280701754385964, 'fraction_numerical': 0.022433132010353754, 'mean_word_length': 1.841503267973856, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6825288', 'n_tokens_mistral': 1031, 'n_tokens_neox': 958, 'n_words': 394}