<commit_before>import { Automaton, ChannelUpdateEvent, FxDefinition, FxParam, SerializedAutomaton, SerializedChannel, SerializedCurve } from '@fms-cat/automaton';
import { GUISettings, defaultGUISettings } from './types/GUISettings';
import { SerializedAutomatonWithGUI, defaultDataWithGUI } from './types/SerializedAutomatonWithGUI';
import { App } from './view/components/App';
import { ChannelWithGUI } from './ChannelWithGUI';
import { ContextMenuCommand } from './view/states/ContextMenu';
import { CurveWithGUI } from './CurveWithGUI';
import { EventEmittable } from './mixins/EventEmittable';
import { GUIRemocon } from './GUIRemocon';
import { MinimizeOptions } from './types/MinimizeOptions';
import React from 'react';
import ReactDOM from 'react-dom';
import { Serializable } from './types/Serializable';
import type { ToastyParams } from './types/ToastyParams';
import { WithID } from './types/WithID';
import { applyMixins } from './utils/applyMixins';
import { compat } from './compat/compat';
import { createStore } from './view/states/store';
import fxDefinitions from './fxs';
import { jsonCopy } from './utils/jsonCopy';
import { lofi } from './utils/lofi';
import { minimizeData } from './minimizeData';
import produce from 'immer';

/**
 * Interface for options of {@link AutomatonWithGUI}.
 */
export interface AutomatonWithGUIOptions {
  /**
   * DOM element where you want to attach the Automaton GUI.
   */
  gui?: HTMLElement;

  /**
   * Initial state of play / pause. `false` by default.
   */
  isPlaying?: boolean;

  /**
   * Disable warnings for not used channels.
   * Intended to be used by automaton-electron.
   */
  disableChannelNotUsedWarning?: boolean;
<commit_msg>(from automaton-with-gui repo) AutomatonWithGUIOptions now extends AutomatonOptions<commit_after>import { Automaton, ChannelUpdateEvent, FxDefinition, FxParam, SerializedAutomaton, SerializedChannel, SerializedCurve } from '@fms-cat/automaton';
import { GUISettings, defaultGUISettings } from './types/GUISettings';
import { SerializedAutomatonWithGUI, defaultDataWithGUI } from './types/SerializedAutomatonWithGUI';
import { App } from './view/components/App';
import type { AutomatonOptions } from '@fms-cat/automaton/types/types/AutomatonOptions'; // 🔥🔥🔥🔥🔥🔥
import { ChannelWithGUI } from './ChannelWithGUI';
import { ContextMenuCommand } from './view/states/ContextMenu';
import { CurveWithGUI } from './CurveWithGUI';
import { EventEmittable } from './mixins/EventEmittable';
import { GUIRemocon } from './GUIRemocon';
import { MinimizeOptions } from './types/MinimizeOptions';
import React from 'react';
import ReactDOM from 'react-dom';
import { Serializable } from './types/Serializable';
import type { ToastyParams } from './types/ToastyParams';
import { WithID } from './types/WithID';
import { applyMixins } from './utils/applyMixins';
import { compat } from './compat/compat';
import { createStore } from './view/states/store';
import fxDefinitions from './fxs';
import { jsonCopy } from './utils/jsonCopy';
import { lofi } from './utils/lofi';
import { minimizeData } from './minimizeData';
import produce from 'immer';

/**
 * Interface for options of {@link AutomatonWithGUI}.
 */
export interface AutomatonWithGUIOptions extends AutomatonOptions {
  /**
   * DOM element where you want to attach the Automaton GUI.
   */
  gui?: HTMLElement;

  /**
   * Initial state of play / pause. `false` by default.
   */
  isPlaying?: boolean;

  /**
   * Disable warnings for not used channels.
   * Intended to be used by automaton-electron.
   */
  disableChannelNotUsedWarning?: boolean;

{'fraction_non_alphanumeric': 0.13131593559133814, 'fraction_numerical': 0.0, 'mean_word_length': 4.551617873651772, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7116273', 'n_tokens_mistral': 1037, 'n_tokens_neox': 1038, 'n_words': 306}