diff --git a/build.gradle.kts b/build.gradle.kts index 39fd4d29ec..38991a08d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -173,6 +173,8 @@ kotlin { implementation(kotlinw("mui-icons-material")) implementation(kotlinw("emotion")) + // ThreeJS: + implementation(project(":ext:three")) implementation(npm("camera-controls", "^1.35.0")) // TODO: Revert when https://github.com/john-doherty/long-press-event 2.5 is released. @@ -184,7 +186,6 @@ kotlin { implementation(npm("clsx", "^2.0.0")) implementation(npm("react-draggable", "^4.4.4")) implementation(npm("react-dropzone", "^14.2.1")) - implementation(npm("three", "^0.120.0")) implementation(npm("react-mosaic-component", "^6.1.0")) implementation(npm("react-error-boundary", "^2.2.2")) implementation(npm("ace-builds", "1.28.0")) @@ -265,7 +266,6 @@ tasks.named("jsProcessResources") { dependsOn("kotlinNpmInstall") // for node_modules stuff from("build/js/node_modules/requirejs") { include("require.js") } - from("build/js/node_modules/three/build") { include("three.js") } from("build/js/node_modules/long-press-event/dist") { include("long-press-event.min.js") } from("build/js/node_modules/react-grid-layout") { into("react-grid-layout") diff --git a/ext/three/build.gradle.kts b/ext/three/build.gradle.kts new file mode 100644 index 0000000000..6408a0fd0b --- /dev/null +++ b/ext/three/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + kotlin("multiplatform") version Versions.kotlin +} + +group = "org.baaahs" +version = "0.0.1" + +fun kotlinw(target: String): String = + "org.jetbrains.kotlin-wrappers:kotlin-$target:${Versions.kotlinWrappers}" + +repositories { + mavenCentral() +} + +kotlin { + js(IR) { + browser() + } + + sourceSets { + val jsMain by getting { + dependencies { + implementation(kotlinw("browser-js")) + + implementation(npm("three", "^0.168.0")) + implementation(npm("@types/three", "^0.168.0")) + } + } + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AmbientLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/AmbientLight.module_three.kt new file mode 100644 index 0000000000..9698d0019a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AmbientLight.module_three.kt @@ -0,0 +1,16 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class AmbientLight : Light { + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally) + open val isAmbientLight: Boolean + override var override: Any + override val type: String /* String | "AmbientLight" */ +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AnimationAction.module_three.kt b/ext/three/src/jsMain/kotlin/three/AnimationAction.module_three.kt similarity index 71% rename from src/jsMain/kotlin/three/AnimationAction.module_three.kt rename to ext/three/src/jsMain/kotlin/three/AnimationAction.module_three.kt index 484a3be37b..b60327e992 100644 --- a/src/jsMain/kotlin/three/AnimationAction.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/AnimationAction.module_three.kt @@ -1,11 +1,24 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -open external class AnimationAction(mixer: AnimationMixer, clip: AnimationClip, localRoot: Object3D = definedExternally, blendMode: AnimationBlendMode = definedExternally) { - open var blendMode: AnimationBlendMode - open var loop: AnimationActionLoopStyles +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class AnimationAction(mixer: AnimationMixer, clip: AnimationClip, localRoot: Object3D/**/ = definedExternally, blendMode: Any = definedExternally) { + open var blendMode: Any + open var loop: Any open var time: Number open var timeScale: Number open var weight: Number @@ -21,7 +34,7 @@ open external class AnimationAction(mixer: AnimationMixer, clip: AnimationClip, open fun isRunning(): Boolean open fun isScheduled(): Boolean open fun startAt(time: Number): AnimationAction - open fun setLoop(mode: AnimationActionLoopStyles, repetitions: Number): AnimationAction + open fun setLoop(mode: Any, repetitions: Number): AnimationAction open fun setEffectiveWeight(weight: Number): AnimationAction open fun getEffectiveWeight(): Number open fun fadeIn(duration: Number): AnimationAction @@ -38,5 +51,5 @@ open external class AnimationAction(mixer: AnimationMixer, clip: AnimationClip, open fun stopWarping(): AnimationAction open fun getMixer(): AnimationMixer open fun getClip(): AnimationClip - open fun getRoot(): Object3D + open fun getRoot(): Object3D/**/ } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AnimationClip.module_three.kt b/ext/three/src/jsMain/kotlin/three/AnimationClip.module_three.kt new file mode 100644 index 0000000000..10aa52a407 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AnimationClip.module_three.kt @@ -0,0 +1,54 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface AnimationClipJSON { + var name: String + var duration: Number + var tracks: Array + var uuid: String + var blendMode: Any +} + +external interface MorphTarget { + var name: String + var vertices: Array +} + +open external class AnimationClip(name: String = definedExternally, duration: Number = definedExternally, tracks: Array = definedExternally, blendMode: Any = definedExternally) { + open var name: String + open var tracks: Array + open var blendMode: Any + open var duration: Number + open var uuid: String + open var results: Array + open fun resetDuration(): AnimationClip + open fun trim(): AnimationClip + open fun validate(): Boolean + open fun optimize(): AnimationClip + open fun clone(): AnimationClip /* this */ + open fun toJSON(clip: AnimationClip): Any + + companion object { + fun CreateFromMorphTargetSequence(name: String, morphTargetSequence: Array, fps: Number, noLoop: Boolean): AnimationClip + fun findByName(clipArray: Array, name: String): AnimationClip + fun CreateClipsFromMorphTargetSequences(morphTargets: Array, fps: Number, noLoop: Boolean): Array + fun parse(json: AnimationClipJSON): AnimationClip + fun parseAnimation(animation: AnimationClipJSON, bones: Array): AnimationClip + fun toJSON(clip: AnimationClip): AnimationClipJSON + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AnimationLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/AnimationLoader.module_three.kt new file mode 100644 index 0000000000..c40fdcc392 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AnimationLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class AnimationLoader(manager: LoadingManager = definedExternally) : Loader__1> { + open fun parse(json: Array): Array +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AnimationMixer.module_three.kt b/ext/three/src/jsMain/kotlin/three/AnimationMixer.module_three.kt new file mode 100644 index 0000000000..bf35f109d7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AnimationMixer.module_three.kt @@ -0,0 +1,57 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$66` { + var action: AnimationAction + var loopDelta: Number +} + +external interface `T$67` { + var action: AnimationAction + var direction: Number +} + +external interface AnimationMixerEventMap { + var loop: `T$66` + var finished: `T$67` +} + +open external class AnimationMixer : EventDispatcher/**/ { + constructor(root: Object3D/**/) + constructor(root: AnimationObjectGroup) + open var time: Number + open var timeScale: Number + open fun clipAction(clip: AnimationClip, root: Object3D/**/ = definedExternally, blendMode: Any = definedExternally): AnimationAction + open fun clipAction(clip: AnimationClip): AnimationAction + open fun clipAction(clip: AnimationClip, root: Object3D/**/ = definedExternally): AnimationAction + open fun clipAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally, blendMode: Any = definedExternally): AnimationAction + open fun clipAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally): AnimationAction + open fun existingAction(clip: AnimationClip, root: Object3D/**/ = definedExternally): AnimationAction? + open fun existingAction(clip: AnimationClip): AnimationAction? + open fun existingAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally): AnimationAction? + open fun stopAllAction(): AnimationMixer + open fun update(deltaTime: Number): AnimationMixer + open fun setTime(timeInSeconds: Number): AnimationMixer + open fun getRoot(): dynamic /* Object3D/**/ | AnimationObjectGroup */ + open fun uncacheClip(clip: AnimationClip) + open fun uncacheRoot(root: Object3D/**/) + open fun uncacheRoot(root: AnimationObjectGroup) + open fun uncacheAction(clip: AnimationClip, root: Object3D/**/ = definedExternally) + open fun uncacheAction(clip: AnimationClip) + open fun uncacheAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt b/ext/three/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt new file mode 100644 index 0000000000..e347055c5d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt @@ -0,0 +1,36 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$68` { + var total: Number + var inUse: Number +} + +external interface `T$69` { + var bindingsPerObject: Number + var objects: `T$68` +} + +open external class AnimationObjectGroup(vararg args: Any) { + open var uuid: String + open var stats: `T$69` + open val isAnimationObjectGroup: Boolean + open fun add(vararg args: Any) + open fun remove(vararg args: Any) + open fun uncache(vararg args: Any) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ArcCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/ArcCurve.module_three.kt new file mode 100644 index 0000000000..7d0f498630 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ArcCurve.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class ArcCurve(aX: Number = definedExternally, aY: Number = definedExternally, aRadius: Number = definedExternally, aStartAngle: Number = definedExternally, aEndAngle: Number = definedExternally, aClockwise: Boolean = definedExternally) : EllipseCurve { + open val isArcCurve: Any = definedExternally /* true */ + override var override: Any + override val type: String /* String | "ArcCurve" */ +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ArrayCamera.module_three.kt b/ext/three/src/jsMain/kotlin/three/ArrayCamera.module_three.kt similarity index 67% rename from src/jsMain/kotlin/three/ArrayCamera.module_three.kt rename to ext/three/src/jsMain/kotlin/three/ArrayCamera.module_three.kt index 03d54e7405..e264679e13 100644 --- a/src/jsMain/kotlin/three/ArrayCamera.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/ArrayCamera.module_three.kt @@ -1,9 +1,8 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class ArrayCamera(cameras: Array = definedExternally) : PerspectiveCamera { + open val isArrayCamera: Boolean open var cameras: Array - open var isArrayCamera: Boolean } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ArrowHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/ArrowHelper.module_three.kt new file mode 100644 index 0000000000..a8830cd73a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ArrowHelper.module_three.kt @@ -0,0 +1,30 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class ArrowHelper : Object3D/**/ { + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Color = definedExternally, headLength: Number = definedExternally, headWidth: Number = definedExternally) + constructor() + constructor(dir: Vector3 = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Color = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Color = definedExternally, headLength: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: String = definedExternally, headLength: Number = definedExternally, headWidth: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: String = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: String = definedExternally, headLength: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Number = definedExternally, headLength: Number = definedExternally, headWidth: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Number = definedExternally) + constructor(dir: Vector3 = definedExternally, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Number = definedExternally, headLength: Number = definedExternally) + open var override: Any + override val type: String /* String | "ArrowHelper" */ + open var line: Line, out Material> + open var cone: Mesh, *> + open fun setColor(color: Color) + open fun setColor(color: String) + open fun setColor(color: Number) + open fun setDirection(dir: Vector3) + open fun setLength(length: Number, headLength: Number = definedExternally, headWidth: Number = definedExternally) + open fun copy(source: ArrowHelper /* this */): ArrowHelper /* this */ + open fun dispose() +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Audio.module_three.kt b/ext/three/src/jsMain/kotlin/three/Audio.module_three.kt similarity index 75% rename from src/jsMain/kotlin/three/Audio.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Audio.module_three.kt index 6c6443bbce..75825a8b28 100644 --- a/src/jsMain/kotlin/three/Audio.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Audio.module_three.kt @@ -1,12 +1,13 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three import org.w3c.dom.HTMLMediaElement +import web.audio.* +import web.media.streams.MediaStream -open external class Audio(listener: AudioListener) : Object3D { - override var type: String /* 'Audio' */ +open external class Audio(listener: AudioListener) : Object3D/**/ { + override val type: String /* String | "Audio" */ open var listener: AudioListener open var context: AudioContext open var gain: GainNode @@ -22,27 +23,27 @@ open external class Audio(listener: AudioListener) : Objec open var isPlaying: Boolean open var hasPlaybackControl: Boolean open var sourceType: String - open var source: AudioBufferSourceNode? - open var filters: Array + open var source: AudioScheduledSourceNode? + open var filters: Array open fun getOutput(): NodeType - open fun setNodeSource(audioNode: AudioBufferSourceNode): Audio /* this */ + open fun setNodeSource(audioNode: AudioScheduledSourceNode): Audio /* this */ open fun setMediaElementSource(mediaElement: HTMLMediaElement): Audio /* this */ open fun setMediaStreamSource(mediaStream: MediaStream): Audio /* this */ open fun setBuffer(audioBuffer: AudioBuffer): Audio /* this */ open fun play(delay: Number = definedExternally): Audio /* this */ - open fun onEnded() open fun pause(): Audio /* this */ open fun stop(): Audio /* this */ + open fun onEnded() open fun connect(): Audio /* this */ open fun disconnect(): Audio /* this */ - open fun setDetune(value: Number): Audio /* this */ open fun getDetune(): Number - open fun getFilters(): Array - open fun setFilters(value: Array): Audio /* this */ - open fun getFilter(): Any - open fun setFilter(filter: Any): Audio /* this */ - open fun setPlaybackRate(value: Number): Audio /* this */ + open fun setDetune(value: Number): Audio /* this */ + open fun getFilter(): AudioNode + open fun setFilter(filter: AudioNode): Audio /* this */ + open fun getFilters(): Array + open fun setFilters(value: Array): Audio /* this */ open fun getPlaybackRate(): Number + open fun setPlaybackRate(value: Number): Audio /* this */ open fun getLoop(): Boolean open fun setLoop(value: Boolean): Audio /* this */ open fun setLoopStart(value: Number): Audio /* this */ diff --git a/ext/three/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt b/ext/three/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt new file mode 100644 index 0000000000..aef6322b4a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* +import web.audio.AnalyserNode +import web.audio.AudioNode + +open external class AudioAnalyser(audio: Audio, fftSize: Number = definedExternally) { + open var analyser: AnalyserNode + open var data: Uint8Array + open fun getFrequencyData(): Uint8Array + open fun getAverageFrequency(): Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AudioListener.module_three.kt b/ext/three/src/jsMain/kotlin/three/AudioListener.module_three.kt new file mode 100644 index 0000000000..70a32bf958 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AudioListener.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* +import web.audio.AudioContext +import web.audio.AudioNode +import web.audio.GainNode + +open external class AudioListener : Object3D/**/ { + override val type: String /* String | "AudioListener" */ + open var context: AudioContext + open var gain: GainNode + open var filter: AudioNode + open var timeDelta: Number + open fun getInput(): GainNode + open fun removeFilter(): AudioListener /* this */ + open fun getFilter(): AudioNode + open fun setFilter(value: AudioNode): AudioListener /* this */ + open fun getMasterVolume(): Number + open fun setMasterVolume(value: Number): AudioListener /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AudioLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/AudioLoader.module_three.kt new file mode 100644 index 0000000000..0a46a18096 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AudioLoader.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import web.audio.AudioBuffer + +open external class AudioLoader(manager: LoadingManager = definedExternally) : Loader__1 \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/AxesHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/AxesHelper.module_three.kt new file mode 100644 index 0000000000..c246d838a2 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/AxesHelper.module_three.kt @@ -0,0 +1,18 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class AxesHelper(size: Number = definedExternally) : LineSegments, dynamic> { + override var override: Any + override val type: String /* String | "AxesHelper" */ + open fun setColors(xAxisColor: Color, yAxisColor: Color, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: Color, yAxisColor: String, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: Color, yAxisColor: Number, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: String, yAxisColor: Color, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: String, yAxisColor: String, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: String, yAxisColor: Number, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: Number, yAxisColor: Color, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: Number, yAxisColor: String, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun setColors(xAxisColor: Number, yAxisColor: Number, zAxisColor: Any /* Color | String | Number */): AxesHelper /* this */ + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BatchedMesh.module_three.kt b/ext/three/src/jsMain/kotlin/three/BatchedMesh.module_three.kt new file mode 100644 index 0000000000..90f2e49d84 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BatchedMesh.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface `T$105` { + var start: Number + var count: Number + var z: Number +} + +open external class BatchedMesh(maxInstanceCount: Number, maxVertexCount: Number, maxIndexCount: Number = definedExternally, material: Material = definedExternally) : Mesh, Material> { + open var boundingBox: Box3? + open var boundingSphere: Sphere? + open var customSort: ((self: BatchedMesh /* this */, list: Array<`T$105`>, camera: Camera) -> Unit)? + open var perObjectFrustumCulled: Boolean + open var sortObjects: Boolean + open val isBatchedMesh: Boolean + open fun computeBoundingBox() + open fun computeBoundingSphere() + open fun dispose(): BatchedMesh /* this */ + open fun setCustomSort(sortFunction: ((self: BatchedMesh /* this */, list: Array<`T$105`>, camera: Camera) -> Unit)?): BatchedMesh /* this */ + open fun getColorAt(instanceId: Number, target: Color) + open fun getMatrixAt(instanceId: Number, target: Matrix4): Matrix4 + open fun getVisibleAt(instanceId: Number): Boolean + open fun setColorAt(instanceId: Number, color: Color) + open fun setMatrixAt(instanceId: Number, matrix: Matrix4): BatchedMesh /* this */ + open fun setVisibleAt(instanceId: Number, visible: Boolean): BatchedMesh /* this */ + open fun addGeometry(geometry: BufferGeometry, reservedVertexRange: Number = definedExternally, reservedIndexRange: Number = definedExternally): Number + open fun addInstance(geometryId: Number): Number + open fun setGeometryAt(geometryId: Number, geometry: BufferGeometry): Number + open fun getBoundingBoxAt(geometryId: Number, target: Box3): Box3? + open fun getBoundingSphereAt(geometryId: Number, target: Sphere): Sphere? +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Bone.module_three.kt b/ext/three/src/jsMain/kotlin/three/Bone.module_three.kt new file mode 100644 index 0000000000..b121cfc090 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Bone.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Bone : Object3D/**/ { + open val isBone: Boolean + open var override: Any + override val type: String /* String | "Bone" */ +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt similarity index 57% rename from src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt rename to ext/three/src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt index b98e932e39..2975cbc3c5 100644 --- a/src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/BooleanKeyframeTrack.module_three.kt @@ -1,8 +1,7 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -open external class BooleanKeyframeTrack(name: String, times: Array, values: Array) : KeyframeTrack { +open external class BooleanKeyframeTrack(name: String, times: Array, values: Array) : KeyframeTrack { override var ValueTypeName: String } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Box2.module_three.kt b/ext/three/src/jsMain/kotlin/three/Box2.module_three.kt similarity index 95% rename from src/jsMain/kotlin/three/Box2.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Box2.module_three.kt index e4cd4b6716..587df4ebc6 100644 --- a/src/jsMain/kotlin/three/Box2.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Box2.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Box2(min: Vector2 = definedExternally, max: Vector2 = definedExternally) { open var min: Vector2 diff --git a/src/jsMain/kotlin/three/Box3.module_three.kt b/ext/three/src/jsMain/kotlin/three/Box3.module_three.kt similarity index 84% rename from src/jsMain/kotlin/three/Box3.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Box3.module_three.kt index 88943bf030..20ad27c91e 100644 --- a/src/jsMain/kotlin/three/Box3.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Box3.module_three.kt @@ -1,18 +1,17 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Box3(min: Vector3 = definedExternally, max: Vector3 = definedExternally) { open var min: Vector3 open var max: Vector3 - open var isBox3: Boolean + open val isBox3: Boolean open fun set(min: Vector3, max: Vector3): Box3 /* this */ - open fun setFromArray(array: ArrayLike): Box3 /* this */ + open fun setFromArray(array: Array): Box3 /* this */ open fun setFromBufferAttribute(bufferAttribute: BufferAttribute): Box3 /* this */ open fun setFromPoints(points: Array): Box3 /* this */ open fun setFromCenterAndSize(center: Vector3, size: Vector3): Box3 /* this */ - open fun setFromObject(obj: Object3D): Box3 /* this */ + open fun setFromObject(obj: Object3D/**/, precise: Boolean = definedExternally): Box3 /* this */ open fun clone(): Box3 /* this */ open fun copy(box: Box3): Box3 /* this */ open fun makeEmpty(): Box3 /* this */ @@ -22,7 +21,7 @@ open external class Box3(min: Vector3 = definedExternally, max: Vector3 = define open fun expandByPoint(point: Vector3): Box3 /* this */ open fun expandByVector(vector: Vector3): Box3 /* this */ open fun expandByScalar(scalar: Number): Box3 /* this */ - open fun expandByObject(obj: Object3D): Box3 /* this */ + open fun expandByObject(obj: Object3D/**/, precise: Boolean = definedExternally): Box3 /* this */ open fun containsPoint(point: Vector3): Boolean open fun containsBox(box: Box3): Boolean open fun getParameter(point: Vector3, target: Vector3): Vector3 diff --git a/ext/three/src/jsMain/kotlin/three/Box3Helper.module_three.kt b/ext/three/src/jsMain/kotlin/three/Box3Helper.module_three.kt new file mode 100644 index 0000000000..f699c47ad8 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Box3Helper.module_three.kt @@ -0,0 +1,14 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Box3Helper : LineSegments, Material> { + constructor(box: Box3, color: Color = definedExternally) + constructor(box: Box3) + constructor(box: Box3, color: String = definedExternally) + constructor(box: Box3, color: Number = definedExternally) + override var override: Any + override val type: String /* String | "Box3Helper" */ + open var box: Box3 + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BoxGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/BoxGeometry.module_three.kt new file mode 100644 index 0000000000..13e709fad7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BoxGeometry.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface `T$71` { + val width: Number + val height: Number + val depth: Number + val widthSegments: Number + val heightSegments: Number + val depthSegments: Number +} + +open external class BoxGeometry(width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally, depthSegments: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "BoxGeometry" */ + open val parameters: `T$71` + + companion object { + fun fromJSON(data: Any): BoxGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BoxHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/BoxHelper.module_three.kt new file mode 100644 index 0000000000..9aa089070e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BoxHelper.module_three.kt @@ -0,0 +1,15 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class BoxHelper : LineSegments, LineBasicMaterial> { + constructor(obj: Object3D/**/, color: Color = definedExternally) + constructor(obj: Object3D/**/) + constructor(obj: Object3D/**/, color: String = definedExternally) + constructor(obj: Object3D/**/, color: Number = definedExternally) + override var override: Any + override val type: String /* String | "BoxHelper" */ + open fun update(obj: Object3D/**/ = definedExternally) + open fun setFromObject(obj: Object3D/**/): BoxHelper /* this */ + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BufferAttribute.module_three.kt b/ext/three/src/jsMain/kotlin/three/BufferAttribute.module_three.kt new file mode 100644 index 0000000000..875c383510 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BufferAttribute.module_three.kt @@ -0,0 +1,193 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.* + +external interface BufferAttributeJSON { + var itemSize: Number + var type: String + var array: Array + var normalized: Boolean + var name: String? + get() = definedExternally + set(value) = definedExternally + var usage: Any? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$2` { + var offset: Number + var count: Number +} + +external interface `T$3` { + var start: Number + var count: Number +} + +open external class BufferAttribute { + constructor(array: Int8Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Int8Array, itemSize: Number) + constructor(array: Uint8Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint8Array, itemSize: Number) + constructor(array: Uint8ClampedArray, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint8ClampedArray, itemSize: Number) + constructor(array: Int16Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Int16Array, itemSize: Number) + constructor(array: Uint16Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint16Array, itemSize: Number) + constructor(array: Int32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Int32Array, itemSize: Number) + constructor(array: Uint32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint32Array, itemSize: Number) + constructor(array: Float32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Float32Array, itemSize: Number) + constructor(array: Float64Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Float64Array, itemSize: Number) + open var name: String + open var array: dynamic /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */ + open var itemSize: Int + open var usage: Any + open var gpuType: Any + open var updateRange: `T$2` + open var updateRanges: Array<`T$3`> + open var version: Number + open var normalized: Boolean + open val count: Int + open var needsUpdate: Boolean + open val isBufferAttribute: Boolean + open var onUploadCallback: () -> Unit + open fun onUpload(callback: () -> Unit): BufferAttribute /* this */ + open fun setUsage(usage: Any): BufferAttribute /* this */ + open fun addUpdateRange(start: Number, count: Number) + open fun clearUpdateRanges() + open fun clone(): BufferAttribute + open fun copy(source: BufferAttribute): BufferAttribute /* this */ + open fun copyAt(index1: Number, attribute: BufferAttribute, index2: Number): BufferAttribute /* this */ + open fun copyArray(array: Array): BufferAttribute /* this */ + open fun applyMatrix3(m: Matrix3): BufferAttribute /* this */ + open fun applyMatrix4(m: Matrix4): BufferAttribute /* this */ + open fun applyNormalMatrix(m: Matrix3): BufferAttribute /* this */ + open fun transformDirection(m: Matrix4): BufferAttribute /* this */ + open fun set(value: Array, offset: Number = definedExternally): BufferAttribute /* this */ + open fun set(value: Array): BufferAttribute /* this */ + open fun set(value: ArrayBufferView, offset: Number = definedExternally): BufferAttribute /* this */ + open fun set(value: ArrayBufferView): BufferAttribute /* this */ + open fun getComponent(index: Number, component: Number): Number + open fun setComponent(index: Number, component: Number, value: Number) + open fun getX(index: Number): Number + open fun setX(index: Number, x: Number): BufferAttribute /* this */ + open fun getY(index: Number): Number + open fun setY(index: Number, y: Number): BufferAttribute /* this */ + open fun getZ(index: Number): Number + open fun setZ(index: Number, z: Number): BufferAttribute /* this */ + open fun getW(index: Number): Number + open fun setW(index: Number, z: Number): BufferAttribute /* this */ + open fun setXY(index: Number, x: Number, y: Number): BufferAttribute /* this */ + open fun setXYZ(index: Number, x: Number, y: Number, z: Number): BufferAttribute /* this */ + open fun setXYZW(index: Number, x: Number, y: Number, z: Number, w: Number): BufferAttribute /* this */ + open fun toJSON(): BufferAttributeJSON +} + +open external class Int8BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Uint8BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Uint8ClampedBufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Int16BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Uint16BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Int32BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Uint32BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Float16BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) +} + +open external class Float32BufferAttribute : BufferAttribute { + constructor(array: Iterable, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Iterable, itemSize: Number) + constructor(array: Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Array, itemSize: Number) + constructor(array: ArrayBuffer, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: ArrayBuffer, itemSize: Number) + constructor(array: Number, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Number, itemSize: Number) + constructor(array: DoubleArray, itemSize: Number) + constructor(array: FloatArray, itemSize: Number) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BufferGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/BufferGeometry.module_three.kt new file mode 100644 index 0000000000..2c94ef45fb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BufferGeometry.module_three.kt @@ -0,0 +1,131 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$9` { + var type: String + var array: Array +} + +external interface `T$10` { + var center: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var radius: Number +} + +external interface `T$11` { + var attributes: Record + var index: `T$9`? + get() = definedExternally + set(value) = definedExternally + var morphAttributes: Record>? + get() = definedExternally + set(value) = definedExternally + var morphTargetsRelative: Boolean? + get() = definedExternally + set(value) = definedExternally + var groups: Array? + get() = definedExternally + set(value) = definedExternally + var boundingSphere: `T$10`? + get() = definedExternally + set(value) = definedExternally +} + +external interface BufferGeometryJSON { + var metadata: `T$0_Object3D`? + get() = definedExternally + set(value) = definedExternally + var uuid: String + var type: String + var name: String? + get() = definedExternally + set(value) = definedExternally + var userData: Record? + get() = definedExternally + set(value) = definedExternally + var data: `T$11`? + get() = definedExternally + set(value) = definedExternally +} + +external interface GeometryGroup { + var start: Number + var count: Number + var materialIndex: Number? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$12` { + @nativeGetter + operator fun get(name: String): Array? + @nativeSetter + operator fun set(name: String, value: Array) +} + +open external class BufferGeometry : EventDispatcher/*<`T$8`>*/ { + open var id: Number + open var uuid: String + open var name: String + open val type: String /* String | "BufferGeometry" */ + open var index: BufferAttribute? + open var attributes: Attributes + open var morphAttributes: `T$12` + open var morphTargetsRelative: Boolean + open var groups: Array + open var boundingBox: Box3? + open var boundingSphere: Sphere? + open var drawRange: `T$3` + open var userData: Record + open val isBufferGeometry: Boolean + open fun getIndex(): BufferAttribute? + open fun setIndex(index: BufferAttribute?): BufferGeometry /* this */ + open fun setIndex(index: Array?): BufferGeometry /* this */ + open fun setAttribute(name: K, attribute: Any): BufferGeometry /* this */ + open fun getAttribute(name: K): Any + open fun deleteAttribute(name: Any): BufferGeometry /* this */ + open fun hasAttribute(name: Any): Boolean + open fun addGroup(start: Number, count: Number, materialIndex: Number = definedExternally) + open fun clearGroups() + open fun setDrawRange(start: Number, count: Number) + open fun applyMatrix4(matrix: Matrix4): BufferGeometry /* this */ + open fun applyQuaternion(quaternion: Quaternion): BufferGeometry /* this */ + open fun rotateX(angle: Number): BufferGeometry /* this */ + open fun rotateY(angle: Number): BufferGeometry /* this */ + open fun rotateZ(angle: Number): BufferGeometry /* this */ + open fun translate(x: Number, y: Number, z: Number): BufferGeometry /* this */ + open fun scale(x: Number, y: Number, z: Number): BufferGeometry /* this */ + open fun lookAt(vector: Vector3): BufferGeometry /* this */ + open fun center(): BufferGeometry /* this */ + open fun setFromPoints(points: Array): BufferGeometry /* this */ + open fun setFromPoints(points: Array): BufferGeometry /* this */ + open fun computeBoundingBox() + open fun computeBoundingSphere() + open fun computeTangents() + open fun computeVertexNormals() + open fun normalizeNormals() + open fun toNonIndexed(): BufferGeometry + open fun toJSON(): BufferGeometryJSON + open fun clone(): BufferGeometry /* this */ + open fun copy(source: BufferGeometry): BufferGeometry /* this */ + open fun dispose() +} + +//typealias BufferGeometry__0 = BufferGeometry \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt new file mode 100644 index 0000000000..e491b281e8 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class BufferGeometryLoader(manager: LoadingManager = definedExternally) : Loader__1 */> { + open fun parse(json: Any): dynamic /* InstancedBufferGeometry | BufferGeometry */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Camera.module_three.kt b/ext/three/src/jsMain/kotlin/three/Camera.module_three.kt new file mode 100644 index 0000000000..aeb04ce4ac --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Camera.module_three.kt @@ -0,0 +1,16 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Camera : Object3D/**/ { + open val isCamera: Boolean + open var override: Any + override val type: String /* String | "Camera" */ + override var layers: Layers + open var matrixWorldInverse: Matrix4 + open var projectionMatrix: Matrix4 + open var projectionMatrixInverse: Matrix4 + open var coordinateSystem: Any + open var viewport: Vector4 + override fun getWorldDirection(target: Vector3): Vector3 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CameraHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/CameraHelper.module_three.kt new file mode 100644 index 0000000000..0f66674c68 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CameraHelper.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface `T$88` { + @nativeGetter + operator fun get(id: String): Array? + @nativeSetter + operator fun set(id: String, value: Array) +} + +open external class CameraHelper(camera: Camera) : LineSegments, dynamic> { + override var override: Any + override val type: String /* String | "CameraHelper" */ + open var camera: Camera + open var pointMap: `T$88` + override var matrix: Matrix4 + override var matrixAutoUpdate: Boolean + open fun setColors(frustum: Color, cone: Color, up: Color, target: Color, cross: Color): CameraHelper /* this */ + open fun update() + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CanvasTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/CanvasTexture.module_three.kt new file mode 100644 index 0000000000..dd44efbfd0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CanvasTexture.module_three.kt @@ -0,0 +1,75 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CanvasTexture : Texture { + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: ImageBitmap) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: ImageBitmap, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: ImageData) + constructor(canvas: ImageData, mapping: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: ImageData, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: HTMLImageElement) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: HTMLImageElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: HTMLCanvasElement) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: HTMLCanvasElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: HTMLVideoElement) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(canvas: OffscreenCanvas) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(canvas: OffscreenCanvas, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + open val isCanvasTexture: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CapsuleGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/CapsuleGeometry.module_three.kt new file mode 100644 index 0000000000..c12640198b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CapsuleGeometry.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$72` { + val radius: Number + val length: Number + val capSegments: Number + val radialSegments: Number +} + +open external class CapsuleGeometry(radius: Number = definedExternally, length: Number = definedExternally, capSegments: Number = definedExternally, radialSegments: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "CapsuleGeometry" */ + open val parameters: `T$72` + + companion object { + fun fromJSON(data: Any): CapsuleGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CatmullRomCurve3.module_three.kt b/ext/three/src/jsMain/kotlin/three/CatmullRomCurve3.module_three.kt new file mode 100644 index 0000000000..9d394132d8 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CatmullRomCurve3.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CatmullRomCurve3(points: Array = definedExternally, closed: Boolean = definedExternally, curveType: String /* "centripetal" | "chordal" | "catmullrom" */ = definedExternally, tension: Number = definedExternally) : Curve { + open val isCatmullRomCurve3: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "CatmullRomCurve3" */ + open var closed: Boolean + open var points: Array + open var curveType: String /* "centripetal" | "chordal" | "catmullrom" */ + open var tension: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CircleGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/CircleGeometry.module_three.kt new file mode 100644 index 0000000000..322bd37f0a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CircleGeometry.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$73` { + val radius: Number + val segments: Number + val thetaStart: Number + val thetaLength: Number +} + +open external class CircleGeometry(radius: Number = definedExternally, segments: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "CircleGeometry" */ + open val parameters: `T$73` + + companion object { + fun fromJSON(data: Any): CircleGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Clock.module_three.kt b/ext/three/src/jsMain/kotlin/three/Clock.module_three.kt similarity index 86% rename from src/jsMain/kotlin/three/Clock.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Clock.module_three.kt index c5f8c00eb4..a75b8b167d 100644 --- a/src/jsMain/kotlin/three/Clock.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Clock.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Clock(autoStart: Boolean = definedExternally) { open var autoStart: Boolean diff --git a/ext/three/src/jsMain/kotlin/three/Color.module_three.kt b/ext/three/src/jsMain/kotlin/three/Color.module_three.kt new file mode 100644 index 0000000000..647013711b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Color.module_three.kt @@ -0,0 +1,225 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external object _colorKeywords { + var aliceblue: Number /* 0xf0f8ff */ + var antiquewhite: Number /* 0xfaebd7 */ + var aqua: Number /* 0x00ffff */ + var aquamarine: Number /* 0x7fffd4 */ + var azure: Number /* 0xf0ffff */ + var beige: Number /* 0xf5f5dc */ + var bisque: Number /* 0xffe4c4 */ + var black: Number /* 0x000000 */ + var blanchedalmond: Number /* 0xffebcd */ + var blue: Number /* 0x0000ff */ + var blueviolet: Number /* 0x8a2be2 */ + var brown: Number /* 0xa52a2a */ + var burlywood: Number /* 0xdeb887 */ + var cadetblue: Number /* 0x5f9ea0 */ + var chartreuse: Number /* 0x7fff00 */ + var chocolate: Number /* 0xd2691e */ + var coral: Number /* 0xff7f50 */ + var cornflowerblue: Number /* 0x6495ed */ + var cornsilk: Number /* 0xfff8dc */ + var crimson: Number /* 0xdc143c */ + var cyan: Number /* 0x00ffff */ + var darkblue: Number /* 0x00008b */ + var darkcyan: Number /* 0x008b8b */ + var darkgoldenrod: Number /* 0xb8860b */ + var darkgray: Number /* 0xa9a9a9 */ + var darkgreen: Number /* 0x006400 */ + var darkgrey: Number /* 0xa9a9a9 */ + var darkkhaki: Number /* 0xbdb76b */ + var darkmagenta: Number /* 0x8b008b */ + var darkolivegreen: Number /* 0x556b2f */ + var darkorange: Number /* 0xff8c00 */ + var darkorchid: Number /* 0x9932cc */ + var darkred: Number /* 0x8b0000 */ + var darksalmon: Number /* 0xe9967a */ + var darkseagreen: Number /* 0x8fbc8f */ + var darkslateblue: Number /* 0x483d8b */ + var darkslategray: Number /* 0x2f4f4f */ + var darkslategrey: Number /* 0x2f4f4f */ + var darkturquoise: Number /* 0x00ced1 */ + var darkviolet: Number /* 0x9400d3 */ + var deeppink: Number /* 0xff1493 */ + var deepskyblue: Number /* 0x00bfff */ + var dimgray: Number /* 0x696969 */ + var dimgrey: Number /* 0x696969 */ + var dodgerblue: Number /* 0x1e90ff */ + var firebrick: Number /* 0xb22222 */ + var floralwhite: Number /* 0xfffaf0 */ + var forestgreen: Number /* 0x228b22 */ + var fuchsia: Number /* 0xff00ff */ + var gainsboro: Number /* 0xdcdcdc */ + var ghostwhite: Number /* 0xf8f8ff */ + var gold: Number /* 0xffd700 */ + var goldenrod: Number /* 0xdaa520 */ + var gray: Number /* 0x808080 */ + var green: Number /* 0x008000 */ + var greenyellow: Number /* 0xadff2f */ + var grey: Number /* 0x808080 */ + var honeydew: Number /* 0xf0fff0 */ + var hotpink: Number /* 0xff69b4 */ + var indianred: Number /* 0xcd5c5c */ + var indigo: Number /* 0x4b0082 */ + var ivory: Number /* 0xfffff0 */ + var khaki: Number /* 0xf0e68c */ + var lavender: Number /* 0xe6e6fa */ + var lavenderblush: Number /* 0xfff0f5 */ + var lawngreen: Number /* 0x7cfc00 */ + var lemonchiffon: Number /* 0xfffacd */ + var lightblue: Number /* 0xadd8e6 */ + var lightcoral: Number /* 0xf08080 */ + var lightcyan: Number /* 0xe0ffff */ + var lightgoldenrodyellow: Number /* 0xfafad2 */ + var lightgray: Number /* 0xd3d3d3 */ + var lightgreen: Number /* 0x90ee90 */ + var lightgrey: Number /* 0xd3d3d3 */ + var lightpink: Number /* 0xffb6c1 */ + var lightsalmon: Number /* 0xffa07a */ + var lightseagreen: Number /* 0x20b2aa */ + var lightskyblue: Number /* 0x87cefa */ + var lightslategray: Number /* 0x778899 */ + var lightslategrey: Number /* 0x778899 */ + var lightsteelblue: Number /* 0xb0c4de */ + var lightyellow: Number /* 0xffffe0 */ + var lime: Number /* 0x00ff00 */ + var limegreen: Number /* 0x32cd32 */ + var linen: Number /* 0xfaf0e6 */ + var magenta: Number /* 0xff00ff */ + var maroon: Number /* 0x800000 */ + var mediumaquamarine: Number /* 0x66cdaa */ + var mediumblue: Number /* 0x0000cd */ + var mediumorchid: Number /* 0xba55d3 */ + var mediumpurple: Number /* 0x9370db */ + var mediumseagreen: Number /* 0x3cb371 */ + var mediumslateblue: Number /* 0x7b68ee */ + var mediumspringgreen: Number /* 0x00fa9a */ + var mediumturquoise: Number /* 0x48d1cc */ + var mediumvioletred: Number /* 0xc71585 */ + var midnightblue: Number /* 0x191970 */ + var mintcream: Number /* 0xf5fffa */ + var mistyrose: Number /* 0xffe4e1 */ + var moccasin: Number /* 0xffe4b5 */ + var navajowhite: Number /* 0xffdead */ + var navy: Number /* 0x000080 */ + var oldlace: Number /* 0xfdf5e6 */ + var olive: Number /* 0x808000 */ + var olivedrab: Number /* 0x6b8e23 */ + var orange: Number /* 0xffa500 */ + var orangered: Number /* 0xff4500 */ + var orchid: Number /* 0xda70d6 */ + var palegoldenrod: Number /* 0xeee8aa */ + var palegreen: Number /* 0x98fb98 */ + var paleturquoise: Number /* 0xafeeee */ + var palevioletred: Number /* 0xdb7093 */ + var papayawhip: Number /* 0xffefd5 */ + var peachpuff: Number /* 0xffdab9 */ + var peru: Number /* 0xcd853f */ + var pink: Number /* 0xffc0cb */ + var plum: Number /* 0xdda0dd */ + var powderblue: Number /* 0xb0e0e6 */ + var purple: Number /* 0x800080 */ + var rebeccapurple: Number /* 0x663399 */ + var red: Number /* 0xff0000 */ + var rosybrown: Number /* 0xbc8f8f */ + var royalblue: Number /* 0x4169e1 */ + var saddlebrown: Number /* 0x8b4513 */ + var salmon: Number /* 0xfa8072 */ + var sandybrown: Number /* 0xf4a460 */ + var seagreen: Number /* 0x2e8b57 */ + var seashell: Number /* 0xfff5ee */ + var sienna: Number /* 0xa0522d */ + var silver: Number /* 0xc0c0c0 */ + var skyblue: Number /* 0x87ceeb */ + var slateblue: Number /* 0x6a5acd */ + var slategray: Number /* 0x708090 */ + var slategrey: Number /* 0x708090 */ + var snow: Number /* 0xfffafa */ + var springgreen: Number /* 0x00ff7f */ + var steelblue: Number /* 0x4682b4 */ + var tan: Number /* 0xd2b48c */ + var teal: Number /* 0x008080 */ + var thistle: Number /* 0xd8bfd8 */ + var tomato: Number /* 0xff6347 */ + var turquoise: Number /* 0x40e0d0 */ + var violet: Number /* 0xee82ee */ + var wheat: Number /* 0xf5deb3 */ + var white: Number /* 0xffffff */ + var whitesmoke: Number /* 0xf5f5f5 */ + var yellow: Number /* 0xffff00 */ + var yellowgreen: Number /* 0x9acd32 */ +} + +external interface HSL { + var h: Double + var s: Double + var l: Double +} + +external interface RGB { + var r: Double + var g: Double + var b: Double +} + +open external class Color { + constructor(color: Color = definedExternally) + constructor() + constructor(color: String = definedExternally) + constructor(color: Number = definedExternally) + constructor(r: Number, g: Number, b: Number) + open val isColor: Boolean + open var r: Double + open var g: Double + open var b: Double + open fun set(vararg args: Any /* JsTuple | JsTuple */): Color /* this */ + open fun setFromVector3(vector: Vector3): Color /* this */ + open fun setScalar(scalar: Number): Color + open fun setHex(hex: Number, colorSpace: Any = definedExternally): Color + open fun setRGB(r: Number, g: Number, b: Number, colorSpace: Any = definedExternally): Color + open fun setHSL(h: Number, s: Number, l: Number, colorSpace: Any = definedExternally): Color + open fun setStyle(style: String, colorSpace: Any = definedExternally): Color + open fun setColorName(style: String, colorSpace: Any = definedExternally): Color + open fun clone(): Color /* this */ + open fun copy(color: Color): Color /* this */ + open fun copySRGBToLinear(color: Color): Color + open fun copyLinearToSRGB(color: Color): Color + open fun convertSRGBToLinear(): Color + open fun convertLinearToSRGB(): Color + open fun getHex(colorSpace: Any = definedExternally): Number + open fun getHexString(colorSpace: Any = definedExternally): String + open fun getHSL(target: HSL, colorSpace: Any = definedExternally): HSL + open fun getRGB(target: RGB, colorSpace: Any = definedExternally): RGB + open fun getStyle(colorSpace: Any = definedExternally): String + open fun offsetHSL(h: Number, s: Number, l: Number): Color /* this */ + open fun add(color: Color): Color /* this */ + open fun addColors(color1: Color, color2: Color): Color /* this */ + open fun addScalar(s: Number): Color /* this */ + open fun applyMatrix3(m: Matrix3): Color /* this */ + open fun sub(color: Color): Color /* this */ + open fun multiply(color: Color): Color /* this */ + open fun multiplyScalar(s: Number): Color /* this */ + open fun lerp(color: Color, alpha: Number): Color /* this */ + open fun lerpColors(color1: Color, color2: Color, alpha: Number): Color /* this */ + open fun lerpHSL(color: Color, alpha: Number): Color /* this */ + open fun equals(color: Color): Boolean + open fun fromArray(array: Array, offset: Int = definedExternally): Color /* this */ + open fun fromArray(array: Array): Color /* this */ +// open fun fromArray(array: Array, offset: Int = definedExternally): Color /* this */ +// open fun fromArray(array: Array): Color /* this */ + open fun toArray(array: Array = definedExternally, offset: Int = definedExternally): Array + open fun toArray(): Array +// open fun toArray(array: Array = definedExternally): Array +// open fun toArray(xyz: Array, offset: Int = definedExternally): Array +// open fun toArray(xyz: Array): Array + open fun toJSON(): Number + open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Color /* this */ + open fun fromBufferAttribute(attribute: InterleavedBufferAttribute, index: Number): Color /* this */ + + companion object { + var NAMES: Any + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt new file mode 100644 index 0000000000..17ee47e030 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class ColorKeyframeTrack(name: String, times: Array, values: Array, interpolation: Any = definedExternally) : KeyframeTrack { + override var ValueTypeName: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ColorManagement.module_three.kt b/ext/three/src/jsMain/kotlin/three/ColorManagement.module_three.kt new file mode 100644 index 0000000000..0dea5ed999 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ColorManagement.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface ColorManagement { + var enabled: Boolean +} + +external fun SRGBToLinear(c: Number): Number \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CompressedArrayTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/CompressedArrayTexture.module_three.kt new file mode 100644 index 0000000000..2466c51a63 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CompressedArrayTexture.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CompressedArrayTexture(mipmaps: Array, width: Number, height: Number, depth: Number, format: Any, type: Any = definedExternally) : CompressedTexture { + open val isCompressedArrayTexture: Boolean + open var wrapR: Any + open var layerUpdates: Set + open fun addLayerUpdate(layerIndex: Number) + open fun clearLayoutUpdates() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CompressedCubeTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/CompressedCubeTexture.module_three.kt new file mode 100644 index 0000000000..a1b38932af --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CompressedCubeTexture.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$108` { + var width: Number + var height: Number +} + +open external class CompressedCubeTexture(images: Array<`T$108`>, format: Any = definedExternally, type: Any = definedExternally) : CompressedTexture { + open val isCompressedCubeTexture: Boolean + open val isCubeTexture: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CompressedTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/CompressedTexture.module_three.kt new file mode 100644 index 0000000000..70ac9d999d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CompressedTexture.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface CompressedTextureMipmap { + var data: dynamic /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */ + get() = definedExternally + set(value) = definedExternally + var width: Number + var height: Number +} + +open external class CompressedTexture(mipmaps: Array = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) : Texture { + open val isCompressedTexture: Boolean + override var mipmaps: Array? + override var format: Any + override var flipY: Boolean + override var generateMipmaps: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt new file mode 100644 index 0000000000..6810d6c628 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CompressedTextureLoader(manager: LoadingManager = definedExternally) : Loader__1 { +// override fun load(url: String, onLoad: (data: CompressedTexture) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit): CompressedTexture +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ConeGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/ConeGeometry.module_three.kt new file mode 100644 index 0000000000..2fe957604f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ConeGeometry.module_three.kt @@ -0,0 +1,12 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class ConeGeometry(radius: Number = definedExternally, height: Number = definedExternally, radialSegments: Number = definedExternally, heightSegments: Number = definedExternally, openEnded: Boolean = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : CylinderGeometry { + override var override: Any + override val type: String /* String | "ConeGeometry" */ + + companion object { + fun fromJSON(data: Any): ConeGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Controls.module_three.kt b/ext/three/src/jsMain/kotlin/three/Controls.module_three.kt new file mode 100644 index 0000000000..02ef257ad2 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Controls.module_three.kt @@ -0,0 +1,15 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.dom.HTMLElement + +open external class Controls/**/(obj: Camera, domElement: HTMLElement?) : EventDispatcher/**/ { + open var `object`: Camera + open var domElement: HTMLElement? + open var enabled: Boolean + open fun connect() + open fun disconnect() + open fun dispose() + open fun update(delta: Number) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubeCamera.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubeCamera.module_three.kt new file mode 100644 index 0000000000..48bc10f26d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubeCamera.module_three.kt @@ -0,0 +1,13 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class CubeCamera(near: Number, far: Number, renderTarget: WebGLCubeRenderTarget) : Object3D/**/ { + open var override: Any + override val type: String /* String | "CubeCamera" */ + open var renderTarget: WebGLCubeRenderTarget + open var coordinateSystem: Any + open var activeMipmapLevel: Number + open fun updateCoordinateSystem() + open fun update(renderer: WebGLRenderer, scene: Object3D/**/) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubeTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubeTexture.module_three.kt new file mode 100644 index 0000000000..0e90c108b0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubeTexture.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class CubeTexture(images: Array = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) : Texture { + open val isCubeTexture: Boolean + override var mapping: Any + override var flipY: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt new file mode 100644 index 0000000000..d7192959fa --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CubeTextureLoader(manager: LoadingManager = definedExternally) : Loader> { +// override fun load(url: Array, onLoad: (data: CubeTexture) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit): CubeTexture +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubicBezierCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubicBezierCurve.module_three.kt new file mode 100644 index 0000000000..5c93312389 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubicBezierCurve.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CubicBezierCurve(v0: Vector2 = definedExternally, v1: Vector2 = definedExternally, v2: Vector2 = definedExternally, v3: Vector2 = definedExternally) : Curve { + open val isCubicBezierCurve: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "CubicBezierCurve" */ + open var v0: Vector2 + open var v1: Vector2 + open var v2: Vector2 + open var v3: Vector2 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubicBezierCurve3.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubicBezierCurve3.module_three.kt new file mode 100644 index 0000000000..ad0962febf --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubicBezierCurve3.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CubicBezierCurve3(v0: Vector3 = definedExternally, v1: Vector3 = definedExternally, v2: Vector3 = definedExternally, v3: Vector3 = definedExternally) : Curve { + open val isCubicBezierCurve3: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "CubicBezierCurve3" */ + open var v0: Vector3 + open var v1: Vector3 + open var v2: Vector3 + open var v3: Vector3 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt b/ext/three/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt new file mode 100644 index 0000000000..91540faab2 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class CubicInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { + open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Curve.module_three.kt b/ext/three/src/jsMain/kotlin/three/Curve.module_three.kt new file mode 100644 index 0000000000..756f759ae7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Curve.module_three.kt @@ -0,0 +1,35 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface CurveJSON { + var metadata: `T$0_Object3D` + var arcLengthDivisions: Number + var type: String +} + +external interface `T$7` { + var tangents: Array + var normals: Array + var binormals: Array +} + +open external class Curve { + open val type: String /* String | "Curve" */ + open var arcLengthDivisions: Number + open fun getPoint(t: Number, optionalTarget: TVector = definedExternally): TVector + open fun getPointAt(u: Number, optionalTarget: TVector = definedExternally): TVector + open fun getPoints(divisions: Number = definedExternally): Array + open fun getSpacedPoints(divisions: Number = definedExternally): Array + open fun getLength(): Number + open fun getLengths(divisions: Number = definedExternally): Array + open fun updateArcLengths() + open fun getUtoTmapping(u: Number, distance: Number): Number + open fun getTangent(t: Number, optionalTarget: TVector = definedExternally): TVector + open fun getTangentAt(u: Number, optionalTarget: TVector = definedExternally): TVector + open fun computeFrenetFrames(segments: Number, closed: Boolean = definedExternally): `T$7` + open fun clone(): Curve /* this */ + open fun copy(source: Curve): Curve /* this */ + open fun toJSON(): CurveJSON + open fun fromJSON(json: CurveJSON): Curve /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CurvePath.module_three.kt b/ext/three/src/jsMain/kotlin/three/CurvePath.module_three.kt new file mode 100644 index 0000000000..4c541ec79b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CurvePath.module_three.kt @@ -0,0 +1,24 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface CurvePathJSON : CurveJSON { + var autoClose: Boolean + var curves: Array +} + +open external class CurvePath : Curve { + open var override: Any + override val type: String /* String | "CurvePath" */ + open var curves: Array> + open var autoClose: Boolean + open fun add(curve: Curve) + open fun closePath(): CurvePath /* this */ + override fun getPoint(t: Number, optionalTarget: TVector): TVector + open fun getCurveLengths(): Array + override fun getPoints(divisions: Number): Array + override fun getSpacedPoints(divisions: Number): Array + override fun toJSON(): CurvePathJSON + open fun fromJSON(json: CurvePathJSON): CurvePath /* this */ + override fun fromJSON(json: CurveJSON): Curve /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt new file mode 100644 index 0000000000..b3e49da174 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt @@ -0,0 +1,38 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$75` { + val radiusTop: Number + val radiusBottom: Number + val height: Number + val radialSegments: Number + val heightSegments: Number + val openEnded: Boolean + val thetaStart: Number + val thetaLength: Number +} + +open external class CylinderGeometry(radiusTop: Number = definedExternally, radiusBottom: Number = definedExternally, height: Number = definedExternally, radialSegments: Number = definedExternally, heightSegments: Number = definedExternally, openEnded: Boolean = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "CylinderGeometry" */ + open val parameters: `T$75` + + companion object { + fun fromJSON(data: Any): CylinderGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Cylindrical.module_three.kt b/ext/three/src/jsMain/kotlin/three/Cylindrical.module_three.kt similarity index 91% rename from src/jsMain/kotlin/three/Cylindrical.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Cylindrical.module_three.kt index ca6e43280e..0f5821c14d 100644 --- a/src/jsMain/kotlin/three/Cylindrical.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Cylindrical.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Cylindrical(radius: Number = definedExternally, theta: Number = definedExternally, y: Number = definedExternally) { open var radius: Number diff --git a/ext/three/src/jsMain/kotlin/three/Data3DTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/Data3DTexture.module_three.kt new file mode 100644 index 0000000000..337d9bf800 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Data3DTexture.module_three.kt @@ -0,0 +1,36 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class Data3DTexture : Texture { + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally) + constructor() + constructor(data: ArrayBufferView? = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open val isData3DTexture: Boolean + override var magFilter: Any + override var minFilter: Any + open var wrapR: Any + override var flipY: Boolean + override var generateMipmaps: Boolean + override var unpackAlignment: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DataArrayTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/DataArrayTexture.module_three.kt new file mode 100644 index 0000000000..786a04185f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DataArrayTexture.module_three.kt @@ -0,0 +1,39 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DataArrayTexture : Texture { + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally) + constructor() + constructor(data: ArrayBufferView? = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open val isDataArrayTexture: Boolean + override var magFilter: Any + override var minFilter: Any + open var wrapR: Boolean + override var generateMipmaps: Boolean + override var flipY: Boolean + override var unpackAlignment: Number + open var layerUpdates: Set + open fun addLayerUpdate(layerIndex: Number) + open fun clearLayoutUpdates() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DataTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/DataTexture.module_three.kt new file mode 100644 index 0000000000..aa7ea27bb0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DataTexture.module_three.kt @@ -0,0 +1,40 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.ArrayBuffer +import org.khronos.webgl.ArrayBufferView + +open external class DataTexture : Texture { + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor() + constructor(data: ArrayBufferView? = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(data: ArrayBufferView? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(data: ArrayBuffer? = definedExternally, width: Number = definedExternally, height: Number = definedExternally, format: Any = definedExternally, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally) + open val isDataTexture: Boolean + override var magFilter: Any + override var minFilter: Any + override var flipY: Boolean + override var generateMipmaps: Boolean + override var unpackAlignment: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt new file mode 100644 index 0000000000..c47b9aeb87 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DataTextureLoader(manager: LoadingManager = definedExternally) : Loader__1 { + open fun load(url: String, onLoad: (data: DataTexture, texData: Any?) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (err: Any) -> Unit = definedExternally): DataTexture +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DepthTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/DepthTexture.module_three.kt new file mode 100644 index 0000000000..ba451fcceb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DepthTexture.module_three.kt @@ -0,0 +1,14 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class DepthTexture(width: Number, height: Number, type: Any = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, anisotropy: Number = definedExternally, format: Any = definedExternally) : Texture { + open val isDepthTexture: Boolean + override var flipY: Boolean + override var magFilter: Any + override var minFilter: Any + override var generateMipmaps: Boolean + override var format: Any + override var type: Any + open var compareFunction: Any? +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DirectionalLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/DirectionalLight.module_three.kt new file mode 100644 index 0000000000..f71b36d791 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DirectionalLight.module_three.kt @@ -0,0 +1,35 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DirectionalLight : Light { + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally) + open val isDirectionalLight: Boolean + override var override: Any + override val type: String /* String | "DirectionalLight" */ + override var castShadow: Boolean + override val position: Vector3 + override var shadow: DirectionalLightShadow + open var target: Object3D/**/ + override fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt new file mode 100644 index 0000000000..d5049c3a52 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt @@ -0,0 +1,35 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DirectionalLightHelper : Object3D/**/ { + constructor(light: DirectionalLight, size: Number = definedExternally, color: Color = definedExternally) + constructor(light: DirectionalLight) + constructor(light: DirectionalLight, size: Number = definedExternally) + constructor(light: DirectionalLight, size: Number = definedExternally, color: String = definedExternally) + constructor(light: DirectionalLight, size: Number = definedExternally, color: Number = definedExternally) + open var override: Any + override val type: String /* String | "DirectionalLightHelper" */ + open var lightPlane: Line<*, *> + open var light: DirectionalLight + override var matrix: Matrix4 + override var matrixAutoUpdate: Boolean + open var color: dynamic /* Color? | String? | Number? */ + open var targetLine: Line<*, *> + open fun update() + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt b/ext/three/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt new file mode 100644 index 0000000000..f842792d15 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DirectionalLightShadow : LightShadow { + open val isDirectionalLightShadow: Boolean + override var camera: OrthographicCamera +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt b/ext/three/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt new file mode 100644 index 0000000000..87acbec984 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DiscreteInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { + open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt new file mode 100644 index 0000000000..8afa6c896c --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class DodecahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { + override var override: Any + override val type: String /* String | "DodecahedronGeometry" */ + + companion object { + fun fromJSON(data: Any): DodecahedronGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt new file mode 100644 index 0000000000..0fd5642c1d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt @@ -0,0 +1,28 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$77` { + val geometry: TBufferGeometry? + val thresholdAngle: Number +} + +open external class EdgesGeometry>(geometry: TBufferGeometry? = definedExternally, thresholdAngle: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "EdgesGeometry" */ + open val parameters: `T$77` +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/EllipseCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/EllipseCurve.module_three.kt new file mode 100644 index 0000000000..f6549a5790 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/EllipseCurve.module_three.kt @@ -0,0 +1,17 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class EllipseCurve(aX: Number = definedExternally, aY: Number = definedExternally, xRadius: Number = definedExternally, yRadius: Number = definedExternally, aStartAngle: Number = definedExternally, aEndAngle: Number = definedExternally, aClockwise: Boolean = definedExternally, aRotation: Number = definedExternally) : Curve { + open val isEllipseCurve: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "EllipseCurve" */ + open var aX: Number + open var aY: Number + open var xRadius: Number + open var yRadius: Number + open var aStartAngle: Number + open var aEndAngle: Number + open var aClockwise: Boolean + open var aRotation: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Euler.module_three.kt b/ext/three/src/jsMain/kotlin/three/Euler.module_three.kt new file mode 100644 index 0000000000..45485da07a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Euler.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Euler(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ = definedExternally) { + open var x: Number + open var y: Number + open var z: Number + open var order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ + open val isEuler: Boolean + open var _onChangeCallback: () -> Unit + open fun set(x: Number, y: Number, z: Number, order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ = definedExternally): Euler + open fun clone(): Euler /* this */ + open fun copy(euler: Euler): Euler /* this */ + open fun setFromRotationMatrix(m: Matrix4, order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ = definedExternally, update: Boolean = definedExternally): Euler + open fun setFromQuaternion(q: Quaternion, order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ = definedExternally, update: Boolean = definedExternally): Euler + open fun setFromVector3(v: Vector3, order: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */ = definedExternally): Euler + open fun reorder(newOrder: String /* "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY" */): Euler + open fun equals(euler: Euler): Boolean + open fun fromArray(array: Any /* JsTuple */): Euler + open fun toArray(array: Any = definedExternally, offset: Number = definedExternally): dynamic /* JsTuple */ + open fun _onChange(callback: () -> Unit): Euler /* this */ + + companion object { + var DEFAULT_ORDER: String /* "XYZ" */ + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/EventDispatcher.module_three.kt b/ext/three/src/jsMain/kotlin/three/EventDispatcher.module_three.kt new file mode 100644 index 0000000000..abcc4bf155 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/EventDispatcher.module_three.kt @@ -0,0 +1,37 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* +import web.events.EventTarget + +//external interface BaseEvent { +// val type: TEventType +//} +// +//external interface Event { +// val type: TEventType +// val target: TTarget +//} +// +//typealias EventListener/**/ = // (event: TEventData /* TEventData & Event */) -> Unit +// (event: Event /* TEventData & Event */) -> Unit + +//open external class EventDispatcher/**/ { +// open fun addEventListener(type: String, listener: EventListener /* this */>) +// open fun hasEventListener(type: String, listener: EventListener /* this */>): Boolean +// open fun removeEventListener(type: String, listener: EventListener /* this */>) +// open fun dispatchEvent(event: BaseEvent /* BaseEvent & dynamic */) +//} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt new file mode 100644 index 0000000000..8ba908a1a7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt @@ -0,0 +1,77 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface ExtrudeGeometryOptions { + var curveSegments: Number? + get() = definedExternally + set(value) = definedExternally + var steps: Number? + get() = definedExternally + set(value) = definedExternally + var depth: Number? + get() = definedExternally + set(value) = definedExternally + var bevelEnabled: Boolean? + get() = definedExternally + set(value) = definedExternally + var bevelThickness: Number? + get() = definedExternally + set(value) = definedExternally + var bevelSize: Number? + get() = definedExternally + set(value) = definedExternally + var bevelOffset: Number? + get() = definedExternally + set(value) = definedExternally + var bevelSegments: Number? + get() = definedExternally + set(value) = definedExternally + var extrudePath: Curve? + get() = definedExternally + set(value) = definedExternally + var UVGenerator: UVGenerator? + get() = definedExternally + set(value) = definedExternally +} + +external interface UVGenerator { + fun generateTopUV(geometry: ExtrudeGeometry, vertices: Array, indexA: Number, indexB: Number, indexC: Number): Array + fun generateSideWallUV(geometry: ExtrudeGeometry, vertices: Array, indexA: Number, indexB: Number, indexC: Number, indexD: Number): Array +} + +external interface `T$78` { + val shapes: dynamic /* Shape | Array */ + get() = definedExternally + val options: ExtrudeGeometryOptions +} + +open external class ExtrudeGeometry : BufferGeometry { + constructor(shapes: Shape = definedExternally, options: ExtrudeGeometryOptions = definedExternally) + constructor() + constructor(shapes: Shape = definedExternally) + constructor(shapes: Array = definedExternally, options: ExtrudeGeometryOptions = definedExternally) + constructor(shapes: Array = definedExternally) + open var override: Any + override val type: String /* String | "ExtrudeGeometry" */ + open val parameters: `T$78` + open fun addShape(shape: Shape) + + companion object { + fun fromJSON(data: Any, shapes: Any): ExtrudeGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/FileLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/FileLoader.module_three.kt new file mode 100644 index 0000000000..4509eefae7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/FileLoader.module_three.kt @@ -0,0 +1,14 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.dom.MimeType +import org.w3c.xhr.ProgressEvent + +open external class FileLoader(manager: LoadingManager = definedExternally) : Loader__1 { + override fun load(url: String, onLoad: (data: Any /* String | ArrayBuffer */) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit) + open var mimeType: MimeType? + open var responseType: String? + open fun setMimeType(mimeType: MimeType): FileLoader + open fun setResponseType(responseType: String): FileLoader +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Fog.module_three.kt b/ext/three/src/jsMain/kotlin/three/Fog.module_three.kt new file mode 100644 index 0000000000..44a55fb562 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Fog.module_three.kt @@ -0,0 +1,30 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface FogJSON { + var type: String + var name: String + var color: Number + var near: Number + var far: Number +} + +open external class Fog { + constructor(color: Color, near: Number = definedExternally, far: Number = definedExternally) + constructor(color: Color) + constructor(color: Color, near: Number = definedExternally) + constructor(color: String, near: Number = definedExternally, far: Number = definedExternally) + constructor(color: String) + constructor(color: String, near: Number = definedExternally) + constructor(color: Number, near: Number = definedExternally, far: Number = definedExternally) + constructor(color: Number) + constructor(color: Number, near: Number = definedExternally) + open val isFog: Boolean + open var name: String + open var color: Color + open var near: Number + open var far: Number + open fun clone(): Fog + open fun toJSON(): FogJSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/FogExp2.module_three.kt b/ext/three/src/jsMain/kotlin/three/FogExp2.module_three.kt new file mode 100644 index 0000000000..cfed439bbb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/FogExp2.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface FogExp2JSON { + var type: String + var name: String + var color: Number + var density: Number +} + +open external class FogExp2 { + constructor(color: Color, density: Number = definedExternally) + constructor(color: Color) + constructor(color: String, density: Number = definedExternally) + constructor(color: String) + constructor(color: Number, density: Number = definedExternally) + constructor(color: Number) + open val isFogExp2: Boolean + open var name: String + open var color: Color + open var density: Number + open fun clone(): FogExp2 + open fun toJSON(): FogExp2JSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/FramebufferTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/FramebufferTexture.module_three.kt new file mode 100644 index 0000000000..0cfc67c25a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/FramebufferTexture.module_three.kt @@ -0,0 +1,24 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class FramebufferTexture(width: Number, height: Number) : Texture { + open val isFramebufferTexture: Boolean + override var magFilter: Any + override var minFilter: Any + override var generateMipmaps: Boolean +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Frustum.module_three.kt b/ext/three/src/jsMain/kotlin/three/Frustum.module_three.kt similarity index 71% rename from src/jsMain/kotlin/three/Frustum.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Frustum.module_three.kt index 4e909a77c8..30b649928c 100644 --- a/src/jsMain/kotlin/three/Frustum.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Frustum.module_three.kt @@ -1,16 +1,15 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Frustum(p0: Plane = definedExternally, p1: Plane = definedExternally, p2: Plane = definedExternally, p3: Plane = definedExternally, p4: Plane = definedExternally, p5: Plane = definedExternally) { open var planes: Array open fun set(p0: Plane, p1: Plane, p2: Plane, p3: Plane, p4: Plane, p5: Plane): Frustum open fun clone(): Frustum /* this */ open fun copy(frustum: Frustum): Frustum /* this */ - open fun setFromProjectionMatrix(m: Matrix4): Frustum /* this */ - open fun intersectsObject(obj: Object3D): Boolean - open fun intersectsSprite(sprite: Sprite): Boolean + open fun setFromProjectionMatrix(m: Matrix4, coordinateSystem: Any = definedExternally): Frustum /* this */ + open fun intersectsObject(obj: Object3D/**/): Boolean + open fun intersectsSprite(sprite: Sprite__0): Boolean open fun intersectsSphere(sphere: Sphere): Boolean open fun intersectsBox(box: Box3): Boolean open fun containsPoint(point: Vector3): Boolean diff --git a/ext/three/src/jsMain/kotlin/three/GLBufferAttribute.module_three.kt b/ext/three/src/jsMain/kotlin/three/GLBufferAttribute.module_three.kt new file mode 100644 index 0000000000..68ab0f41f3 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/GLBufferAttribute.module_three.kt @@ -0,0 +1,32 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class GLBufferAttribute(buffer: WebGLBuffer, type: GLenum, itemSize: Number, elementSize: Number /* 1 | 2 | 4 */, count: Number) { + open val isGLBufferAttribute: Boolean + open var name: String + open var buffer: WebGLBuffer + open var type: GLenum + open var itemSize: Number + open var elementSize: Number /* 1 | 2 | 4 */ + open var count: Number + open var version: Number + open fun setBuffer(buffer: WebGLBuffer): GLBufferAttribute /* this */ + open fun setType(type: GLenum, elementSize: Number /* 1 | 2 | 4 */): GLBufferAttribute /* this */ + open fun setItemSize(itemSize: Number): GLBufferAttribute /* this */ + open fun setCount(count: Number): GLBufferAttribute /* this */ +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/GridHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/GridHelper.module_three.kt similarity index 60% rename from src/jsMain/kotlin/three/GridHelper.module_three.kt rename to ext/three/src/jsMain/kotlin/three/GridHelper.module_three.kt index 3b36893187..3ef6c10c27 100644 --- a/src/jsMain/kotlin/three/GridHelper.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/GridHelper.module_three.kt @@ -1,28 +1,24 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -open external class GridHelper : LineSegments { +open external class GridHelper : LineSegments, LineBasicMaterial> { + constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: Color = definedExternally) constructor() constructor(size: Number = definedExternally) - constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: Color = definedExternally) + constructor(size: Number = definedExternally, divisions: Number = definedExternally) + constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: String = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: Number = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: Color = definedExternally) + constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: String = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: Number = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: Color = definedExternally) + constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: String = definedExternally) constructor(size: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: Number = definedExternally) - override var type: String - open fun setColors(color1: Color = definedExternally, color2: Color = definedExternally) - open fun setColors(color1: Color = definedExternally, color2: String = definedExternally) - open fun setColors(color1: Color = definedExternally, color2: Number = definedExternally) - open fun setColors(color1: String = definedExternally, color2: Color = definedExternally) - open fun setColors(color1: String = definedExternally, color2: String = definedExternally) - open fun setColors(color1: String = definedExternally, color2: Number = definedExternally) - open fun setColors(color1: Number = definedExternally, color2: Color = definedExternally) - open fun setColors(color1: Number = definedExternally, color2: String = definedExternally) - open fun setColors(color1: Number = definedExternally, color2: Number = definedExternally) + override var override: Any + override val type: String /* String | "GridHelper" */ + open fun dispose() } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Group.module_three.kt b/ext/three/src/jsMain/kotlin/three/Group.module_three.kt new file mode 100644 index 0000000000..2b9cd26bfe --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Group.module_three.kt @@ -0,0 +1,11 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Group/**/ : Object3D/**/ { + open val isGroup: Boolean + open var override: Any + override val type: String /* String | "Group" */ +} + +//typealias Object3D/**/ = Group \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/HemisphereLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/HemisphereLight.module_three.kt new file mode 100644 index 0000000000..d6144accdd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/HemisphereLight.module_three.kt @@ -0,0 +1,48 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class HemisphereLight : Light { + constructor(skyColor: Color = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) + constructor() + constructor(skyColor: Color = definedExternally) + constructor(skyColor: Color = definedExternally, groundColor: Color = definedExternally) + constructor(skyColor: Color = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: Color = definedExternally, groundColor: String = definedExternally) + constructor(skyColor: Color = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: Color = definedExternally, groundColor: Number = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: String = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: Color = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: String = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: String = definedExternally, groundColor: Number = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: Number = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: Color = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: String = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) + constructor(skyColor: Number = definedExternally, groundColor: Number = definedExternally) + open val isHemisphereLight: Boolean + override var override: Any + override val type: String /* String | "HemisphereLight" */ + override val position: Vector3 + override var color: Color + open var groundColor: Color +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt similarity index 50% rename from src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt rename to ext/three/src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt index b9db0d63fb..719e9e59fb 100644 --- a/src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/HemisphereLightHelper.module_three.kt @@ -1,17 +1,33 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -open external class HemisphereLightHelper : Object3D { +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class HemisphereLightHelper : Object3D/**/ { constructor(light: HemisphereLight, size: Number, color: Color = definedExternally) - constructor(light: HemisphereLight, size: Number, color: Number = definedExternally) + constructor(light: HemisphereLight, size: Number) constructor(light: HemisphereLight, size: Number, color: String = definedExternally) + constructor(light: HemisphereLight, size: Number, color: Number = definedExternally) + open var override: Any + override val type: String /* String | "HemisphereLightHelper" */ open var light: HemisphereLight override var matrix: Matrix4 override var matrixAutoUpdate: Boolean open var material: MeshBasicMaterial open var color: dynamic /* Color? | String? | Number? */ - open fun dispose() open fun update() + open fun dispose() } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt new file mode 100644 index 0000000000..179ccecd6f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class IcosahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { + override var override: Any + override val type: String /* String | "IcosahedronGeometry" */ + + companion object { + fun fromJSON(data: Any): IcosahedronGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt new file mode 100644 index 0000000000..6defa386bd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt @@ -0,0 +1,24 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class ImageBitmapLoader(manager: LoadingManager = definedExternally) : Loader__1 { + override fun load(url: String, onLoad: (data: ImageBitmap) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit) + open var options: Any? + open val isImageBitmapLoader: Boolean + open fun setOptions(options: Any?): ImageBitmapLoader +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ImageLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/ImageLoader.module_three.kt new file mode 100644 index 0000000000..6b30e6cb9f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ImageLoader.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.dom.HTMLImageElement + +open external class ImageLoader(manager: LoadingManager = definedExternally) : Loader { +// open fun load(url: String, onLoad: (data: HTMLImageElement) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (err: Any) -> Unit = definedExternally): HTMLImageElement +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ImageUtils.module_three.kt b/ext/three/src/jsMain/kotlin/three/ImageUtils.module_three.kt new file mode 100644 index 0000000000..ccca65f2d3 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ImageUtils.module_three.kt @@ -0,0 +1,29 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.Uint8ClampedArray +import org.w3c.dom.* +import org.w3c.dom.svg.SVGImageElement + +external interface `T$70` { + var data: Uint8ClampedArray + var width: Number + var height: Number +} + +open external class ImageUtils { + companion object { + fun getDataURL(image: HTMLImageElement): String + fun getDataURL(image: HTMLCanvasElement): String + fun getDataURL(image: SVGImageElement): String + fun getDataURL(image: HTMLVideoElement): String + fun getDataURL(image: ImageBitmap): String + fun getDataURL(image: OffscreenCanvas): String + fun getDataURL(image: ImageData): String + fun sRGBToLinear(image: HTMLImageElement): HTMLCanvasElement + fun sRGBToLinear(image: HTMLCanvasElement): HTMLCanvasElement + fun sRGBToLinear(image: ImageBitmap): HTMLCanvasElement + fun sRGBToLinear(image: ImageData): `T$70` + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt b/ext/three/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt new file mode 100644 index 0000000000..d6c464096f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt @@ -0,0 +1,49 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class InstancedBufferAttribute : BufferAttribute { + constructor(array: Int8Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Int8Array, itemSize: Number) + constructor(array: Int8Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint8Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Uint8Array, itemSize: Number) + constructor(array: Uint8Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint8ClampedArray, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Uint8ClampedArray, itemSize: Number) + constructor(array: Uint8ClampedArray, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Int16Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Int16Array, itemSize: Number) + constructor(array: Int16Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint16Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Uint16Array, itemSize: Number) + constructor(array: Uint16Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Int32Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Int32Array, itemSize: Number) + constructor(array: Int32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Uint32Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Uint32Array, itemSize: Number) + constructor(array: Uint32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Float32Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Float32Array, itemSize: Number) + constructor(array: Float32Array, itemSize: Number, normalized: Boolean = definedExternally) + constructor(array: Float64Array, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) + constructor(array: Float64Array, itemSize: Number) + constructor(array: Float64Array, itemSize: Number, normalized: Boolean = definedExternally) + open var meshPerAttribute: Number + open val isInstancedBufferAttribute: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt new file mode 100644 index 0000000000..9fd3fc224c --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt @@ -0,0 +1,24 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class InstancedBufferGeometry : BufferGeometry { + override var type: String + open val isInstancedBufferGeometry: Boolean + open var instanceCount: Number + open fun copy(source: InstancedBufferGeometry): InstancedBufferGeometry /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt b/ext/three/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt new file mode 100644 index 0000000000..8b913eab4e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt @@ -0,0 +1,39 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class InstancedInterleavedBuffer : InterleavedBuffer { + constructor(array: Int8Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Int8Array, stride: Number) + constructor(array: Uint8Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Uint8Array, stride: Number) + constructor(array: Uint8ClampedArray, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Uint8ClampedArray, stride: Number) + constructor(array: Int16Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Int16Array, stride: Number) + constructor(array: Uint16Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Uint16Array, stride: Number) + constructor(array: Int32Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Int32Array, stride: Number) + constructor(array: Uint32Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Uint32Array, stride: Number) + constructor(array: Float32Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Float32Array, stride: Number) + constructor(array: Float64Array, stride: Number, meshPerAttribute: Number = definedExternally) + constructor(array: Float64Array, stride: Number) + open var meshPerAttribute: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/InstancedMesh.module_three.kt b/ext/three/src/jsMain/kotlin/three/InstancedMesh.module_three.kt new file mode 100644 index 0000000000..a18ac5c93b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/InstancedMesh.module_three.kt @@ -0,0 +1,55 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface InstancedMeshJSONObject : MeshJSONObject { + var count: Number + var instanceMatrix: BufferAttributeJSON + var instanceColor: BufferAttributeJSON? + get() = definedExternally + set(value) = definedExternally +} + +external interface InstancedMeshJSON : MeshJSONObject { + var `object`: InstancedMeshJSONObject +} + +external interface InstancedMeshEventMap : Object3DEventMap { + var dispose: Any +} + +open external class InstancedMesh, TMaterial, TEventMap : InstancedMeshEventMap>(geometry: TGeometry?, material: TMaterial?, count: Number) : Mesh { + open val isInstancedMesh: Boolean + open var boundingBox: Box3? + open var boundingSphere: Sphere? + open var count: Number + open var instanceColor: InstancedBufferAttribute? + open var instanceMatrix: InstancedBufferAttribute + open var morphTexture: DataTexture? + open fun computeBoundingBox() + open fun computeBoundingSphere() + open fun getColorAt(index: Number, color: Color) + open fun setColorAt(index: Number, color: Color) + open fun getMatrixAt(index: Number, matrix: Matrix4) + open fun getMorphAt(index: Number, mesh: Mesh, *>) + open fun setMatrixAt(index: Number, matrix: Matrix4) + open fun setMorphAt(index: Number, mesh: Mesh, *>) + override var override: Any + override fun updateMorphTargets() + open fun dispose(): InstancedMesh /* this */ +// open fun toJSON(meta: JSONMeta = definedExternally): InstancedMeshJSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt b/ext/three/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt new file mode 100644 index 0000000000..9872ded929 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt @@ -0,0 +1,41 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.* + +external interface `T$5` { + var uuid: String + var buffer: String + var type: String + var stride: Number +} + +open external class InterleavedBuffer { + open val isInterleavedBuffer: Boolean + constructor(array: Int8Array, stride: Number) + constructor(array: Uint8Array, stride: Number) + constructor(array: Uint8ClampedArray, stride: Number) + constructor(array: Int16Array, stride: Number) + constructor(array: Uint16Array, stride: Number) + constructor(array: Int32Array, stride: Number) + constructor(array: Uint32Array, stride: Number) + constructor(array: Float32Array, stride: Number) + constructor(array: Float64Array, stride: Number) + open var array: dynamic /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */ + open var stride: Number + open var usage: Any + open var updateRange: `T$2` + open var updateRanges: Array<`T$3`> + open var version: Number + open var count: Number + open var uuid: String + open fun set(value: Array, offset: Number): InterleavedBuffer /* this */ + open fun setUsage(value: Any): InterleavedBuffer /* this */ + open fun addUpdateRange(start: Number, count: Number) + open fun clearUpdateRanges() + open fun copy(source: InterleavedBuffer): InterleavedBuffer /* this */ + open fun copyAt(index1: Number, attribute: InterleavedBufferAttribute, index2: Number): InterleavedBuffer /* this */ + open fun clone(data: Any): InterleavedBuffer + open fun toJSON(data: Any): `T$5` +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt b/ext/three/src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt similarity index 52% rename from src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt rename to ext/three/src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt index 8fad20b7dd..8fa542f5f8 100644 --- a/src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/InterleavedBufferAttribute.module_three.kt @@ -1,9 +1,22 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -external interface `T$23` { +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$4` { var isInterleavedBufferAttribute: Boolean var itemSize: Number var data: String @@ -17,19 +30,23 @@ open external class InterleavedBufferAttribute(interleavedBuffer: InterleavedBuf open var itemSize: Number open var offset: Number open var normalized: Boolean - open var isInterleavedBufferAttribute: Boolean + open val isInterleavedBufferAttribute: Boolean open fun applyMatrix4(m: Matrix4): InterleavedBufferAttribute /* this */ - open fun clone(data: Any? = definedExternally): BufferAttribute + open fun applyNormalMatrix(m: Matrix3): InterleavedBufferAttribute /* this */ + open fun transformDirection(m: Matrix4): InterleavedBufferAttribute /* this */ + open fun getComponent(index: Number, component: Number): Number + open fun setComponent(index: Number, component: Number, value: Number): InterleavedBufferAttribute /* this */ open fun getX(index: Number): Number - open fun setX(index: Number, x: Number): InterleavedBufferAttribute + open fun setX(index: Number, x: Number): InterleavedBufferAttribute /* this */ open fun getY(index: Number): Number - open fun setY(index: Number, y: Number): InterleavedBufferAttribute + open fun setY(index: Number, y: Number): InterleavedBufferAttribute /* this */ open fun getZ(index: Number): Number - open fun setZ(index: Number, z: Number): InterleavedBufferAttribute + open fun setZ(index: Number, z: Number): InterleavedBufferAttribute /* this */ open fun getW(index: Number): Number - open fun setW(index: Number, z: Number): InterleavedBufferAttribute - open fun setXY(index: Number, x: Number, y: Number): InterleavedBufferAttribute - open fun setXYZ(index: Number, x: Number, y: Number, z: Number): InterleavedBufferAttribute - open fun setXYZW(index: Number, x: Number, y: Number, z: Number, w: Number): InterleavedBufferAttribute - open fun toJSON(data: Any? = definedExternally): `T$23` + open fun setW(index: Number, z: Number): InterleavedBufferAttribute /* this */ + open fun setXY(index: Number, x: Number, y: Number): InterleavedBufferAttribute /* this */ + open fun setXYZ(index: Number, x: Number, y: Number, z: Number): InterleavedBufferAttribute /* this */ + open fun setXYZW(index: Number, x: Number, y: Number, z: Number, w: Number): InterleavedBufferAttribute /* this */ + open fun clone(data: Any = definedExternally): BufferAttribute + open fun toJSON(data: Any = definedExternally): `T$4` } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Interpolant.module_three.kt b/ext/three/src/jsMain/kotlin/three/Interpolant.module_three.kt similarity index 85% rename from src/jsMain/kotlin/three/Interpolant.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Interpolant.module_three.kt index 3d0cfe6b00..d7291f22cc 100644 --- a/src/jsMain/kotlin/three/Interpolant.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Interpolant.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Interpolant(parameterPositions: Any, sampleValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) { open var parameterPositions: Any diff --git a/src/jsMain/kotlin/three/KeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/KeyframeTrack.module_three.kt similarity index 55% rename from src/jsMain/kotlin/three/KeyframeTrack.module_three.kt rename to ext/three/src/jsMain/kotlin/three/KeyframeTrack.module_three.kt index 5c5368b4c9..64856e2eb7 100644 --- a/src/jsMain/kotlin/three/KeyframeTrack.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/KeyframeTrack.module_three.kt @@ -1,32 +1,42 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three import org.khronos.webgl.Float32Array -open external class KeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) { +external interface KeyframeTrackJSON { + var name: String + var times: Array + var values: Array + var interpolation: Any? + get() = definedExternally + set(value) = definedExternally + var type: String +} + +open external class KeyframeTrack(name: String, times: Array, values: Array, interpolation: Any = definedExternally) { open var name: String open var times: Float32Array open var values: Float32Array open var ValueTypeName: String open var TimeBufferType: Float32Array open var ValueBufferType: Float32Array - open var DefaultInterpolation: InterpolationModes + open var DefaultInterpolation: Any open fun InterpolantFactoryMethodDiscrete(result: Any): DiscreteInterpolant open fun InterpolantFactoryMethodLinear(result: Any): LinearInterpolant open fun InterpolantFactoryMethodSmooth(result: Any): CubicInterpolant - open fun setInterpolation(interpolation: InterpolationModes): KeyframeTrack - open fun getInterpolation(): InterpolationModes + open fun setInterpolation(interpolation: Any): KeyframeTrack + open fun getInterpolation(): Any + open fun createInterpolant(): Interpolant open fun getValueSize(): Number open fun shift(timeOffset: Number): KeyframeTrack open fun scale(timeScale: Number): KeyframeTrack open fun trim(startTime: Number, endTime: Number): KeyframeTrack open fun validate(): Boolean open fun optimize(): KeyframeTrack - open fun clone(): KeyframeTrack + open fun clone(): KeyframeTrack /* this */ companion object { - fun toJSON(track: KeyframeTrack): Any + fun toJSON(track: KeyframeTrack): KeyframeTrackJSON } } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LOD.module_three.kt b/ext/three/src/jsMain/kotlin/three/LOD.module_three.kt new file mode 100644 index 0000000000..601cfb8316 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LOD.module_three.kt @@ -0,0 +1,39 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface `T$106` { + var `object`: String + var distance: Number + var hysteresis: Number +} + +external interface LODJSONObject : Object3DJSONObject { + var autoUpdate: Boolean? + get() = definedExternally + set(value) = definedExternally + var levels: Array<`T$106`> +} + +external interface LODJSON : Object3DJSON { +// override var `object`: LODJSONObject +} + +external interface `T$107` { + var `object`: Object3D/**/ + var distance: Number + var hysteresis: Number +} + +open external class LOD : Object3D/**/ { + open val isLOD: Boolean + open var override: Any + override val type: String /* String | "LOD" */ + open var levels: Array<`T$107`> + open var autoUpdate: Boolean + open fun addLevel(obj: Object3D/**/, distance: Number = definedExternally, hysteresis: Number = definedExternally): LOD /* this */ + open fun getCurrentLevel(): Number + open fun getObjectForDistance(distance: Number): Object3D/**/? + open fun update(camera: Camera) + override fun toJSON(meta: JSONMeta): LODJSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LatheGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/LatheGeometry.module_three.kt new file mode 100644 index 0000000000..da4ec4d349 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LatheGeometry.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$79` { + val points: Array + val segments: Number + val phiStart: Number + val phiLength: Number +} + +open external class LatheGeometry(points: Array = definedExternally, segments: Number = definedExternally, phiStart: Number = definedExternally, phiLength: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "LatheGeometry" */ + open val parameters: `T$79` + + companion object { + fun fromJSON(data: Any): LatheGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Layers.module_three.kt b/ext/three/src/jsMain/kotlin/three/Layers.module_three.kt new file mode 100644 index 0000000000..fba2d25edd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Layers.module_three.kt @@ -0,0 +1,15 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Layers { + open var mask: Number + open fun set(layer: Number) + open fun enable(layer: Number) + open fun enableAll() + open fun toggle(layer: Number) + open fun disable(layer: Number) + open fun disableAll() + open fun test(layers: Layers): Boolean + open fun isEnabled(layer: Number): Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Light.module_three.kt b/ext/three/src/jsMain/kotlin/three/Light.module_three.kt new file mode 100644 index 0000000000..18c45d21f0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Light.module_three.kt @@ -0,0 +1,51 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface LightJSON : Object3DJSON { + var color: Number + var intensity: Number + var groundColor: Number? + get() = definedExternally + set(value) = definedExternally + var distance: Number? + get() = definedExternally + set(value) = definedExternally + var angle: Number? + get() = definedExternally + set(value) = definedExternally + var decay: Number? + get() = definedExternally + set(value) = definedExternally + var penumbra: Number? + get() = definedExternally + set(value) = definedExternally + var shadow: LightShadowJSON? + get() = definedExternally + set(value) = definedExternally + var target: String? + get() = definedExternally + set(value) = definedExternally +} + +open external class Light?> : Object3D/**/ { + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally) + open val isLight: Boolean + open var override: Any + override val type: String /* String | "Light" */ + open var color: Color + open var intensity: Number + open var shadow: TShadowSupport + open fun copy(source: Light /* this */, recursive: Boolean = definedExternally): Light /* this */ +// override fun copy(obj: Object3D/**/, recursive: Boolean): Object3D/**/ /* this */ + open fun dispose() + override fun toJSON(meta: JSONMeta): LightJSON +} + +open external class Light__0 : Light?> \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LightProbe.module_three.kt b/ext/three/src/jsMain/kotlin/three/LightProbe.module_three.kt new file mode 100644 index 0000000000..96799d5bc7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LightProbe.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class LightProbe(sh: SphericalHarmonics3 = definedExternally, intensity: Number = definedExternally) : Light__0 { + open val isLightProbe: Boolean + open var sh: SphericalHarmonics3 + open fun fromJSON(json: Any): LightProbe +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LightShadow.module_three.kt b/ext/three/src/jsMain/kotlin/three/LightShadow.module_three.kt new file mode 100644 index 0000000000..579f250ac7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LightShadow.module_three.kt @@ -0,0 +1,46 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface LightShadowJSON { + var intensity: Number? + get() = definedExternally + set(value) = definedExternally + var bias: Number? + get() = definedExternally + set(value) = definedExternally + var normalBias: Number? + get() = definedExternally + set(value) = definedExternally + var radius: Number? + get() = definedExternally + set(value) = definedExternally + var mapSize: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally +// var camera: Omit +} + +open external class LightShadow(camera: TCamera) { + open var camera: TCamera + open var intensity: Number + open var bias: Number + open var normalBias: Number + open var radius: Number + open var blurSamples: Number + open var mapSize: Vector2 + open var map: WebGLRenderTarget? + open var mapPass: WebGLRenderTarget? + open var matrix: Matrix4 + open var autoUpdate: Boolean + open var needsUpdate: Boolean + open fun getViewportCount(): Number + open fun copy(source: LightShadow): LightShadow /* this */ + open fun clone(recursive: Boolean = definedExternally): LightShadow /* this */ + open fun toJSON(): LightShadowJSON + open fun getFrustum(): Frustum + open fun updateMatrices(light: Light__0) + open fun getViewport(viewportIndex: Number): Vector4 + open fun getFrameExtents(): Vector2 + open fun dispose() +} diff --git a/ext/three/src/jsMain/kotlin/three/Line.module_three.kt b/ext/three/src/jsMain/kotlin/three/Line.module_three.kt new file mode 100644 index 0000000000..1564e056bc --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Line.module_three.kt @@ -0,0 +1,17 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Line, TMaterial/*, TEventMap : Object3DEventMap*/: Material>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Object3D/**/ { + open val isLine: Boolean + open var override: Any + override val type: String /* String | "Line" */ + open var geometry: TGeometry + open var material: TMaterial + open var morphTargetInfluences: Array? + open var morphTargetDictionary: `T$31`? + open fun computeLineDistances(): Line /* this */ + open fun updateMorphTargets() +} + +//open external class Line__0 : Line, dynamic /* Material | Array */, Object3DEventMap> \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Line3.module_three.kt b/ext/three/src/jsMain/kotlin/three/Line3.module_three.kt similarity index 93% rename from src/jsMain/kotlin/three/Line3.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Line3.module_three.kt index 11f795a29f..5694343f39 100644 --- a/src/jsMain/kotlin/three/Line3.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Line3.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Line3(start: Vector3 = definedExternally, end: Vector3 = definedExternally) { open var start: Vector3 diff --git a/src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt similarity index 66% rename from src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt index 1151d02615..d40d2ea6a4 100644 --- a/src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/LineBasicMaterial.module_three.kt @@ -1,12 +1,28 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface LineBasicMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ get() = definedExternally set(value) = definedExternally + var fog: Boolean? + get() = definedExternally + set(value) = definedExternally var linewidth: Number? get() = definedExternally set(value) = definedExternally @@ -16,18 +32,17 @@ external interface LineBasicMaterialParameters : MaterialParameters { var linejoin: String? get() = definedExternally set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally } open external class LineBasicMaterial(parameters: LineBasicMaterialParameters = definedExternally) : Material { + open val isLineBasicMaterial: Boolean override var type: String - open var color: dynamic /* Color | String | Number */ + open var color: Color + open var fog: Boolean open var linewidth: Number open var linecap: String open var linejoin: String - open var morphTargets: Boolean + open var map: Texture? open fun setValues(parameters: LineBasicMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LineCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineCurve.module_three.kt new file mode 100644 index 0000000000..02a880e5b4 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LineCurve.module_three.kt @@ -0,0 +1,11 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class LineCurve(v1: Vector2 = definedExternally, v2: Vector2 = definedExternally) : Curve { + open val isLineCurve: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "LineCurve" */ + open var v1: Vector2 + open var v2: Vector2 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LineCurve3.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineCurve3.module_three.kt new file mode 100644 index 0000000000..69ef0a5298 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LineCurve3.module_three.kt @@ -0,0 +1,11 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class LineCurve3(v1: Vector3 = definedExternally, v2: Vector3 = definedExternally) : Curve { + open val isLineCurve3: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "LineCurve3" */ + open var v1: Vector3 + open var v2: Vector3 +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt similarity index 64% rename from src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt index 57db957975..6f4290a8e3 100644 --- a/src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/LineDashedMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface LineDashedMaterialParameters : LineBasicMaterialParameters { var scale: Number? @@ -16,11 +29,12 @@ external interface LineDashedMaterialParameters : LineBasicMaterialParameters { } open external class LineDashedMaterial(parameters: LineDashedMaterialParameters = definedExternally) : LineBasicMaterial { + open val isLineDashedMaterial: Boolean override var type: String open var scale: Number open var dashSize: Number open var gapSize: Number - open var isLineDashedMaterial: Boolean open fun setValues(parameters: LineDashedMaterialParameters) override fun setValues(parameters: LineBasicMaterialParameters) + override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LineLoop.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineLoop.module_three.kt new file mode 100644 index 0000000000..52323ac7f7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LineLoop.module_three.kt @@ -0,0 +1,9 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class LineLoop, TMaterial : Material/*, TEventMap : Object3DEventMap*/>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Line { + open val isLineLoop: Boolean + override var override: Any + override val type: String /* String | "LineLoop" */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LineSegments.module_three.kt b/ext/three/src/jsMain/kotlin/three/LineSegments.module_three.kt new file mode 100644 index 0000000000..472436f9bf --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LineSegments.module_three.kt @@ -0,0 +1,13 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class LineSegments, TMaterial : Material/*, TEventMap : Object3DEventMap*/>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Line { + open val isLineSegments: Boolean + override var override: Any + override val type: String /* String | "LineSegments" */ +} + +//typealias LineSegments__0 = LineSegments */, Object3DEventMap> + +//open external class LineSegments__2, TMaterial> : LineSegments diff --git a/ext/three/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt b/ext/three/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt new file mode 100644 index 0000000000..4ed11774a8 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class LinearInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { + open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Loader.module_three.kt b/ext/three/src/jsMain/kotlin/three/Loader.module_three.kt new file mode 100644 index 0000000000..16798602f1 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Loader.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.xhr.ProgressEvent +import kotlin.js.Promise + +external interface `T$89` { + @nativeGetter + operator fun get(header: String): String? + @nativeSetter + operator fun set(header: String, value: String) +} + +open external class Loader(manager: LoadingManager = definedExternally) { + open var crossOrigin: String + open var withCredentials: Boolean + open var path: String + open var resourcePath: String + open var manager: LoadingManager + open var requestHeader: `T$89` + open fun load(url: TUrl, onLoad: (data: TData) -> Unit, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (err: Any) -> Unit = definedExternally): Any? + open fun loadAsync(url: TUrl, onProgress: (event: ProgressEvent) -> Unit = definedExternally): Promise + open fun setCrossOrigin(crossOrigin: String): Loader /* this */ + open fun setWithCredentials(value: Boolean): Loader /* this */ + open fun setPath(path: String): Loader /* this */ + open fun setResourcePath(resourcePath: String): Loader /* this */ + open fun setRequestHeader(requestHeader: `T$89`): Loader /* this */ + + companion object { + var DEFAULT_MATERIAL_NAME: String + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/LoaderUtils.module_three.kt b/ext/three/src/jsMain/kotlin/three/LoaderUtils.module_three.kt new file mode 100644 index 0000000000..6eb196c199 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/LoaderUtils.module_three.kt @@ -0,0 +1,15 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.ArrayBuffer +import org.khronos.webgl.ArrayBufferView + +open external class LoaderUtils { + companion object { + fun decodeText(array: ArrayBufferView): String + fun decodeText(array: ArrayBuffer): String + fun extractUrlBase(url: String): String + fun resolveURL(url: String, path: String): String + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LoadingManager.module_three.kt b/ext/three/src/jsMain/kotlin/three/LoadingManager.module_three.kt similarity index 55% rename from src/jsMain/kotlin/three/LoadingManager.module_three.kt rename to ext/three/src/jsMain/kotlin/three/LoadingManager.module_three.kt index 8c43faf710..e4387f27bb 100644 --- a/src/jsMain/kotlin/three/LoadingManager.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/LoadingManager.module_three.kt @@ -1,12 +1,25 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import kotlin.js.RegExp +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external var DefaultLoadingManager: LoadingManager open external class LoadingManager(onLoad: () -> Unit = definedExternally, onProgress: (url: String, loaded: Number, total: Number) -> Unit = definedExternally, onError: (url: String) -> Unit = definedExternally) { - open var onStart: (url: String, loaded: Number, total: Number) -> Unit + open var onStart: ((url: String, loaded: Number, total: Number) -> Unit)? open var onLoad: () -> Unit open var onProgress: (url: String, loaded: Number, total: Number) -> Unit open var onError: (url: String) -> Unit @@ -15,7 +28,7 @@ open external class LoadingManager(onLoad: () -> Unit = definedExternally, onPro open fun itemStart(url: String) open fun itemEnd(url: String) open fun itemError(url: String) - open fun addHandler(regex: RegExp, loader: Loader): LoadingManager /* this */ + open fun addHandler(regex: RegExp, loader: Loader__0): LoadingManager /* this */ open fun removeHandler(regex: RegExp): LoadingManager /* this */ - open fun getHandler(file: String): Loader? + open fun getHandler(file: String): Loader__0? } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Material.module_three.kt b/ext/three/src/jsMain/kotlin/three/Material.module_three.kt new file mode 100644 index 0000000000..2b64d117d7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Material.module_three.kt @@ -0,0 +1,559 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record +import kotlin.js.Json + +external interface MaterialParameters { + var alphaHash: Boolean? + get() = definedExternally + set(value) = definedExternally + var alphaTest: Number? + get() = definedExternally + set(value) = definedExternally + var alphaToCoverage: Boolean? + get() = definedExternally + set(value) = definedExternally + var blendAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blendColor: dynamic /* Color? | String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var blendDst: Any? + get() = definedExternally + set(value) = definedExternally + var blendDstAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blendEquation: Any? + get() = definedExternally + set(value) = definedExternally + var blendEquationAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blending: Any? + get() = definedExternally + set(value) = definedExternally + var blendSrc: Any? + get() = definedExternally + set(value) = definedExternally + var blendSrcAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var clipIntersection: Boolean? + get() = definedExternally + set(value) = definedExternally + var clippingPlanes: Array? + get() = definedExternally + set(value) = definedExternally + var clipShadows: Boolean? + get() = definedExternally + set(value) = definedExternally + var colorWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var defines: Any? + get() = definedExternally + set(value) = definedExternally + var depthFunc: Any? + get() = definedExternally + set(value) = definedExternally + var depthTest: Boolean? + get() = definedExternally + set(value) = definedExternally + var depthWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var name: String? + get() = definedExternally + set(value) = definedExternally + var opacity: Number? + get() = definedExternally + set(value) = definedExternally + var polygonOffset: Boolean? + get() = definedExternally + set(value) = definedExternally + var polygonOffsetFactor: Number? + get() = definedExternally + set(value) = definedExternally + var polygonOffsetUnits: Number? + get() = definedExternally + set(value) = definedExternally + var precision: String? /* "highp" | "mediump" | "lowp" */ + get() = definedExternally + set(value) = definedExternally + var premultipliedAlpha: Boolean? + get() = definedExternally + set(value) = definedExternally + var forceSinglePass: Boolean? + get() = definedExternally + set(value) = definedExternally + var dithering: Boolean? + get() = definedExternally + set(value) = definedExternally + var side: Any? + get() = definedExternally + set(value) = definedExternally + var shadowSide: Any? + get() = definedExternally + set(value) = definedExternally + var toneMapped: Boolean? + get() = definedExternally + set(value) = definedExternally + var transparent: Boolean? + get() = definedExternally + set(value) = definedExternally + var vertexColors: Boolean? + get() = definedExternally + set(value) = definedExternally + var visible: Boolean? + get() = definedExternally + set(value) = definedExternally + var format: Any? + get() = definedExternally + set(value) = definedExternally + var stencilWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var stencilFunc: Any? + get() = definedExternally + set(value) = definedExternally + var stencilRef: Number? + get() = definedExternally + set(value) = definedExternally + var stencilWriteMask: Number? + get() = definedExternally + set(value) = definedExternally + var stencilFuncMask: Number? + get() = definedExternally + set(value) = definedExternally + var stencilFail: Any? + get() = definedExternally + set(value) = definedExternally + var stencilZFail: Any? + get() = definedExternally + set(value) = definedExternally + var stencilZPass: Any? + get() = definedExternally + set(value) = definedExternally + var userData: Record? + get() = definedExternally + set(value) = definedExternally +} + +external interface MaterialJSON { + var metadata: `T$0_Object3D` + var uuid: String + var type: String + var name: String? + get() = definedExternally + set(value) = definedExternally + var color: Number? + get() = definedExternally + set(value) = definedExternally + var roughness: Number? + get() = definedExternally + set(value) = definedExternally + var metalness: Number? + get() = definedExternally + set(value) = definedExternally + var sheen: Number? + get() = definedExternally + set(value) = definedExternally + var sheenColor: Number? + get() = definedExternally + set(value) = definedExternally + var sheenRoughness: Number? + get() = definedExternally + set(value) = definedExternally + var emissive: Number? + get() = definedExternally + set(value) = definedExternally + var emissiveIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var specular: Number? + get() = definedExternally + set(value) = definedExternally + var specularIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var specularColor: Number? + get() = definedExternally + set(value) = definedExternally + var shininess: Number? + get() = definedExternally + set(value) = definedExternally + var clearcoat: Number? + get() = definedExternally + set(value) = definedExternally + var clearcoatRoughness: Number? + get() = definedExternally + set(value) = definedExternally + var clearcoatMap: String? + get() = definedExternally + set(value) = definedExternally + var clearcoatRoughnessMap: String? + get() = definedExternally + set(value) = definedExternally + var clearcoatNormalMap: String? + get() = definedExternally + set(value) = definedExternally + var clearcoatNormalScale: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var dispersion: Number? + get() = definedExternally + set(value) = definedExternally + var iridescence: Number? + get() = definedExternally + set(value) = definedExternally + var iridescenceIOR: Number? + get() = definedExternally + set(value) = definedExternally + var iridescenceThicknessRange: Number? + get() = definedExternally + set(value) = definedExternally + var iridescenceMap: String? + get() = definedExternally + set(value) = definedExternally + var iridescenceThicknessMap: String? + get() = definedExternally + set(value) = definedExternally + var anisotropy: Number? + get() = definedExternally + set(value) = definedExternally + var anisotropyRotation: Number? + get() = definedExternally + set(value) = definedExternally + var anisotropyMap: String? + get() = definedExternally + set(value) = definedExternally + var map: String? + get() = definedExternally + set(value) = definedExternally + var matcap: String? + get() = definedExternally + set(value) = definedExternally + var alphaMap: String? + get() = definedExternally + set(value) = definedExternally + var lightMap: String? + get() = definedExternally + set(value) = definedExternally + var lightMapIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var aoMap: String? + get() = definedExternally + set(value) = definedExternally + var aoMapIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var bumpMap: String? + get() = definedExternally + set(value) = definedExternally + var bumpScale: Number? + get() = definedExternally + set(value) = definedExternally + var normalMap: String? + get() = definedExternally + set(value) = definedExternally + var normalMapType: Any? + get() = definedExternally + set(value) = definedExternally + var normalScale: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var displacementMap: String? + get() = definedExternally + set(value) = definedExternally + var displacementScale: Number? + get() = definedExternally + set(value) = definedExternally + var displacementBias: Number? + get() = definedExternally + set(value) = definedExternally + var roughnessMap: String? + get() = definedExternally + set(value) = definedExternally + var metalnessMap: String? + get() = definedExternally + set(value) = definedExternally + var emissiveMap: String? + get() = definedExternally + set(value) = definedExternally + var specularMap: String? + get() = definedExternally + set(value) = definedExternally + var specularIntensityMap: String? + get() = definedExternally + set(value) = definedExternally + var specularColorMap: String? + get() = definedExternally + set(value) = definedExternally + var envMap: String? + get() = definedExternally + set(value) = definedExternally + var combine: Any? + get() = definedExternally + set(value) = definedExternally + var envMapRotation: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var envMapIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var reflectivity: Number? + get() = definedExternally + set(value) = definedExternally + var refractionRatio: Number? + get() = definedExternally + set(value) = definedExternally + var gradientMap: String? + get() = definedExternally + set(value) = definedExternally + var transmission: Number? + get() = definedExternally + set(value) = definedExternally + var transmissionMap: String? + get() = definedExternally + set(value) = definedExternally + var thickness: Number? + get() = definedExternally + set(value) = definedExternally + var thicknessMap: String? + get() = definedExternally + set(value) = definedExternally + var attenuationDistance: Number? + get() = definedExternally + set(value) = definedExternally + var attenuationColor: Number? + get() = definedExternally + set(value) = definedExternally + var size: Number? + get() = definedExternally + set(value) = definedExternally + var shadowSide: Number? + get() = definedExternally + set(value) = definedExternally + var sizeAttenuation: Boolean? + get() = definedExternally + set(value) = definedExternally + var blending: Any? + get() = definedExternally + set(value) = definedExternally + var side: Any? + get() = definedExternally + set(value) = definedExternally + var vertexColors: Boolean? + get() = definedExternally + set(value) = definedExternally + var opacity: Number? + get() = definedExternally + set(value) = definedExternally + var transparent: Boolean? + get() = definedExternally + set(value) = definedExternally + var blendSrc: Any? + get() = definedExternally + set(value) = definedExternally + var blendDst: Any? + get() = definedExternally + set(value) = definedExternally + var blendEquation: Any? + get() = definedExternally + set(value) = definedExternally + var blendSrcAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blendDstAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blendEquationAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var blendColor: Number? + get() = definedExternally + set(value) = definedExternally + var blendAlpha: Number? + get() = definedExternally + set(value) = definedExternally + var depthFunc: Any? + get() = definedExternally + set(value) = definedExternally + var depthTest: Boolean? + get() = definedExternally + set(value) = definedExternally + var depthWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var colorWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var stencilWriteMask: Number? + get() = definedExternally + set(value) = definedExternally + var stencilFunc: Any? + get() = definedExternally + set(value) = definedExternally + var stencilRef: Number? + get() = definedExternally + set(value) = definedExternally + var stencilFuncMask: Number? + get() = definedExternally + set(value) = definedExternally + var stencilFail: Any? + get() = definedExternally + set(value) = definedExternally + var stencilZFail: Any? + get() = definedExternally + set(value) = definedExternally + var stencilZPass: Any? + get() = definedExternally + set(value) = definedExternally + var stencilWrite: Boolean? + get() = definedExternally + set(value) = definedExternally + var rotation: Number? + get() = definedExternally + set(value) = definedExternally + var polygonOffset: Boolean? + get() = definedExternally + set(value) = definedExternally + var polygonOffsetFactor: Number? + get() = definedExternally + set(value) = definedExternally + var polygonOffsetUnits: Number? + get() = definedExternally + set(value) = definedExternally + var linewidth: Number? + get() = definedExternally + set(value) = definedExternally + var dashSize: Number? + get() = definedExternally + set(value) = definedExternally + var gapSize: Number? + get() = definedExternally + set(value) = definedExternally + var scale: Number? + get() = definedExternally + set(value) = definedExternally + var dithering: Boolean? + get() = definedExternally + set(value) = definedExternally + var alphaTest: Number? + get() = definedExternally + set(value) = definedExternally + var alphaHash: Boolean? + get() = definedExternally + set(value) = definedExternally + var alphaToCoverage: Boolean? + get() = definedExternally + set(value) = definedExternally + var premultipliedAlpha: Boolean? + get() = definedExternally + set(value) = definedExternally + var forceSinglePass: Boolean? + get() = definedExternally + set(value) = definedExternally + var wireframe: Boolean? + get() = definedExternally + set(value) = definedExternally + var wireframeLinewidth: Number? + get() = definedExternally + set(value) = definedExternally + var wireframeLinecap: String? + get() = definedExternally + set(value) = definedExternally + var wireframeLinejoin: String? + get() = definedExternally + set(value) = definedExternally + var flatShading: Boolean? + get() = definedExternally + set(value) = definedExternally + var visible: Boolean? + get() = definedExternally + set(value) = definedExternally + var toneMapped: Boolean? + get() = definedExternally + set(value) = definedExternally + var fog: Boolean? + get() = definedExternally + set(value) = definedExternally + var userData: Record? + get() = definedExternally + set(value) = definedExternally +// var textures: Array>? +// get() = definedExternally +// set(value) = definedExternally + var images: Array? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$8` { + var dispose: Any +} + +open external class Material : EventDispatcher/*<`T$8`>*/ { + open val isMaterial: Boolean + open var alphaHash: Boolean + open var alphaToCoverage: Boolean + open var blendAlpha: Number + open var blendColor: Color + open var blendDst: Any + open var blendDstAlpha: Number? + open var blendEquation: Any + open var blendEquationAlpha: Number? + open var blending: Any + open var blendSrc: Any + open var blendSrcAlpha: Number? + open var clipIntersection: Boolean + open var clippingPlanes: Array? + open var clipShadows: Boolean + open var colorWrite: Boolean + open var defines: Json? + open var depthFunc: Any + open var depthTest: Boolean + open var depthWrite: Boolean + open var id: Number + open var stencilWrite: Boolean + open var stencilFunc: Any + open var stencilRef: Number + open var stencilWriteMask: Number + open var stencilFuncMask: Number + open var stencilFail: Any + open var stencilZFail: Any + open var stencilZPass: Any + open var name: String + open var opacity: Number + open var polygonOffset: Boolean + open var polygonOffsetFactor: Number + open var polygonOffsetUnits: Number + open var precision: String /* "highp" | "mediump" | "lowp" */ + open var premultipliedAlpha: Boolean + open var forceSinglePass: Boolean + open var dithering: Boolean + open var side: Any + open var shadowSide: Any? + open var toneMapped: Boolean + open var transparent: Boolean + open var type: String + open var uuid: String + open var vertexColors: Boolean + open var visible: Boolean + open var userData: Record + open var version: Number +// open fun onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, obj: Object3D/**/, group: Object3D/**/) + open fun onBeforeCompile(parameters: WebGLProgramParametersWithUniforms, renderer: WebGLRenderer) + open fun customProgramCacheKey(): String + open fun setValues(values: MaterialParameters) + open fun toJSON(meta: JSONMeta = definedExternally): MaterialJSON + open fun clone(): Material /* this */ + open fun copy(material: Material): Material /* this */ + open fun dispose() + open fun onBuild(obj: Object3D/**/, parameters: WebGLProgramParametersWithUniforms, renderer: WebGLRenderer) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/MaterialLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/MaterialLoader.module_three.kt new file mode 100644 index 0000000000..3443e1b8f8 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/MaterialLoader.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$90` { + @nativeGetter + operator fun get(key: String): Texture? + @nativeSetter + operator fun set(key: String, value: Texture) +} + +open external class MaterialLoader(manager: LoadingManager = definedExternally) : Loader__1 { + open var textures: `T$90` + open fun parse(json: Any): Material + open fun setTextures(textures: `T$90`): MaterialLoader /* this */ + + companion object { + fun createMaterialFromType(type: String): Material + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Matrix2.module_three.kt b/ext/three/src/jsMain/kotlin/three/Matrix2.module_three.kt new file mode 100644 index 0000000000..cf683ba847 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Matrix2.module_three.kt @@ -0,0 +1,14 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Matrix2 { + open val isMatrix2: Boolean + open var elements: DoubleArray /* JsTuple */ + constructor() + constructor(n11: Number, n12: Number, n21: Number, n22: Number) + open fun identity(): Matrix2 /* this */ + open fun fromArray(array: Array, offset: Int = definedExternally): Matrix2 /* this */ + open fun fromArray(array: DoubleArray, offset: Int = definedExternally): Matrix2 /* this */ + open fun set(n11: Number, n12: Number, n21: Number, n22: Number): Matrix2 /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Matrix3.module_three.kt b/ext/three/src/jsMain/kotlin/three/Matrix3.module_three.kt new file mode 100644 index 0000000000..1cb09c609a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Matrix3.module_three.kt @@ -0,0 +1,39 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Matrix3 { + open val isMatrix3: Boolean + open var elements: DoubleArray /* JsTuple */ + constructor() + constructor(n11: Number, n12: Number, n13: Number, n21: Number, n22: Number, n23: Number, n31: Number, n32: Number, n33: Number) + open fun set(n11: Number, n12: Number, n13: Number, n21: Number, n22: Number, n23: Number, n31: Number, n32: Number, n33: Number): Matrix3 + open fun identity(): Matrix3 /* this */ + open fun copy(m: Matrix3): Matrix3 /* this */ + open fun extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix3 /* this */ + open fun setFromMatrix4(m: Matrix4): Matrix3 + open fun multiply(m: Matrix3): Matrix3 /* this */ + open fun premultiply(m: Matrix3): Matrix3 /* this */ + open fun multiplyMatrices(a: Matrix3, b: Matrix3): Matrix3 /* this */ + open fun multiplyScalar(s: Number): Matrix3 /* this */ + open fun determinant(): Number + open fun invert(): Matrix3 /* this */ + open fun transpose(): Matrix3 /* this */ + open fun getNormalMatrix(matrix4: Matrix4): Matrix3 /* this */ + open fun transposeIntoArray(r: Array): Matrix3 /* this */ + open fun setUvTransform(tx: Number, ty: Number, sx: Number, sy: Number, rotation: Number, cx: Number, cy: Number): Matrix3 /* this */ + open fun scale(sx: Number, sy: Number): Matrix3 /* this */ + open fun rotate(theta: Number): Matrix3 /* this */ + open fun translate(tx: Number, ty: Number): Matrix3 /* this */ + open fun makeTranslation(v: Vector2): Matrix3 /* this */ + open fun makeTranslation(x: Number, y: Number): Matrix3 /* this */ + open fun makeRotation(theta: Number): Matrix3 /* this */ + open fun makeScale(x: Number, y: Number): Matrix3 /* this */ + open fun equals(matrix: Matrix3): Boolean + open fun fromArray(array: Array, offset: Int = definedExternally): Matrix3 /* this */ + open fun fromArray(array: DoubleArray, offset: Int = definedExternally): Matrix3 /* this */ + open fun toArray(): DoubleArray /* JsTuple */ + open fun > toArray(array: TArray, offset: Int = definedExternally): TArray + open fun > toArray(array: TArray): TArray + open fun clone(): Matrix3 /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Matrix4.module_three.kt b/ext/three/src/jsMain/kotlin/three/Matrix4.module_three.kt new file mode 100644 index 0000000000..c128b2ae02 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Matrix4.module_three.kt @@ -0,0 +1,51 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Matrix4 { + open val isMatrix4: Boolean + open var elements: DoubleArray /* JsTuple */ + constructor() + constructor(n11: Number, n12: Number, n13: Number, n14: Number, n21: Number, n22: Number, n23: Number, n24: Number, n31: Number, n32: Number, n33: Number, n34: Number, n41: Number, n42: Number, n43: Number, n44: Number) + open fun set(n11: Number, n12: Number, n13: Number, n14: Number, n21: Number, n22: Number, n23: Number, n24: Number, n31: Number, n32: Number, n33: Number, n34: Number, n41: Number, n42: Number, n43: Number, n44: Number): Matrix4 /* this */ + open fun identity(): Matrix4 /* this */ + open fun clone(): Matrix4 + open fun copy(m: Matrix4): Matrix4 /* this */ + open fun copyPosition(m: Matrix4): Matrix4 /* this */ + open fun setFromMatrix3(m: Matrix3): Matrix4 /* this */ + open fun extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4 /* this */ + open fun makeBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4 /* this */ + open fun extractRotation(m: Matrix4): Matrix4 /* this */ + open fun makeRotationFromEuler(euler: Euler): Matrix4 /* this */ + open fun makeRotationFromQuaternion(q: Quaternion): Matrix4 /* this */ + open fun lookAt(eye: Vector3, target: Vector3, up: Vector3): Matrix4 /* this */ + open fun multiply(m: Matrix4): Matrix4 /* this */ + open fun premultiply(m: Matrix4): Matrix4 /* this */ + open fun multiplyMatrices(a: Matrix4, b: Matrix4): Matrix4 /* this */ + open fun multiplyScalar(s: Number): Matrix4 /* this */ + open fun determinant(): Number + open fun transpose(): Matrix4 /* this */ + open fun setPosition(v: Vector3): Matrix4 /* this */ + open fun setPosition(x: Number, y: Number, z: Number): Matrix4 /* this */ + open fun invert(): Matrix4 /* this */ + open fun scale(v: Vector3): Matrix4 /* this */ + open fun getMaxScaleOnAxis(): Number + open fun makeTranslation(v: Vector3): Matrix4 /* this */ + open fun makeTranslation(x: Number, y: Number, z: Number): Matrix4 /* this */ + open fun makeRotationX(theta: Number): Matrix4 /* this */ + open fun makeRotationY(theta: Number): Matrix4 /* this */ + open fun makeRotationZ(theta: Number): Matrix4 /* this */ + open fun makeRotationAxis(axis: Vector3, angle: Number): Matrix4 /* this */ + open fun makeScale(x: Number, y: Number, z: Number): Matrix4 /* this */ + open fun makeShear(xy: Number, xz: Number, yx: Number, yz: Number, zx: Number, zy: Number): Matrix4 /* this */ + open fun compose(position: Vector3, quaternion: Quaternion, scale: Vector3): Matrix4 /* this */ + open fun decompose(position: Vector3, quaternion: Quaternion, scale: Vector3): Matrix4 /* this */ + open fun makePerspective(left: Number, right: Number, top: Number, bottom: Number, near: Number, far: Number, coordinateSystem: Any = definedExternally): Matrix4 /* this */ + open fun makeOrthographic(left: Number, right: Number, top: Number, bottom: Number, near: Number, far: Number, coordinateSystem: Any = definedExternally): Matrix4 /* this */ + open fun equals(matrix: Matrix4): Boolean + open fun fromArray(array: Array, offset: Int = definedExternally): Matrix4 /* this */ + open fun fromArray(array: DoubleArray, offset: Int = definedExternally): Matrix4 /* this */ + open fun toArray(): DoubleArray /* JsTuple */ + open fun > toArray(array: TArray, offset: Int = definedExternally): TArray + open fun > toArray(array: TArray): TArray +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Mesh.module_three.kt b/ext/three/src/jsMain/kotlin/three/Mesh.module_three.kt new file mode 100644 index 0000000000..9e85df7212 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Mesh.module_three.kt @@ -0,0 +1,35 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface MeshJSONObject : Object3DJSONObject { + var geometry: String +} + +external interface MeshJSON : Object3DJSON { +// override var `object`: MeshJSONObject +} + +external interface `T$31` { + @nativeGetter + operator fun get(key: String): Number? + @nativeSetter + operator fun set(key: String, value: Number) +} + +open external class Mesh, TMaterial/*, TEventMap : Object3DEventMap*/>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Object3D/**/ { + open val isMesh: Boolean + open var override: Any + override val type: String /* String | "Mesh" */ + open var geometry: TGeometry + open var material: TMaterial + open var morphTargetInfluences: Array? + open var morphTargetDictionary: `T$31`? + open fun updateMorphTargets() + open fun getVertexPosition(index: Number, target: Vector3): Vector3 + override fun toJSON(meta: JSONMeta): MeshJSON +} + +//typealias Mesh__0 = Mesh, dynamic /* Material | Array */, Object3DEventMap> + +//typealias Mesh__2, TMaterial> = Mesh \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt similarity index 75% rename from src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt index 30c7b344c7..865c4e3135 100644 --- a/src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshBasicMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshBasicMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -13,6 +26,12 @@ external interface MeshBasicMaterialParameters : MaterialParameters { var map: Texture? get() = definedExternally set(value) = definedExternally + var lightMap: Texture? + get() = definedExternally + set(value) = definedExternally + var lightMapIntensity: Number? + get() = definedExternally + set(value) = definedExternally var aoMap: Texture? get() = definedExternally set(value) = definedExternally @@ -25,10 +44,16 @@ external interface MeshBasicMaterialParameters : MaterialParameters { var alphaMap: Texture? get() = definedExternally set(value) = definedExternally + var fog: Boolean? + get() = definedExternally + set(value) = definedExternally var envMap: Texture? get() = definedExternally set(value) = definedExternally - var combine: Combine? + var envMapRotation: Euler? + get() = definedExternally + set(value) = definedExternally + var combine: Any? get() = definedExternally set(value) = definedExternally var reflectivity: Number? @@ -49,32 +74,29 @@ external interface MeshBasicMaterialParameters : MaterialParameters { var wireframeLinejoin: String? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally } open external class MeshBasicMaterial(parameters: MeshBasicMaterialParameters = definedExternally) : Material { + open val isMeshBasicMaterial: Boolean override var type: String open var color: Color open var map: Texture? + open var lightMap: Texture? + open var lightMapIntensity: Number open var aoMap: Texture? open var aoMapIntensity: Number open var specularMap: Texture? open var alphaMap: Texture? open var envMap: Texture? - open var combine: Combine + open var envMapRotation: Euler + open var combine: Any open var reflectivity: Number open var refractionRatio: Number open var wireframe: Boolean open var wireframeLinewidth: Number open var wireframeLinecap: String open var wireframeLinejoin: String - open var skinning: Boolean - open var morphTargets: Boolean + open var fog: Boolean open fun setValues(parameters: MeshBasicMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt similarity index 75% rename from src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt index 02e1a1b700..0764f2e4e3 100644 --- a/src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshDepthMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshDepthMaterialParameters : MaterialParameters { var map: Texture? @@ -10,7 +23,7 @@ external interface MeshDepthMaterialParameters : MaterialParameters { var alphaMap: Texture? get() = definedExternally set(value) = definedExternally - var depthPacking: DepthPackingStrategies? + var depthPacking: Any? get() = definedExternally set(value) = definedExternally var displacementMap: Texture? @@ -31,16 +44,17 @@ external interface MeshDepthMaterialParameters : MaterialParameters { } open external class MeshDepthMaterial(parameters: MeshDepthMaterialParameters = definedExternally) : Material { + open val isMeshDepthMaterial: Boolean override var type: String open var map: Texture? open var alphaMap: Texture? - open var depthPacking: DepthPackingStrategies + open var depthPacking: Any open var displacementMap: Texture? open var displacementScale: Number open var displacementBias: Number open var wireframe: Boolean open var wireframeLinewidth: Number - override var fog: Boolean + open var fog: Boolean open fun setValues(parameters: MeshDepthMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt similarity index 77% rename from src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt index 6dd74ca92a..bd7249a366 100644 --- a/src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshDistanceMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshDistanceMaterialParameters : MaterialParameters { var map: Texture? @@ -31,18 +44,14 @@ external interface MeshDistanceMaterialParameters : MaterialParameters { } open external class MeshDistanceMaterial(parameters: MeshDistanceMaterialParameters = definedExternally) : Material { + open val isMeshDistanceMaterial: Boolean override var type: String open var map: Texture? open var alphaMap: Texture? open var displacementMap: Texture? open var displacementScale: Number open var displacementBias: Number - open var farDistance: Number - open var nearDistance: Number - open var referencePosition: Vector3 - open var skinning: Boolean - open var morphTargets: Boolean - override var fog: Boolean + open var fog: Boolean open fun setValues(parameters: MeshDistanceMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt similarity index 66% rename from src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt index 00209ec2ed..613fad3168 100644 --- a/src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshLambertMaterial.module_three.kt @@ -1,12 +1,40 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshLambertMaterialParameters : MaterialParameters { + var bumpMap: Texture? + get() = definedExternally + set(value) = definedExternally + var bumpScale: Number? + get() = definedExternally + set(value) = definedExternally var color: dynamic /* Color? | String? | Number? */ get() = definedExternally set(value) = definedExternally + var displacementMap: Texture? + get() = definedExternally + set(value) = definedExternally + var displacementScale: Number? + get() = definedExternally + set(value) = definedExternally + var displacementBias: Number? + get() = definedExternally + set(value) = definedExternally var emissive: dynamic /* Color? | String? | Number? */ get() = definedExternally set(value) = definedExternally @@ -16,6 +44,9 @@ external interface MeshLambertMaterialParameters : MaterialParameters { var emissiveMap: Texture? get() = definedExternally set(value) = definedExternally + var flatShading: Boolean? + get() = definedExternally + set(value) = definedExternally var map: Texture? get() = definedExternally set(value) = definedExternally @@ -25,6 +56,12 @@ external interface MeshLambertMaterialParameters : MaterialParameters { var lightMapIntensity: Number? get() = definedExternally set(value) = definedExternally + var normalMap: Texture? + get() = definedExternally + set(value) = definedExternally + var normalScale: Vector2? + get() = definedExternally + set(value) = definedExternally var aoMap: Texture? get() = definedExternally set(value) = definedExternally @@ -40,7 +77,10 @@ external interface MeshLambertMaterialParameters : MaterialParameters { var envMap: Texture? get() = definedExternally set(value) = definedExternally - var combine: Combine? + var envMapRotation: Euler? + get() = definedExternally + set(value) = definedExternally + var combine: Any? get() = definedExternally set(value) = definedExternally var reflectivity: Number? @@ -61,41 +101,44 @@ external interface MeshLambertMaterialParameters : MaterialParameters { var wireframeLinejoin: String? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphNormals: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshLambertMaterial(parameters: MeshLambertMaterialParameters = definedExternally) : Material { + open val isMeshLambertMaterial: Boolean override var type: String open var color: Color + open var bumpMap: Texture? + open var bumpScale: Number + open var displacementMap: Texture? + open var displacementScale: Number + open var displacementBias: Number open var emissive: Color open var emissiveIntensity: Number open var emissiveMap: Texture? + open var flatShading: Boolean open var map: Texture? open var lightMap: Texture? open var lightMapIntensity: Number + open var normalMap: Texture? + open var normalMapType: Any + open var normalScale: Vector2 open var aoMap: Texture? open var aoMapIntensity: Number open var specularMap: Texture? open var alphaMap: Texture? open var envMap: Texture? - open var combine: Combine + open var envMapRotation: Euler + open var combine: Any open var reflectivity: Number open var refractionRatio: Number open var wireframe: Boolean open var wireframeLinewidth: Number open var wireframeLinecap: String open var wireframeLinejoin: String - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var fog: Boolean open fun setValues(parameters: MeshLambertMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt similarity index 79% rename from src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt index e89058d33c..9db765c975 100644 --- a/src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshMatcapMaterial.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import kotlin.js.Json +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshMatcapMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -24,7 +35,7 @@ external interface MeshMatcapMaterialParameters : MaterialParameters { var normalMap: Texture? get() = definedExternally set(value) = definedExternally - var normalMapType: NormalMapTypes? + var normalMapType: Any? get() = definedExternally set(value) = definedExternally var normalScale: Vector2? @@ -42,35 +53,31 @@ external interface MeshMatcapMaterialParameters : MaterialParameters { var alphaMap: Texture? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphNormals: Boolean? + var flatShading: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshMatcapMaterial(parameters: MeshMatcapMaterialParameters = definedExternally) : Material { + open val isMeshMatcapMaterial: Boolean override var type: String - override var defines: Json open var color: Color open var matcap: Texture? open var map: Texture? open var bumpMap: Texture? open var bumpScale: Number open var normalMap: Texture? - open var normalMapType: NormalMapTypes + open var normalMapType: Any open var normalScale: Vector2 open var displacementMap: Texture? open var displacementScale: Number open var displacementBias: Number open var alphaMap: Texture? - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var flatShading: Boolean + open var fog: Boolean open fun setValues(parameters: MeshMatcapMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt similarity index 77% rename from src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt index 941b1b729c..2d5b482374 100644 --- a/src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshNormalMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshNormalMaterialParameters : MaterialParameters { var bumpMap: Texture? @@ -13,7 +26,7 @@ external interface MeshNormalMaterialParameters : MaterialParameters { var normalMap: Texture? get() = definedExternally set(value) = definedExternally - var normalMapType: NormalMapTypes? + var normalMapType: Any? get() = definedExternally set(value) = definedExternally var normalScale: Vector2? @@ -34,32 +47,25 @@ external interface MeshNormalMaterialParameters : MaterialParameters { var wireframeLinewidth: Number? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphNormals: Boolean? + var flatShading: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshNormalMaterial(parameters: MeshNormalMaterialParameters = definedExternally) : Material { + open val isMeshNormalMaterial: Boolean override var type: String open var bumpMap: Texture? open var bumpScale: Number open var normalMap: Texture? - open var normalMapType: NormalMapTypes + open var normalMapType: Any open var normalScale: Vector2 open var displacementMap: Texture? open var displacementScale: Number open var displacementBias: Number open var wireframe: Boolean open var wireframeLinewidth: Number - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var flatShading: Boolean open fun setValues(parameters: MeshNormalMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt similarity index 87% rename from src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt index 9a0c97545f..ae9b831187 100644 --- a/src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshPhongMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshPhongMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -49,7 +62,7 @@ external interface MeshPhongMaterialParameters : MaterialParameters { var normalMap: Texture? get() = definedExternally set(value) = definedExternally - var normalMapType: NormalMapTypes? + var normalMapType: Any? get() = definedExternally set(value) = definedExternally var normalScale: Vector2? @@ -73,7 +86,10 @@ external interface MeshPhongMaterialParameters : MaterialParameters { var envMap: Texture? get() = definedExternally set(value) = definedExternally - var combine: Combine? + var envMapRotation: Euler? + get() = definedExternally + set(value) = definedExternally + var combine: Any? get() = definedExternally set(value) = definedExternally var reflectivity: Number? @@ -94,18 +110,16 @@ external interface MeshPhongMaterialParameters : MaterialParameters { var wireframeLinejoin: String? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally - var morphNormals: Boolean? + var flatShading: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshPhongMaterial(parameters: MeshPhongMaterialParameters = definedExternally) : Material { + open val isMeshPhongMaterial: Boolean override var type: String open var color: Color open var specular: Color @@ -121,7 +135,7 @@ open external class MeshPhongMaterial(parameters: MeshPhongMaterialParameters = open var bumpMap: Texture? open var bumpScale: Number open var normalMap: Texture? - open var normalMapType: NormalMapTypes + open var normalMapType: Any open var normalScale: Vector2 open var displacementMap: Texture? open var displacementScale: Number @@ -129,17 +143,17 @@ open external class MeshPhongMaterial(parameters: MeshPhongMaterialParameters = open var specularMap: Texture? open var alphaMap: Texture? open var envMap: Texture? - open var combine: Combine + open var envMapRotation: Euler + open var combine: Any open var reflectivity: Number open var refractionRatio: Number open var wireframe: Boolean open var wireframeLinewidth: Number open var wireframeLinecap: String open var wireframeLinejoin: String - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var flatShading: Boolean open var metal: Boolean + open var fog: Boolean open fun setValues(parameters: MeshPhongMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt new file mode 100644 index 0000000000..72b7516c74 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt @@ -0,0 +1,147 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface MeshPhysicalMaterialParameters : MeshStandardMaterialParameters { + var anisotropyRotation: Number? + get() = definedExternally + set(value) = definedExternally + var anisotropyMap: Texture? + get() = definedExternally + set(value) = definedExternally + var clearcoatMap: Texture? + get() = definedExternally + set(value) = definedExternally + var clearcoatRoughness: Number? + get() = definedExternally + set(value) = definedExternally + var clearcoatRoughnessMap: Texture? + get() = definedExternally + set(value) = definedExternally + var clearcoatNormalScale: Vector2? + get() = definedExternally + set(value) = definedExternally + var clearcoatNormalMap: Texture? + get() = definedExternally + set(value) = definedExternally + var ior: Number? + get() = definedExternally + set(value) = definedExternally + var reflectivity: Number? + get() = definedExternally + set(value) = definedExternally + var iridescenceMap: Texture? + get() = definedExternally + set(value) = definedExternally + var iridescenceIOR: Number? + get() = definedExternally + set(value) = definedExternally + var iridescenceThicknessRange: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var iridescenceThicknessMap: Texture? + get() = definedExternally + set(value) = definedExternally + var sheenColor: dynamic /* Color? | String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var sheenColorMap: Texture? + get() = definedExternally + set(value) = definedExternally + var sheenRoughness: Number? + get() = definedExternally + set(value) = definedExternally + var sheenRoughnessMap: Texture? + get() = definedExternally + set(value) = definedExternally + var transmissionMap: Texture? + get() = definedExternally + set(value) = definedExternally + var thickness: Number? + get() = definedExternally + set(value) = definedExternally + var thicknessMap: Texture? + get() = definedExternally + set(value) = definedExternally + var attenuationDistance: Number? + get() = definedExternally + set(value) = definedExternally + var attenuationColor: dynamic /* Color? | String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var specularIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var specularIntensityMap: Texture? + get() = definedExternally + set(value) = definedExternally + var specularColor: dynamic /* Color? | String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var specularColorMap: Texture? + get() = definedExternally + set(value) = definedExternally + var anisotropy: Number? + get() = definedExternally + set(value) = definedExternally + var clearcoat: Number? + get() = definedExternally + set(value) = definedExternally + var iridescence: Number? + get() = definedExternally + set(value) = definedExternally + var dispersion: Number? + get() = definedExternally + set(value) = definedExternally + var sheen: Number? + get() = definedExternally + set(value) = definedExternally + var transmission: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class MeshPhysicalMaterial(parameters: MeshPhysicalMaterialParameters = definedExternally) : MeshStandardMaterial { + open val isMeshPhysicalMaterial: Boolean +// override var defines: Json + override var type: String + open var anisotropyRotation: Number + open var anisotropyMap: Texture? + open var clearcoatMap: Texture? + open var clearcoatRoughness: Number + open var clearcoatRoughnessMap: Texture? + open var clearcoatNormalScale: Vector2 + open var clearcoatNormalMap: Texture? + open var ior: Number + open var iridescenceMap: Texture? + open var iridescenceIOR: Number + open var iridescenceThicknessRange: dynamic /* JsTuple */ + open var iridescenceThicknessMap: Texture? + open var sheenColor: Color + open var sheenColorMap: Texture? + open var sheenRoughness: Number + open var sheenRoughnessMap: Texture? + open var transmissionMap: Texture? + open var thickness: Number + open var thicknessMap: Texture? + open var attenuationDistance: Number + open var attenuationColor: Color + open var specularIntensity: Number + open var specularIntensityMap: Texture? + open var specularColor: Color + open var specularColorMap: Texture? +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt similarity index 86% rename from src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt index 34d02426b2..6954e10339 100644 --- a/src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshStandardMaterial.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import kotlin.js.Json +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshStandardMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -48,7 +59,7 @@ external interface MeshStandardMaterialParameters : MaterialParameters { var normalMap: Texture? get() = definedExternally set(value) = definedExternally - var normalMapType: NormalMapTypes? + var normalMapType: Any? get() = definedExternally set(value) = definedExternally var normalScale: Vector2? @@ -75,10 +86,10 @@ external interface MeshStandardMaterialParameters : MaterialParameters { var envMap: Texture? get() = definedExternally set(value) = definedExternally - var envMapIntensity: Number? + var envMapRotation: Euler? get() = definedExternally set(value) = definedExternally - var refractionRatio: Number? + var envMapIntensity: Number? get() = definedExternally set(value) = definedExternally var wireframe: Boolean? @@ -87,23 +98,17 @@ external interface MeshStandardMaterialParameters : MaterialParameters { var wireframeLinewidth: Number? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var vertexTangents: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally - var morphNormals: Boolean? + var flatShading: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshStandardMaterial(parameters: MeshStandardMaterialParameters = definedExternally) : Material { + open val isMeshStandardMaterial: Boolean override var type: String - override var defines: Json open var color: Color open var roughness: Number open var metalness: Number @@ -118,7 +123,7 @@ open external class MeshStandardMaterial(parameters: MeshStandardMaterialParamet open var bumpMap: Texture? open var bumpScale: Number open var normalMap: Texture? - open var normalMapType: NormalMapTypes + open var normalMapType: Any open var normalScale: Vector2 open var displacementMap: Texture? open var displacementScale: Number @@ -127,16 +132,14 @@ open external class MeshStandardMaterial(parameters: MeshStandardMaterialParamet open var metalnessMap: Texture? open var alphaMap: Texture? open var envMap: Texture? + open var envMapRotation: Euler open var envMapIntensity: Number - open var refractionRatio: Number open var wireframe: Boolean open var wireframeLinewidth: Number open var wireframeLinecap: String open var wireframeLinejoin: String - open var skinning: Boolean - open var vertexTangents: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var flatShading: Boolean + open var fog: Boolean open fun setValues(parameters: MeshStandardMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt similarity index 87% rename from src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt index bd8c14ae88..ab10e79fe8 100644 --- a/src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/MeshToonMaterial.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import kotlin.js.Json +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface MeshToonMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -48,7 +59,7 @@ external interface MeshToonMaterialParameters : MaterialParameters { var normalMap: Texture? get() = definedExternally set(value) = definedExternally - var normalMapType: NormalMapTypes? + var normalMapType: Any? get() = definedExternally set(value) = definedExternally var normalScale: Vector2? @@ -78,20 +89,14 @@ external interface MeshToonMaterialParameters : MaterialParameters { var wireframeLinejoin: String? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphTargets: Boolean? - get() = definedExternally - set(value) = definedExternally - var morphNormals: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally } open external class MeshToonMaterial(parameters: MeshToonMaterialParameters = definedExternally) : Material { + open val isMeshToonMaterial: Boolean override var type: String - override var defines: Json open var color: Color open var gradientMap: Texture? open var map: Texture? @@ -105,7 +110,7 @@ open external class MeshToonMaterial(parameters: MeshToonMaterialParameters = de open var bumpMap: Texture? open var bumpScale: Number open var normalMap: Texture? - open var normalMapType: NormalMapTypes + open var normalMapType: Any open var normalScale: Vector2 open var displacementMap: Texture? open var displacementScale: Number @@ -115,9 +120,7 @@ open external class MeshToonMaterial(parameters: MeshToonMaterialParameters = de open var wireframeLinewidth: Number open var wireframeLinecap: String open var wireframeLinejoin: String - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean + open var fog: Boolean open fun setValues(parameters: MeshToonMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt new file mode 100644 index 0000000000..9ea9415e70 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class NumberKeyframeTrack(name: String, times: Array, values: Array, interpolation: Any = definedExternally) : KeyframeTrack { + override var ValueTypeName: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Object3D.module_three.kt b/ext/three/src/jsMain/kotlin/three/Object3D.module_three.kt new file mode 100644 index 0000000000..35df566557 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Object3D.module_three.kt @@ -0,0 +1,171 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record + +external interface Object3DJSONObject { + var uuid: String + var type: String + var name: String? + get() = definedExternally + set(value) = definedExternally + var castShadow: Boolean? + get() = definedExternally + set(value) = definedExternally + var receiveShadow: Boolean? + get() = definedExternally + set(value) = definedExternally + var visible: Boolean? + get() = definedExternally + set(value) = definedExternally + var frustumCulled: Boolean? + get() = definedExternally + set(value) = definedExternally + var renderOrder: Number? + get() = definedExternally + set(value) = definedExternally + var userData: Record? + get() = definedExternally + set(value) = definedExternally + var layers: Number + var matrix: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var up: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var matrixAutoUpdate: Boolean? + get() = definedExternally + set(value) = definedExternally + var material: dynamic /* String? | Array? */ + get() = definedExternally + set(value) = definedExternally + var children: Array? + get() = definedExternally + set(value) = definedExternally + var animations: Array? + get() = definedExternally + set(value) = definedExternally +} + +external interface `T$0_Object3D` { + var version: Number + var type: String + var generator: String +} + +external interface Object3DJSON { + var metadata: `T$0_Object3D`? + get() = definedExternally + set(value) = definedExternally + var `object`: Object3DJSONObject +} + +external interface JSONMeta { + var geometries: Record + var materials: Record + var textures: Record + var images: Record + var shapes: Record + var skeletons: Record + var animations: Record + var nodes: Record +} + +external interface `T$1_Object3D` { + var child: Object3D/**/ +} + +external interface Object3DEventMap { + var added: Any + var removed: Any + var childadded: `T$1_Object3D` + var childremoved: `T$1_Object3D` +} + +open external class Object3D/**/ : EventDispatcher/**/ { + open val isObject3D: Boolean + open val id: Number + open var uuid: String + open var name: String + open val type: String /* String | "Object3D" */ + open var parent: Object3D/**/? + open var children: Array*/> + open var up: Vector3 + open val position: Vector3 + open val rotation: Euler + open val quaternion: Quaternion + open val scale: Vector3 + open val modelViewMatrix: Matrix4 + open val normalMatrix: Matrix3 + open var matrix: Matrix4 + open var matrixWorld: Matrix4 + open var matrixAutoUpdate: Boolean + open var matrixWorldAutoUpdate: Boolean + open var matrixWorldNeedsUpdate: Boolean + open var layers: Layers + open var visible: Boolean + open var castShadow: Boolean + open var receiveShadow: Boolean + open var frustumCulled: Boolean + open var renderOrder: Number + open var animations: Array + open var userData: Record + open var customDepthMaterial: Material? + open var customDistanceMaterial: Material? + open fun onBeforeShadow(renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry, depthMaterial: Material, group: Object3D/**/) + open fun onAfterShadow(renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry, depthMaterial: Material, group: Object3D/**/) + open fun onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Object3D/**/) + open fun onAfterRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, material: Material, group: Object3D/**/) + open fun applyMatrix4(matrix: Matrix4) + open fun applyQuaternion(quaternion: Quaternion): Object3D/**/ /* this */ + open fun setRotationFromAxisAngle(axis: Vector3, angle: Number) + open fun setRotationFromEuler(euler: Euler) + open fun setRotationFromMatrix(m: Matrix4) + open fun setRotationFromQuaternion(q: Quaternion) + open fun rotateOnAxis(axis: Vector3, angle: Number): Object3D/**/ /* this */ + open fun rotateOnWorldAxis(axis: Vector3, angle: Number): Object3D/**/ /* this */ + open fun rotateX(angle: Number): Object3D/**/ /* this */ + open fun rotateY(angle: Number): Object3D/**/ /* this */ + open fun rotateZ(angle: Number): Object3D/**/ /* this */ + open fun translateOnAxis(axis: Vector3, distance: Number): Object3D/**/ /* this */ + open fun translateX(distance: Number): Object3D/**/ /* this */ + open fun translateY(distance: Number): Object3D/**/ /* this */ + open fun translateZ(distance: Number): Object3D/**/ /* this */ + open fun localToWorld(vector: Vector3): Vector3 + open fun worldToLocal(vector: Vector3): Vector3 + open fun lookAt(vector: Vector3) + open fun lookAt(x: Number, y: Number, z: Number) + open fun add(vararg obj: Object3D/**/): Object3D/**/ /* this */ + open fun remove(vararg obj: Object3D/**/): Object3D/**/ /* this */ + open fun removeFromParent(): Object3D/**/ /* this */ + open fun clear(): Object3D/**/ /* this */ + open fun attach(obj: Object3D/**/): Object3D/**/ /* this */ + open fun getObjectById(id: Number): Object3D/**/? + open fun getObjectByName(name: String): Object3D/**/? + open fun getObjectByProperty(name: String, value: Any): Object3D/**/? + open fun getObjectsByProperty(name: String, value: Any, optionalTarget: Array*/> = definedExternally): Array*/> + open fun getWorldPosition(target: Vector3): Vector3 + open fun getWorldQuaternion(target: Quaternion): Quaternion + open fun getWorldScale(target: Vector3): Vector3 + open fun getWorldDirection(target: Vector3): Vector3 + open fun raycast(raycaster: Raycaster, intersects: Array) + open fun traverse(callback: (obj: Object3D/**/) -> Any) + open fun traverseVisible(callback: (obj: Object3D/**/) -> Any) + open fun traverseAncestors(callback: (obj: Object3D/**/) -> Any) + open fun updateMatrix() + open fun updateMatrixWorld(force: Boolean = definedExternally) + open fun updateWorldMatrix(updateParents: Boolean, updateChildren: Boolean) + open fun toJSON(meta: JSONMeta = definedExternally): Object3DJSON + open fun clone(recursive: Boolean = definedExternally): Object3D/**/ /* this */ + open fun copy(obj: Object3D/**/, recursive: Boolean = definedExternally): Object3D/**/ /* this */ + + companion object { + var DEFAULT_UP: Vector3 + var DEFAULT_MATRIX_AUTO_UPDATE: Boolean + var DEFAULT_MATRIX_WORLD_AUTO_UPDATE: Boolean + } +} + +//typealias Object3D = Object3D \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ObjectLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/ObjectLoader.module_three.kt new file mode 100644 index 0000000000..147102dd7e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ObjectLoader.module_three.kt @@ -0,0 +1,49 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.xhr.ProgressEvent +import kotlin.js.Promise + +external interface `T$91` { + @nativeGetter + operator fun get(key: String): dynamic /* InstancedBufferGeometry? | BufferGeometry? */ + @nativeSetter + operator fun set(key: String, value: InstancedBufferGeometry) + @nativeSetter + operator fun set(key: String, value: BufferGeometry) +} + +external interface `T$92` { + @nativeGetter + operator fun get(key: String): Material? + @nativeSetter + operator fun set(key: String, value: Material) +} + +external interface `T$93` { + @nativeGetter + operator fun get(key: String): AnimationClip? + @nativeSetter + operator fun set(key: String, value: AnimationClip) +} + +external interface `T$94` { + @nativeGetter + operator fun get(key: String): Source? + @nativeSetter + operator fun set(key: String, value: Source) +} + +open external class ObjectLoader(manager: LoadingManager = definedExternally) : Loader__1*/> { + override fun load(url: String, onLoad: (data: Object3D/**/) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit) + open fun parse(json: Any, onLoad: (obj: Object3D/**/) -> Unit = definedExternally): Object3D/**/ + open fun parseAsync(json: Any): Promise*/> + open fun parseGeometries(json: Any): `T$91` + open fun parseMaterials(json: Any, textures: `T$90`): `T$92` + open fun parseAnimations(json: Any): `T$93` + open fun parseImages(json: Any, onLoad: () -> Unit = definedExternally): `T$94` + open fun parseImagesAsync(json: Any): Promise<`T$94`> + open fun parseTextures(json: Any, images: `T$94`): `T$90` + open fun parseObject(data: Any, geometries: `T$91`, materials: `T$92`, animations: `T$93`): Object3D/**/ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt new file mode 100644 index 0000000000..cdab495708 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class OctahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { + override var override: Any + override val type: String /* String | "OctahedronGeometry" */ + + companion object { + fun fromJSON(data: Any): OctahedronGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt b/ext/three/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt new file mode 100644 index 0000000000..0e70088bc0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt @@ -0,0 +1,52 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface OrthographicCameraJSONObject : Object3DJSONObject { + var zoom: Number + var left: Number + var right: Number + var top: Number + var bottom: Number + var near: Number + var far: Number + var view: `T$30`? + get() = definedExternally + set(value) = definedExternally +} + +external interface OrthographicCameraJSON : Object3DJSON { +// override var `object`: OrthographicCameraJSONObject +} + +open external class OrthographicCamera(left: Number = definedExternally, right: Number = definedExternally, top: Number = definedExternally, bottom: Number = definedExternally, near: Number = definedExternally, far: Number = definedExternally) : Camera { + open val isOrthographicCamera: Boolean + override var override: Any + override val type: String /* String | "OrthographicCamera" */ + open var zoom: Number + open var view: `T$30`? + open var left: Number + open var right: Number + open var top: Number + open var bottom: Number + open var near: Number + open var far: Number + open fun updateProjectionMatrix() + open fun setViewOffset(fullWidth: Number, fullHeight: Number, offsetX: Number, offsetY: Number, width: Number, height: Number) + open fun clearViewOffset() + override fun toJSON(meta: JSONMeta): OrthographicCameraJSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt b/ext/three/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt new file mode 100644 index 0000000000..2afa18bdd1 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class PMREMGenerator(renderer: WebGLRenderer) { + open fun fromScene(scene: Scene, sigma: Number = definedExternally, near: Number = definedExternally, far: Number = definedExternally): WebGLRenderTarget + open fun fromEquirectangular(equirectangular: Texture, renderTarget: WebGLRenderTarget? = definedExternally): WebGLRenderTarget + open fun fromCubemap(cubemap: CubeTexture, renderTarget: WebGLRenderTarget? = definedExternally): WebGLRenderTarget + open fun compileCubemapShader() + open fun compileEquirectangularShader() + open fun dispose() +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Path.module_three.kt b/ext/three/src/jsMain/kotlin/three/Path.module_three.kt similarity index 58% rename from src/jsMain/kotlin/three/Path.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Path.module_three.kt index ec09fd90bb..0e3d4b4bef 100644 --- a/src/jsMain/kotlin/three/Path.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Path.module_three.kt @@ -1,20 +1,27 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +external interface PathJSON : CurvePathJSON { + var currentPoint: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally +} open external class Path(points: Array = definedExternally) : CurvePath { - override var type: String + override var override: Any + override val type: String /* String | "Path" */ open var currentPoint: Vector2 - open fun fromPoints(vectors: Array): Path /* this */ - open fun setFromPoints(vectors: Array): Path /* this */ - open fun moveTo(x: Number, y: Number): Path /* this */ + open fun absarc(aX: Number, aY: Number, aRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean = definedExternally): Path /* this */ + open fun absellipse(aX: Number, aY: Number, xRadius: Number, yRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean = definedExternally, aRotation: Number = definedExternally): Path /* this */ + open fun arc(aX: Number, aY: Number, aRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean = definedExternally): Path /* this */ + open fun bezierCurveTo(aCP1x: Number, aCP1y: Number, aCP2x: Number, aCP2y: Number, aX: Number, aY: Number): Path /* this */ + open fun ellipse(aX: Number, aY: Number, xRadius: Number, yRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean = definedExternally, aRotation: Number = definedExternally): Path /* this */ open fun lineTo(x: Number, y: Number): Path /* this */ + open fun moveTo(x: Number, y: Number): Path /* this */ open fun quadraticCurveTo(aCPx: Number, aCPy: Number, aX: Number, aY: Number): Path /* this */ - open fun bezierCurveTo(aCP1x: Number, aCP1y: Number, aCP2x: Number, aCP2y: Number, aX: Number, aY: Number): Path /* this */ + open fun setFromPoints(vectors: Array): Path /* this */ open fun splineThru(pts: Array): Path /* this */ - open fun arc(aX: Number, aY: Number, aRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean): Path /* this */ - open fun absarc(aX: Number, aY: Number, aRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean): Path /* this */ - open fun ellipse(aX: Number, aY: Number, xRadius: Number, yRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean, aRotation: Number): Path /* this */ - open fun absellipse(aX: Number, aY: Number, xRadius: Number, yRadius: Number, aStartAngle: Number, aEndAngle: Number, aClockwise: Boolean, aRotation: Number): Path /* this */ + override fun toJSON(): PathJSON + open fun fromJSON(json: PathJSON): Path /* this */ } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt b/ext/three/src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt similarity index 55% rename from src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt index 4281229212..44fd48c27a 100644 --- a/src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PerspectiveCamera.module_three.kt @@ -1,9 +1,8 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -external interface `T$48` { +external interface `T$30` { var enabled: Boolean var fullWidth: Number var fullHeight: Number @@ -13,27 +12,47 @@ external interface `T$48` { var height: Number } +external interface PerspectiveCameraJSONObject : Object3DJSONObject { + var fov: Number + var zoom: Number + var near: Number + var far: Number + var focus: Number + var aspect: Number + var view: `T$30`? + get() = definedExternally + set(value) = definedExternally + var filmGauge: Number + var filmOffset: Number +} + +external interface PerspectiveCameraJSON : Object3DJSON { +// override var `object`: PerspectiveCameraJSONObject +} + open external class PerspectiveCamera(fov: Number = definedExternally, aspect: Number = definedExternally, near: Number = definedExternally, far: Number = definedExternally) : Camera { - override var type: String /* 'PerspectiveCamera' */ - open var isPerspectiveCamera: Boolean + open val isPerspectiveCamera: Boolean + override var override: Any + override val type: String /* String | "PerspectiveCamera" */ open var zoom: Number open var fov: Number open var aspect: Number open var near: Number open var far: Number open var focus: Number - open var view: `T$48`? + open var view: `T$30`? open var filmGauge: Number open var filmOffset: Number - open fun setFocalLength(focalLength: Number) open fun getFocalLength(): Number + open fun setFocalLength(focalLength: Number) open fun getEffectiveFOV(): Number open fun getFilmWidth(): Number open fun getFilmHeight(): Number + open fun getViewBounds(distance: Number, minTarget: Vector2, maxTarget: Vector2) + open fun getViewSize(distance: Number, target: Vector2): Vector2 open fun setViewOffset(fullWidth: Number, fullHeight: Number, x: Number, y: Number, width: Number, height: Number) open fun clearViewOffset() open fun updateProjectionMatrix() - open fun toJSON(meta: Any = definedExternally): Any - override fun toJSON(meta: `T$0`): Any open fun setLens(focalLength: Number, frameHeight: Number = definedExternally) + override fun toJSON(meta: JSONMeta): PerspectiveCameraJSON } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Plane.module_three.kt b/ext/three/src/jsMain/kotlin/three/Plane.module_three.kt similarity index 89% rename from src/jsMain/kotlin/three/Plane.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Plane.module_three.kt index 2af79937e2..050a7145d9 100644 --- a/src/jsMain/kotlin/three/Plane.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Plane.module_three.kt @@ -1,12 +1,11 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Plane(normal: Vector3 = definedExternally, constant: Number = definedExternally) { open var normal: Vector3 open var constant: Number - open var isPlane: Boolean + open val isPlane: Boolean open fun set(normal: Vector3, constant: Number): Plane open fun setComponents(x: Number, y: Number, z: Number, w: Number): Plane open fun setFromNormalAndCoplanarPoint(normal: Vector3, point: Vector3): Plane @@ -18,7 +17,6 @@ open external class Plane(normal: Vector3 = definedExternally, constant: Number open fun distanceToPoint(point: Vector3): Number open fun distanceToSphere(sphere: Sphere): Number open fun projectPoint(point: Vector3, target: Vector3): Vector3 - open fun orthoPoint(point: Vector3, target: Vector3): Vector3 open fun intersectLine(line: Line3, target: Vector3): Vector3? open fun intersectsLine(line: Line3): Boolean open fun intersectsBox(box: Box3): Boolean diff --git a/ext/three/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt new file mode 100644 index 0000000000..8334b3ec1d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$80` { + val width: Number + val height: Number + val widthSegments: Number + val heightSegments: Number +} + +open external class PlaneGeometry(width: Number = definedExternally, height: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "PlaneGeometry" */ + open val parameters: `T$80` + + companion object { + fun fromJSON(data: Any): PlaneGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PlaneHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/PlaneHelper.module_three.kt similarity index 55% rename from src/jsMain/kotlin/three/PlaneHelper.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PlaneHelper.module_three.kt index 6e59fe338d..2dbe95ea86 100644 --- a/src/jsMain/kotlin/three/PlaneHelper.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PlaneHelper.module_three.kt @@ -1,11 +1,11 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -open external class PlaneHelper(plane: Plane, size: Number = definedExternally, hex: Number = definedExternally) : LineSegments { - override var type: String +open external class PlaneHelper(plane: Plane, size: Number = definedExternally, hex: Number = definedExternally) : LineSegments, dynamic> { + override var override: Any + override val type: String /* String | "PlaneHelper" */ open var plane: Plane open var size: Number - override fun updateMatrixWorld(force: Boolean) + open fun dispose() } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PointLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/PointLight.module_three.kt new file mode 100644 index 0000000000..5624145d53 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PointLight.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class PointLight : Light { + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) + constructor(color: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + open val isPointLight: Boolean + override var type: String + override var intensity: Number + open var distance: Number + override var castShadow: Boolean + open var decay: Number + override var shadow: PointLightShadow + open var power: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PointLightHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/PointLightHelper.module_three.kt new file mode 100644 index 0000000000..568cedc2db --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PointLightHelper.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class PointLightHelper : Object3D/**/ { + constructor(light: PointLight, sphereSize: Number = definedExternally, color: Color = definedExternally) + constructor(light: PointLight) + constructor(light: PointLight, sphereSize: Number = definedExternally) + constructor(light: PointLight, sphereSize: Number = definedExternally, color: String = definedExternally) + constructor(light: PointLight, sphereSize: Number = definedExternally, color: Number = definedExternally) + open var override: Any + override val type: String /* String | "PointLightHelper" */ + open var light: PointLight + override var matrix: Matrix4 + open var color: dynamic /* Color? | String? | Number? */ + override var matrixAutoUpdate: Boolean + open fun update() + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PointLightShadow.module_three.kt b/ext/three/src/jsMain/kotlin/three/PointLightShadow.module_three.kt new file mode 100644 index 0000000000..f9322bcd73 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PointLightShadow.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class PointLightShadow(camera: PerspectiveCamera) : LightShadow { + open val isPointLightShadow: Any = definedExternally /* true */ + open var override: Any + open fun updateMatrices(light: Light__0, viewportIndex: Number = definedExternally) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Points.module_three.kt b/ext/three/src/jsMain/kotlin/three/Points.module_three.kt new file mode 100644 index 0000000000..bcc966e606 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Points.module_three.kt @@ -0,0 +1,14 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Points, TMaterial/*, TEventMap : Object3DEventMap*/>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Object3D/**/ { + open val isPoints: Boolean + open var override: Any + override val type: String /* String | "Points" */ + open var morphTargetInfluences: Array? + open var morphTargetDictionary: `T$31`? + open var geometry: TGeometry + open var material: TMaterial + open fun updateMorphTargets() +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PointsMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/PointsMaterial.module_three.kt similarity index 72% rename from src/jsMain/kotlin/three/PointsMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PointsMaterial.module_three.kt index 82cf912297..b4dd9ea094 100644 --- a/src/jsMain/kotlin/three/PointsMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PointsMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface PointsMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -19,19 +32,20 @@ external interface PointsMaterialParameters : MaterialParameters { var sizeAttenuation: Boolean? get() = definedExternally set(value) = definedExternally - var morphTargets: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally } open external class PointsMaterial(parameters: PointsMaterialParameters = definedExternally) : Material { + open val isPointsMaterial: Boolean override var type: String open var color: Color open var map: Texture? open var alphaMap: Texture? open var size: Number open var sizeAttenuation: Boolean - open var morphTargets: Boolean + open var fog: Boolean open fun setValues(parameters: PointsMaterialParameters) override fun setValues(values: MaterialParameters) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt new file mode 100644 index 0000000000..31d34e1ea9 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt @@ -0,0 +1,40 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class PolarGridHelper : LineSegments, dynamic> { + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: Color = definedExternally) + constructor() + constructor(radius: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: String = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Color = definedExternally, color2: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: Color = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: String = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: String = definedExternally, color2: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: Color = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: String = definedExternally) + constructor(radius: Number = definedExternally, radials: Number = definedExternally, circles: Number = definedExternally, divisions: Number = definedExternally, color1: Number = definedExternally, color2: Number = definedExternally) + override var override: Any + override val type: String /* String | "PolarGridHelper" */ + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt new file mode 100644 index 0000000000..d670a31041 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$76` { + val vertices: Array + val indices: Array + val radius: Number + val detail: Number +} + +open external class PolyhedronGeometry(vertices: Array = definedExternally, indices: Array = definedExternally, radius: Number = definedExternally, detail: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "PolyhedronGeometry" */ + open val parameters: `T$76` + + companion object { + fun fromJSON(data: Any): PolyhedronGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PositionalAudio.module_three.kt b/ext/three/src/jsMain/kotlin/three/PositionalAudio.module_three.kt similarity index 57% rename from src/jsMain/kotlin/three/PositionalAudio.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PositionalAudio.module_three.kt index 05a23e36dd..f3535f7b1a 100644 --- a/src/jsMain/kotlin/three/PositionalAudio.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PositionalAudio.module_three.kt @@ -1,19 +1,32 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* +import web.audio.PannerNode open external class PositionalAudio(listener: AudioListener) : Audio { open var panner: PannerNode override fun getOutput(): PannerNode - open fun setRefDistance(value: Number): PositionalAudio /* this */ open fun getRefDistance(): Number - open fun setRolloffFactor(value: Number): PositionalAudio /* this */ + open fun setRefDistance(value: Number): PositionalAudio /* this */ open fun getRolloffFactor(): Number - open fun setDistanceModel(value: String /* "exponential" | "inverse" | "linear" */): PositionalAudio /* this */ - open fun getDistanceModel(): String /* "exponential" | "inverse" | "linear" */ - open fun setMaxDistance(value: Number): PositionalAudio /* this */ + open fun setRolloffFactor(value: Number): PositionalAudio /* this */ + open fun getDistanceModel(): String + open fun setDistanceModel(value: String): PositionalAudio /* this */ open fun getMaxDistance(): Number + open fun setMaxDistance(value: Number): PositionalAudio /* this */ open fun setDirectionalCone(coneInnerAngle: Number, coneOuterAngle: Number, coneOuterGain: Number): PositionalAudio /* this */ - override fun updateMatrixWorld(force: Boolean) } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PropertyBinding.module_three.kt b/ext/three/src/jsMain/kotlin/three/PropertyBinding.module_three.kt similarity index 50% rename from src/jsMain/kotlin/three/PropertyBinding.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PropertyBinding.module_three.kt index 967835e1c6..ccd0b06913 100644 --- a/src/jsMain/kotlin/three/PropertyBinding.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PropertyBinding.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface ParseTrackNameResults { var nodeName: String @@ -11,6 +24,13 @@ external interface ParseTrackNameResults { var propertyIndex: String } +open external class Composite(targetGroup: Any, path: Any, parsedPath: Any = definedExternally) { + open fun getValue(array: Any, offset: Number): Any + open fun setValue(array: Any, offset: Number) + open fun bind() + open fun unbind() +} + open external class PropertyBinding(rootNode: Any, path: String, parsedPath: Any = definedExternally) { open var path: String open var parsedPath: Any @@ -20,19 +40,13 @@ open external class PropertyBinding(rootNode: Any, path: String, parsedPath: Any open fun setValue(sourceArray: Any, offset: Number) open fun bind() open fun unbind() - open var BindingType: `T$20` - open var Versioning: `T$20` - open var GetterByBindingType: Array> - open var SetterByBindingTypeAndVersioning: Array>> - open class Composite(targetGroup: Any, path: Any, parsedPath: Any = definedExternally) { - open fun getValue(array: Any, offset: Number): Any - open fun setValue(array: Any, offset: Number) - open fun bind() - open fun unbind() - } + open var BindingType: `T$31` + open var Versioning: `T$31` + open var GetterByBindingType: Array<() -> Unit> + open var SetterByBindingTypeAndVersioning: Array Unit>> companion object { - fun create(root: Any, path: Any, parsedPath: Any = definedExternally): dynamic /* PropertyBinding | PropertyBinding.Composite */ + fun create(root: Any, path: Any, parsedPath: Any = definedExternally): dynamic /* PropertyBinding | Composite */ fun sanitizeNodeName(name: String): String fun parseTrackName(trackName: String): ParseTrackNameResults fun findNode(root: Any, nodeName: String): Any diff --git a/src/jsMain/kotlin/three/PropertyMixer.module_three.kt b/ext/three/src/jsMain/kotlin/three/PropertyMixer.module_three.kt similarity index 62% rename from src/jsMain/kotlin/three/PropertyMixer.module_three.kt rename to ext/three/src/jsMain/kotlin/three/PropertyMixer.module_three.kt index 9a4c0e3329..6ea6c290fb 100644 --- a/src/jsMain/kotlin/three/PropertyMixer.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/PropertyMixer.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* open external class PropertyMixer(binding: Any, typeName: String, valueSize: Number) { open var binding: Any diff --git a/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve.module_three.kt new file mode 100644 index 0000000000..c954482540 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class QuadraticBezierCurve(v0: Vector2 = definedExternally, v1: Vector2 = definedExternally, v2: Vector2 = definedExternally) : Curve { + open val isQuadraticBezierCurve: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "QuadraticBezierCurve" */ + open var v0: Vector2 + open var v1: Vector2 + open var v2: Vector2 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve3.module_three.kt b/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve3.module_three.kt new file mode 100644 index 0000000000..c18edc16a5 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/QuadraticBezierCurve3.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class QuadraticBezierCurve3(v0: Vector3 = definedExternally, v1: Vector3 = definedExternally, v2: Vector3 = definedExternally) : Curve { + open val isQuadraticBezierCurve3: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "QuadraticBezierCurve3" */ + open var v0: Vector3 + open var v1: Vector3 + open var v2: Vector3 +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Quaternion.module_three.kt b/ext/three/src/jsMain/kotlin/three/Quaternion.module_three.kt new file mode 100644 index 0000000000..a14c3ae7db --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Quaternion.module_three.kt @@ -0,0 +1,57 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface QuaternionLike { + val x: Number + val y: Number + val z: Number + val w: Number +} + +open external class Quaternion(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, w: Number = definedExternally) { + open var x: Number + open var y: Number + open var z: Number + open var w: Number + open val isQuaternion: Boolean + open fun set(x: Number, y: Number, z: Number, w: Number): Quaternion /* this */ + open fun clone(): Quaternion /* this */ + open fun copy(q: QuaternionLike): Quaternion /* this */ + open fun setFromEuler(euler: Euler, update: Boolean = definedExternally): Quaternion /* this */ + open fun setFromAxisAngle(axis: Vector3Like, angle: Number): Quaternion /* this */ + open fun setFromRotationMatrix(m: Matrix4): Quaternion /* this */ + open fun setFromUnitVectors(vFrom: Vector3, vTo: Vector3Like): Quaternion /* this */ + open fun angleTo(q: Quaternion): Number + open fun rotateTowards(q: Quaternion, step: Number): Quaternion /* this */ + open fun identity(): Quaternion /* this */ + open fun invert(): Quaternion /* this */ + open fun conjugate(): Quaternion /* this */ + open fun dot(v: Quaternion): Number + open fun lengthSq(): Number + open fun length(): Number + open fun normalize(): Quaternion /* this */ + open fun multiply(q: Quaternion): Quaternion /* this */ + open fun premultiply(q: Quaternion): Quaternion /* this */ + open fun multiplyQuaternions(a: Quaternion, b: Quaternion): Quaternion /* this */ + open fun slerp(qb: Quaternion, t: Number): Quaternion /* this */ + open fun slerpQuaternions(qa: Quaternion, qb: Quaternion, t: Number): Quaternion /* this */ + open fun equals(v: Quaternion): Boolean + open fun fromArray(array: Any /* JsTuple */, offset: Number = definedExternally): Quaternion /* this */ + open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): dynamic /* JsTuple */ + open fun toArray(): dynamic /* JsTuple */ + open fun toArray(array: Array = definedExternally): dynamic /* JsTuple */ +// open fun toArray(array: Array, offset: Number = definedExternally): dynamic /* JsTuple */ +// open fun toArray(array: Array): dynamic /* JsTuple */ + open fun toJSON(): dynamic /* JsTuple */ + open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Quaternion /* this */ + open fun fromBufferAttribute(attribute: InterleavedBufferAttribute, index: Number): Quaternion /* this */ + open fun _onChange(callback: () -> Unit): Quaternion /* this */ + open var _onChangeCallback: () -> Unit + open fun random(): Quaternion /* this */ + + companion object { + fun slerpFlat(dst: Array, dstOffset: Number, src0: Array, srcOffset: Number, src1: Array, stcOffset1: Number, t: Number) + fun multiplyQuaternionsFlat(dst: Array, dstOffset: Number, src0: Array, srcOffset: Number, src1: Array, stcOffset1: Number): Array + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt new file mode 100644 index 0000000000..6fab12665f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class QuaternionKeyframeTrack(name: String, times: Array, values: Array, interpolation: Any = definedExternally) : KeyframeTrack { + override var ValueTypeName: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt b/ext/three/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt new file mode 100644 index 0000000000..1ab49af224 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class QuaternionLinearInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { + open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt new file mode 100644 index 0000000000..e863ca7ce7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class RawShaderMaterial(parameters: ShaderMaterialParameters = definedExternally) : ShaderMaterial { + open val isRawShaderMaterial: Boolean + open var override: Any +// override val type: String /* "RawShaderMaterial" */ +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Ray.module_three.kt b/ext/three/src/jsMain/kotlin/three/Ray.module_three.kt similarity index 96% rename from src/jsMain/kotlin/three/Ray.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Ray.module_three.kt index 3b4913debe..44893bbf23 100644 --- a/src/jsMain/kotlin/three/Ray.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Ray.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Ray(origin: Vector3 = definedExternally, direction: Vector3 = definedExternally) { open var origin: Vector3 diff --git a/ext/three/src/jsMain/kotlin/three/Raycaster.module_three.kt b/ext/three/src/jsMain/kotlin/three/Raycaster.module_three.kt new file mode 100644 index 0000000000..d82eb457e3 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Raycaster.module_three.kt @@ -0,0 +1,78 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface Face { + var a: Int + var b: Int + var c: Int + var normal: Vector3 + var materialIndex: Int +} + +external interface Intersection*/> { + var distance: Double + var distanceToRay: Double? + get() = definedExternally + set(value) = definedExternally + var point: Vector3 + var index: Int? + get() = definedExternally + set(value) = definedExternally + var face: Face? + get() = definedExternally + set(value) = definedExternally + var faceIndex: Int? + get() = definedExternally + set(value) = definedExternally + var `object`: TIntersected + var uv: Vector2? + get() = definedExternally + set(value) = definedExternally + var uv1: Vector2? + get() = definedExternally + set(value) = definedExternally + var normal: Vector3? + get() = definedExternally + set(value) = definedExternally + var instanceId: Int? + get() = definedExternally + set(value) = definedExternally + var pointOnLine: Vector3? + get() = definedExternally + set(value) = definedExternally + var batchId: Int? + get() = definedExternally + set(value) = definedExternally +} + +external interface Intersection__0 : Intersection*/> + +external interface `T$19` { + var threshold: Number +} + +external interface RaycasterParameters { + var Mesh: Any + var Line: `T$19` + var Line2: `T$19`? + get() = definedExternally + set(value) = definedExternally + var LOD: Any + var Points: `T$19` + var Sprite: Any +} + +open external class Raycaster(origin: Vector3 = definedExternally, direction: Vector3 = definedExternally, near: Double = definedExternally, far: Double = definedExternally) { + open var ray: Ray + open var near: Double + open var far: Double + open var camera: Camera + open var layers: Layers + open var params: RaycasterParameters + open fun set(origin: Vector3, direction: Vector3) + open fun setFromCamera(coords: Vector2, camera: Camera) + open fun setFromXRController(controller: XRTargetRaySpace): Raycaster /* this */ + open fun intersectObject(obj: Object3D/**/, recursive: Boolean = definedExternally, optionalTarget: Array> = definedExternally): Array> + open fun intersectObjects(objects: Array*/>, recursive: Boolean = definedExternally, optionalTarget: Array> = definedExternally): Array> +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/RectAreaLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/RectAreaLight.module_three.kt new file mode 100644 index 0000000000..6f7ffbb1fc --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/RectAreaLight.module_three.kt @@ -0,0 +1,40 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class RectAreaLight : Light { + constructor(color: Color = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + constructor(color: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally) + open val isRectAreaLight: Boolean + override var override: Any + override val type: String /* String | "RectAreaLight" */ + open var width: Number + open var height: Number + override var intensity: Number + open var power: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/RenderTarget.module_three.kt b/ext/three/src/jsMain/kotlin/three/RenderTarget.module_three.kt new file mode 100644 index 0000000000..f2b78ef310 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/RenderTarget.module_three.kt @@ -0,0 +1,78 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface RenderTargetOptions { + var wrapS: Any? + get() = definedExternally + set(value) = definedExternally + var wrapT: Any? + get() = definedExternally + set(value) = definedExternally + var magFilter: Any? + get() = definedExternally + set(value) = definedExternally + var minFilter: Any? + get() = definedExternally + set(value) = definedExternally + var generateMipmaps: Boolean? + get() = definedExternally + set(value) = definedExternally + var format: Number? + get() = definedExternally + set(value) = definedExternally + var type: Any? + get() = definedExternally + set(value) = definedExternally + var anisotropy: Number? + get() = definedExternally + set(value) = definedExternally + var colorSpace: Any? + get() = definedExternally + set(value) = definedExternally + var internalFormat: String? /* "ALPHA" | "RGB" | "RGBA" | "LUMINANCE" | "LUMINANCE_ALPHA" | "RED_INTEGER" | "R8" | "R8_SNORM" | "R8I" | "R8UI" | "R16I" | "R16UI" | "R16F" | "R32I" | "R32UI" | "R32F" | "RG8" | "RG8_SNORM" | "RG8I" | "RG8UI" | "RG16I" | "RG16UI" | "RG16F" | "RG32I" | "RG32UI" | "RG32F" | "RGB565" | "RGB8" | "RGB8_SNORM" | "RGB8I" | "RGB8UI" | "RGB16I" | "RGB16UI" | "RGB16F" | "RGB32I" | "RGB32UI" | "RGB32F" | "RGB9_E5" | "SRGB8" | "R11F_G11F_B10F" | "RGBA4" | "RGBA8" | "RGBA8_SNORM" | "RGBA8I" | "RGBA8UI" | "RGBA16I" | "RGBA16UI" | "RGBA16F" | "RGBA32I" | "RGBA32UI" | "RGBA32F" | "RGB5_A1" | "RGB10_A2" | "RGB10_A2UI" | "SRGB8_ALPHA8" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT24" | "DEPTH_COMPONENT32F" | "DEPTH24_STENCIL8" | "DEPTH32F_STENCIL8" */ + get() = definedExternally + set(value) = definedExternally + var depthBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var stencilBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var resolveDepthBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var resolveStencilBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var depthTexture: DepthTexture? + get() = definedExternally + set(value) = definedExternally + var samples: Number? + get() = definedExternally + set(value) = definedExternally + var count: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class RenderTarget(width: Number = definedExternally, height: Number = definedExternally, options: RenderTargetOptions = definedExternally) : EventDispatcher/*<`T$8`>*/ { + open val isRenderTarget: Boolean + open var width: Number + open var height: Number + open var depth: Number + open var scissor: Vector4 + open var scissorTest: Boolean + open var viewport: Vector4 + open var textures: Array + open var depthBuffer: Boolean + open var stencilBuffer: Boolean + open var resolveDepthBuffer: Boolean + open var resolveStencilBuffer: Boolean + open var depthTexture: DepthTexture? + open var samples: Number + open fun setSize(width: Number, height: Number, depth: Number = definedExternally) + open fun clone(): RenderTarget /* this */ + open fun copy(source: RenderTarget__0): RenderTarget /* this */ + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/RingGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/RingGeometry.module_three.kt new file mode 100644 index 0000000000..392d36a61b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/RingGeometry.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface `T$81` { + val innerRadius: Number + val outerRadius: Number + val thetaSegments: Number + val phiSegments: Number + val thetaStart: Number + val thetaLength: Number +} + +open external class RingGeometry(innerRadius: Number = definedExternally, outerRadius: Number = definedExternally, thetaSegments: Number = definedExternally, phiSegments: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "RingGeometry" */ + open val parameters: `T$81` + + companion object { + fun fromJSON(data: Any): RingGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Scene.module_three.kt b/ext/three/src/jsMain/kotlin/three/Scene.module_three.kt new file mode 100644 index 0000000000..815abd61f2 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Scene.module_three.kt @@ -0,0 +1,43 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface SceneJSONObject : Object3DJSONObject { + var fog: dynamic /* FogJSON? | FogExp2JSON? */ + get() = definedExternally + set(value) = definedExternally + var backgroundBlurriness: Number? + get() = definedExternally + set(value) = definedExternally + var backgroundIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var backgroundRotation: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var environmentIntensity: Number? + get() = definedExternally + set(value) = definedExternally + var environmentRotation: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally +} + +external interface SceneJSON : Object3DJSON { +// override var `object`: SceneJSONObject +} + +open external class Scene : Object3D/**/ { + open val isScene: Boolean + override var type: String /* "Scene" */ + open var fog: dynamic /* Fog? | FogExp2? */ + open var backgroundBlurriness: Number + open var backgroundIntensity: Number + open var overrideMaterial: Material? + open var background: dynamic /* Color? | Texture? | CubeTexture? */ + open var backgroundRotation: Euler + open var environment: Texture? + open var environmentIntensity: Number + open var environmentRotation: Euler + override fun toJSON(meta: JSONMeta): SceneJSON +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ShaderChunk.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShaderChunk.module_three.kt new file mode 100644 index 0000000000..f6694bb9a9 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ShaderChunk.module_three.kt @@ -0,0 +1,145 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external object ShaderChunk { + var alphahash_fragment: String + var alphahash_pars_fragment: String + var alphamap_fragment: String + var alphamap_pars_fragment: String + var alphatest_fragment: String + var alphatest_pars_fragment: String + var aomap_fragment: String + var aomap_pars_fragment: String + var batching_pars_vertex: String + var begin_vertex: String + var beginnormal_vertex: String + var bsdfs: String + var iridescence_fragment: String + var bumpmap_pars_fragment: String + var clipping_planes_fragment: String + var clipping_planes_pars_fragment: String + var clipping_planes_pars_vertex: String + var clipping_planes_vertex: String + var color_fragment: String + var color_pars_fragment: String + var color_pars_vertex: String + var color_vertex: String + var common: String + var cube_uv_reflection_fragment: String + var defaultnormal_vertex: String + var displacementmap_pars_vertex: String + var displacementmap_vertex: String + var emissivemap_fragment: String + var emissivemap_pars_fragment: String + var colorspace_fragment: String + var colorspace_pars_fragment: String + var envmap_fragment: String + var envmap_common_pars_fragment: String + var envmap_pars_fragment: String + var envmap_pars_vertex: String + var envmap_physical_pars_fragment: String + var envmap_vertex: String + var fog_vertex: String + var fog_pars_vertex: String + var fog_fragment: String + var fog_pars_fragment: String + var gradientmap_pars_fragment: String + var lightmap_pars_fragment: String + var lights_lambert_fragment: String + var lights_lambert_pars_fragment: String + var lights_pars_begin: String + var lights_toon_fragment: String + var lights_toon_pars_fragment: String + var lights_phong_fragment: String + var lights_phong_pars_fragment: String + var lights_physical_fragment: String + var lights_physical_pars_fragment: String + var lights_fragment_begin: String + var lights_fragment_maps: String + var lights_fragment_end: String + var logdepthbuf_fragment: String + var logdepthbuf_pars_fragment: String + var logdepthbuf_pars_vertex: String + var logdepthbuf_vertex: String + var map_fragment: String + var map_pars_fragment: String + var map_particle_fragment: String + var map_particle_pars_fragment: String + var metalnessmap_fragment: String + var metalnessmap_pars_fragment: String + var morphcolor_vertex: String + var morphnormal_vertex: String + var morphtarget_pars_vertex: String + var morphtarget_vertex: String + var normal_fragment_begin: String + var normal_fragment_maps: String + var normal_pars_fragment: String + var normal_pars_vertex: String + var normal_vertex: String + var normalmap_pars_fragment: String + var clearcoat_normal_fragment_begin: String + var clearcoat_normal_fragment_maps: String + var clearcoat_pars_fragment: String + var iridescence_pars_fragment: String + var opaque_fragment: String + var packing: String + var premultiplied_alpha_fragment: String + var project_vertex: String + var dithering_fragment: String + var dithering_pars_fragment: String + var roughnessmap_fragment: String + var roughnessmap_pars_fragment: String + var shadowmap_pars_fragment: String + var shadowmap_pars_vertex: String + var shadowmap_vertex: String + var shadowmask_pars_fragment: String + var skinbase_vertex: String + var skinning_pars_vertex: String + var skinning_vertex: String + var skinnormal_vertex: String + var specularmap_fragment: String + var specularmap_pars_fragment: String + var tonemapping_fragment: String + var tonemapping_pars_fragment: String + var transmission_fragment: String + var transmission_pars_fragment: String + var uv_pars_fragment: String + var uv_pars_vertex: String + var uv_vertex: String + var worldpos_vertex: String + var background_vert: String + var background_frag: String + var backgroundCube_vert: String + var backgroundCube_frag: String + var cube_vert: String + var cube_frag: String + var depth_vert: String + var depth_frag: String + var distanceRGBA_vert: String + var distanceRGBA_frag: String + var equirect_vert: String + var equirect_frag: String + var linedashed_vert: String + var linedashed_frag: String + var meshbasic_vert: String + var meshbasic_frag: String + var meshlambert_vert: String + var meshlambert_frag: String + var meshmatcap_vert: String + var meshmatcap_frag: String + var meshnormal_vert: String + var meshnormal_frag: String + var meshphong_vert: String + var meshphong_frag: String + var meshphysical_vert: String + var meshphysical_frag: String + var meshtoon_vert: String + var meshtoon_frag: String + var points_vert: String + var points_frag: String + var shadow_vert: String + var shadow_frag: String + var sprite_vert: String + var sprite_frag: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ShaderLib.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShaderLib.module_three.kt new file mode 100644 index 0000000000..61ec9d4060 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ShaderLib.module_three.kt @@ -0,0 +1,32 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface ShaderLibShader { + var uniforms: `T$17` + var vertexShader: String + var fragmentShader: String +} + +external object ShaderLib { + @nativeGetter + operator fun get(name: String): ShaderLibShader? + @nativeSetter + operator fun set(name: String, value: ShaderLibShader) + var basic: ShaderLibShader + var lambert: ShaderLibShader + var phong: ShaderLibShader + var standard: ShaderLibShader + var matcap: ShaderLibShader + var points: ShaderLibShader + var dashed: ShaderLibShader + var depth: ShaderLibShader + var normal: ShaderLibShader + var sprite: ShaderLibShader + var background: ShaderLibShader + var cube: ShaderLibShader + var equirect: ShaderLibShader + var distanceRGBA: ShaderLibShader + var shadow: ShaderLibShader + var physical: ShaderLibShader +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ShaderMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShaderMaterial.module_three.kt similarity index 60% rename from src/jsMain/kotlin/three/ShaderMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/ShaderMaterial.module_three.kt index 2754136508..e757a5ab14 100644 --- a/src/jsMain/kotlin/three/ShaderMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/ShaderMaterial.module_three.kt @@ -1,27 +1,36 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import kotlin.js.Json +import js.objects.Record +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* -external interface `T$42` { - var derivatives: Boolean? +external interface `T$95` { + var clipCullDistance: Boolean? get() = definedExternally set(value) = definedExternally - var fragDepth: Boolean? - get() = definedExternally - set(value) = definedExternally - var drawBuffers: Boolean? - get() = definedExternally - set(value) = definedExternally - var shaderTextureLOD: Boolean? + var multiDraw: Boolean? get() = definedExternally set(value) = definedExternally } external interface ShaderMaterialParameters : MaterialParameters { - var uniforms: `T$8`? + var uniforms: `T$17`? + get() = definedExternally + set(value) = definedExternally + var uniformsGroups: Array? get() = definedExternally set(value) = definedExternally var vertexShader: String? @@ -45,52 +54,56 @@ external interface ShaderMaterialParameters : MaterialParameters { var clipping: Boolean? get() = definedExternally set(value) = definedExternally - var skinning: Boolean? + var fog: Boolean? get() = definedExternally set(value) = definedExternally - var morphTargets: Boolean? + var extensions: `T$95`? get() = definedExternally set(value) = definedExternally - var morphNormals: Boolean? + var glslVersion: Any? get() = definedExternally set(value) = definedExternally - var extensions: `T$42`? +} + +external interface ShaderMaterialJSON : MaterialJSON { + var glslVersion: Number? + var uniforms: Record + var defines: Record? get() = definedExternally set(value) = definedExternally - var glslVersion: GLSLVersion? + var vertexShader: String + var ragmentShader: String + var lights: Boolean + var clipping: Boolean + var extensions: Record? get() = definedExternally set(value) = definedExternally } -external interface `T$43` { - var derivatives: Boolean - var fragDepth: Boolean - var drawBuffers: Boolean - var shaderTextureLOD: Boolean +external interface `T$96` { + var clipCullDistance: Boolean + var multiDraw: Boolean } open external class ShaderMaterial(parameters: ShaderMaterialParameters = definedExternally) : Material { + open val isShaderMaterial: Boolean override var type: String - override var defines: Json - open var uniforms: `T$8` + open var uniforms: `T$17` + open var uniformsGroups: Array open var vertexShader: String open var fragmentShader: String open var linewidth: Number open var wireframe: Boolean open var wireframeLinewidth: Number - override var fog: Boolean + open var fog: Boolean open var lights: Boolean open var clipping: Boolean - open var skinning: Boolean - open var morphTargets: Boolean - open var morphNormals: Boolean - open var derivatives: Any - open var extensions: `T$43` + open var extensions: `T$96` open var defaultAttributeValues: Any open var index0AttributeName: String? open var uniformsNeedUpdate: Boolean - open var glslVersion: GLSLVersion? + open var glslVersion: Any? open fun setValues(parameters: ShaderMaterialParameters) override fun setValues(values: MaterialParameters) - override fun toJSON(meta: Any): Any + override fun toJSON(meta: JSONMeta): ShaderMaterialJSON } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt new file mode 100644 index 0000000000..70a8ea9c38 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt @@ -0,0 +1,34 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface ShadowMaterialParameters : MaterialParameters { + var color: dynamic /* Color? | String? | Number? */ + get() = definedExternally + set(value) = definedExternally + var fog: Boolean? + get() = definedExternally + set(value) = definedExternally +} + +open external class ShadowMaterial(parameters: ShadowMaterialParameters = definedExternally) : Material { + open val isShadowMaterial: Boolean + override var type: String + open var color: Color + override var transparent: Boolean + open var fog: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Shape.module_three.kt b/ext/three/src/jsMain/kotlin/three/Shape.module_three.kt new file mode 100644 index 0000000000..3e70750b93 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Shape.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface ShapeJSON : PathJSON { + var uuid: String + var holes: Array +} + +external interface `T$6` { + var shape: Array + var holes: Array> +} + +open external class Shape(points: Array = definedExternally) : Path { + override var override: Any + override val type: String /* String | "Shape" */ + open var uuid: String + open var holes: Array + open fun extractPoints(divisions: Number): `T$6` + open fun getPointsHoles(divisions: Number): Array> + override fun toJSON(): ShapeJSON + open fun fromJSON(json: ShapeJSON): Shape /* this */ + override fun fromJSON(json: PathJSON): Path /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt new file mode 100644 index 0000000000..bc803fb071 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt @@ -0,0 +1,38 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$82` { + val shapes: dynamic /* Shape | Array */ + get() = definedExternally + val curveSegments: Number +} + +open external class ShapeGeometry : BufferGeometry { + constructor(shapes: Shape = definedExternally, curveSegments: Number = definedExternally) + constructor() + constructor(shapes: Shape = definedExternally) + constructor(shapes: Array = definedExternally, curveSegments: Number = definedExternally) + constructor(shapes: Array = definedExternally) + open var override: Any + override val type: String /* String | "ShapeGeometry" */ + open val parameters: `T$82` + + companion object { + fun fromJSON(data: Any): ShapeGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ShapePath.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShapePath.module_three.kt similarity index 68% rename from src/jsMain/kotlin/three/ShapePath.module_three.kt rename to ext/three/src/jsMain/kotlin/three/ShapePath.module_three.kt index b8181ae35f..6d4d67cdc0 100644 --- a/src/jsMain/kotlin/three/ShapePath.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/ShapePath.module_three.kt @@ -1,17 +1,16 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class ShapePath { - open var type: String + open val type: String /* "ShapePath" */ + open var subPaths: Array + open val currentPath: Path? open var color: Color - open var subPaths: Array - open var currentPath: Any open fun moveTo(x: Number, y: Number): ShapePath /* this */ open fun lineTo(x: Number, y: Number): ShapePath /* this */ open fun quadraticCurveTo(aCPx: Number, aCPy: Number, aX: Number, aY: Number): ShapePath /* this */ open fun bezierCurveTo(aCP1x: Number, aCP1y: Number, aCP2x: Number, aCP2y: Number, aX: Number, aY: Number): ShapePath /* this */ open fun splineThru(pts: Array): ShapePath /* this */ - open fun toShapes(isCCW: Boolean, noHoles: Boolean = definedExternally): Array + open fun toShapes(isCCW: Boolean): Array } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ShapeUtils.module_three.kt b/ext/three/src/jsMain/kotlin/three/ShapeUtils.module_three.kt new file mode 100644 index 0000000000..bbce9ac38e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ShapeUtils.module_three.kt @@ -0,0 +1,11 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class ShapeUtils { + companion object { + fun area(contour: Array): Number + fun isClockWise(pts: Array): Boolean + fun triangulateShape(contour: Array, holes: Array>): Array> + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Skeleton.module_three.kt b/ext/three/src/jsMain/kotlin/three/Skeleton.module_three.kt new file mode 100644 index 0000000000..e24721fffb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Skeleton.module_three.kt @@ -0,0 +1,32 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record +import org.khronos.webgl.Float32Array + +external interface SkeletonJSON { + var metadata: `T$0_Object3D` + var bones: Array + var boneInverses: Array */> + var uuid: String +} + +open external class Skeleton(bones: Array = definedExternally, boneInverses: Array = definedExternally) { + open var uuid: String + open var bones: Array + open var boneInverses: Array + open var boneMatrices: Float32Array + open var boneTexture: DataTexture? + open var frame: Number + open fun init() + open fun calculateInverses() + open fun computeBoneTexture(): Skeleton /* this */ + open fun pose() + open fun update() + open fun clone(): Skeleton + open fun getBoneByName(name: String): Bone__0? + open fun dispose() + open fun toJSON(): SkeletonJSON + open fun fromJSON(json: SkeletonJSON, bones: Record) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt new file mode 100644 index 0000000000..42bb813f78 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt @@ -0,0 +1,31 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class SkeletonHelper : LineSegments, dynamic> { + constructor(obj: SkinnedMesh, *>) + constructor(obj: Object3D/**/) + open val isSkeletonHelper: Any = definedExternally /* true */ + override var override: Any + override val type: String /* String | "SkeletonHelper" */ + open var bones: Array + open var root: dynamic /* SkinnedMesh, *> | Object3D/**/ */ + override var matrix: Matrix4 + override var matrixAutoUpdate: Boolean + open fun update() + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt b/ext/three/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt new file mode 100644 index 0000000000..ddf5258d8d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt @@ -0,0 +1,38 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface SkinnedMeshJSONObject : MeshJSONObject { + var bindMode: Any + var bindMatrix: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var skeleton: String? + get() = definedExternally + set(value) = definedExternally +} + +external interface SkinnedMeshJSON : MeshJSON { +// override var `object`: SkinnedMeshJSONObject +} + +open external class SkinnedMesh, TMaterial/*, TEventMap : Object3DEventMap*/>(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally, useVertexTexture: Boolean = definedExternally) : Mesh { + open val isSkinnedMesh: Boolean + override var override: Any + override val type: String /* String | "SkinnedMesh" */ + open var bindMode: Any + open var bindMatrix: Matrix4 + open var bindMatrixInverse: Matrix4 + open var boundingBox: Box3 + open var boundingSphere: Sphere + open var skeleton: Skeleton + open fun bind(skeleton: Skeleton, bindMatrix: Matrix4 = definedExternally) + open fun computeBoundingBox() + open fun computeBoundingSphere() + open fun pose() + open fun normalizeSkinWeights() + open fun applyBoneTransform(index: Number, vector: Vector3): Vector3 + override fun toJSON(meta: JSONMeta): SkinnedMeshJSON +} + +//typealias SkinnedMesh__0 = SkinnedMesh */, Object3DEventMap> \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Source.module_three.kt b/ext/three/src/jsMain/kotlin/three/Source.module_three.kt new file mode 100644 index 0000000000..318f2e56cd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Source.module_three.kt @@ -0,0 +1,20 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class SourceJSON { + open var uuid: String + open var url: dynamic /* String | `T$18` | Array */ +} + +open external class Source(data: Any) { + open val isSource: Boolean + open val id: Number + open var data: Any + open var dataReady: Boolean + open var uuid: String + open var version: Number + open fun toJSON(meta: String = definedExternally): SourceJSON + open fun toJSON(): SourceJSON + open fun toJSON(meta: Any = definedExternally): SourceJSON +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Sphere.module_three.kt b/ext/three/src/jsMain/kotlin/three/Sphere.module_three.kt similarity index 86% rename from src/jsMain/kotlin/three/Sphere.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Sphere.module_three.kt index b37e6e7a2d..35fb2fbb17 100644 --- a/src/jsMain/kotlin/three/Sphere.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Sphere.module_three.kt @@ -1,15 +1,16 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Sphere(center: Vector3 = definedExternally, radius: Number = definedExternally) { + open val isSphere: Boolean open var center: Vector3 open var radius: Number open fun set(center: Vector3, radius: Number): Sphere open fun setFromPoints(points: Array, optionalCenter: Vector3 = definedExternally): Sphere open fun clone(): Sphere /* this */ open fun copy(sphere: Sphere): Sphere /* this */ + open fun expandByPoint(point: Vector3): Sphere /* this */ open fun isEmpty(): Boolean open fun makeEmpty(): Sphere /* this */ open fun containsPoint(point: Vector3): Boolean @@ -22,5 +23,6 @@ open external class Sphere(center: Vector3 = definedExternally, radius: Number = open fun applyMatrix4(matrix: Matrix4): Sphere open fun translate(offset: Vector3): Sphere open fun equals(sphere: Sphere): Boolean + open fun union(sphere: Sphere): Sphere /* this */ open fun empty(): Any } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SphereGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/SphereGeometry.module_three.kt new file mode 100644 index 0000000000..9165aa1cbd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SphereGeometry.module_three.kt @@ -0,0 +1,37 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$83` { + val radius: Number + val widthSegments: Number + val heightSegments: Number + val phiStart: Number + val phiLength: Number + val thetaStart: Number + val thetaLength: Number +} + +open external class SphereGeometry(radius: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally, phiStart: Number = definedExternally, phiLength: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "SphereGeometry" */ + open val parameters: `T$83` + + companion object { + fun fromJSON(data: Any): SphereGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Spherical.module_three.kt b/ext/three/src/jsMain/kotlin/three/Spherical.module_three.kt similarity index 91% rename from src/jsMain/kotlin/three/Spherical.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Spherical.module_three.kt index bb9676b795..3458494e63 100644 --- a/src/jsMain/kotlin/three/Spherical.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Spherical.module_three.kt @@ -1,7 +1,6 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Spherical(radius: Number = definedExternally, phi: Number = definedExternally, theta: Number = definedExternally) { open var radius: Number diff --git a/src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt b/ext/three/src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt similarity index 62% rename from src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt rename to ext/three/src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt index 8534414c7d..b0587c6d2e 100644 --- a/src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/SphericalHarmonics3.module_three.kt @@ -1,11 +1,10 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class SphericalHarmonics3 { open var coefficients: Array - open var isSphericalHarmonics3: Boolean + open val isSphericalHarmonics3: Boolean open fun set(coefficients: Array): SphericalHarmonics3 open fun zero(): SphericalHarmonics3 open fun add(sh: SphericalHarmonics3): SphericalHarmonics3 @@ -14,11 +13,16 @@ open external class SphericalHarmonics3 { open fun lerp(sh: SphericalHarmonics3, alpha: Number): SphericalHarmonics3 open fun equals(sh: SphericalHarmonics3): Boolean open fun copy(sh: SphericalHarmonics3): SphericalHarmonics3 - open fun clone(): SphericalHarmonics3 + open fun clone(): SphericalHarmonics3 /* this */ +// open fun fromArray(array: Array, offset: Number = definedExternally): SphericalHarmonics3 /* this */ +// open fun fromArray(array: Array): SphericalHarmonics3 /* this */ open fun fromArray(array: Array, offset: Number = definedExternally): SphericalHarmonics3 /* this */ - open fun fromArray(array: ArrayLike, offset: Number = definedExternally): SphericalHarmonics3 /* this */ + open fun fromArray(array: Array): SphericalHarmonics3 /* this */ open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array - open fun toArray(array: ArrayLike, offset: Number = definedExternally): ArrayLike + open fun toArray(): Array +// open fun toArray(array: Array = definedExternally): Array +// open fun toArray(array: Array, offset: Number = definedExternally): Array +// open fun toArray(array: Array): Array open fun getAt(normal: Vector3, target: Vector3): Vector3 open fun getIrradianceAt(normal: Vector3, target: Vector3): Vector3 diff --git a/ext/three/src/jsMain/kotlin/three/SplineCurve.module_three.kt b/ext/three/src/jsMain/kotlin/three/SplineCurve.module_three.kt new file mode 100644 index 0000000000..decfe80a4f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SplineCurve.module_three.kt @@ -0,0 +1,10 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class SplineCurve(points: Array = definedExternally) : Curve { + open val isSplineCurve: Any = definedExternally /* true */ + open var override: Any + override val type: String /* String | "SplineCurve" */ + open var points: Array +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SpotLight.module_three.kt b/ext/three/src/jsMain/kotlin/three/SpotLight.module_three.kt new file mode 100644 index 0000000000..99dcb7fa38 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SpotLight.module_three.kt @@ -0,0 +1,39 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class SpotLight : Light { + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) + constructor() + constructor(color: Color = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally) + constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) + constructor(color: String = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally) + constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) + constructor(color: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally) + constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally) + open val isSpotLight: Boolean + override var override: Any + override val type: String /* String | "SpotLight" */ + override val position: Vector3 + open var target: Object3D/**/ + override var castShadow: Boolean + override var intensity: Number + open var distance: Number + open var angle: Number + open var decay: Number + override var shadow: SpotLightShadow + open var power: Number + open var penumbra: Number + open var map: Texture? +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt b/ext/three/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt new file mode 100644 index 0000000000..28f5a77a2d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class SpotLightHelper : Object3D/**/ { + constructor(light: Light__0, color: Color = definedExternally) + constructor(light: Light__0) + constructor(light: Light__0, color: String = definedExternally) + constructor(light: Light__0, color: Number = definedExternally) + open var override: Any + override val type: String /* String | "SpotLightHelper" */ + open var cone: LineSegments, *> + open var light: Light__0 + override var matrix: Matrix4 + open var color: dynamic /* Color? | String? | Number? */ + override var matrixAutoUpdate: Boolean + open fun update() + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt b/ext/three/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt new file mode 100644 index 0000000000..8d1b0ebccd --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class SpotLightShadow(camera: PerspectiveCamera) : LightShadow { + open val isSpotLightShadow: Boolean + override var camera: PerspectiveCamera + open var focus: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Sprite.module_three.kt b/ext/three/src/jsMain/kotlin/three/Sprite.module_three.kt new file mode 100644 index 0000000000..edb603b8c9 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Sprite.module_three.kt @@ -0,0 +1,13 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Sprite(material: SpriteMaterial = definedExternally) : Object3D/**/ { + open val isSprite: Boolean + open var override: Any + override val type: String /* String | "Sprite" */ + override var castShadow: Boolean + open var geometry: BufferGeometry + open var material: SpriteMaterial + open var center: Vector2 +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SpriteMaterial.module_three.kt b/ext/three/src/jsMain/kotlin/three/SpriteMaterial.module_three.kt similarity index 70% rename from src/jsMain/kotlin/three/SpriteMaterial.module_three.kt rename to ext/three/src/jsMain/kotlin/three/SpriteMaterial.module_three.kt index aacc914915..20046a57af 100644 --- a/src/jsMain/kotlin/three/SpriteMaterial.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/SpriteMaterial.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface SpriteMaterialParameters : MaterialParameters { var color: dynamic /* Color? | String? | Number? */ @@ -19,9 +32,13 @@ external interface SpriteMaterialParameters : MaterialParameters { var sizeAttenuation: Boolean? get() = definedExternally set(value) = definedExternally + var fog: Boolean? + get() = definedExternally + set(value) = definedExternally } open external class SpriteMaterial(parameters: SpriteMaterialParameters = definedExternally) : Material { + open val isSpriteMaterial: Boolean override var type: String open var color: Color open var map: Texture? @@ -29,7 +46,7 @@ open external class SpriteMaterial(parameters: SpriteMaterialParameters = define open var rotation: Number open var sizeAttenuation: Boolean override var transparent: Boolean - open var isSpriteMaterial: Boolean + open var fog: Boolean open fun setValues(parameters: SpriteMaterialParameters) override fun setValues(values: MaterialParameters) open fun copy(source: SpriteMaterial): SpriteMaterial /* this */ diff --git a/src/jsMain/kotlin/three/StereoCamera.module_three.kt b/ext/three/src/jsMain/kotlin/three/StereoCamera.module_three.kt similarity index 70% rename from src/jsMain/kotlin/three/StereoCamera.module_three.kt rename to ext/three/src/jsMain/kotlin/three/StereoCamera.module_three.kt index 471ffcb46b..8cc5a71a91 100644 --- a/src/jsMain/kotlin/three/StereoCamera.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/StereoCamera.module_three.kt @@ -1,10 +1,9 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class StereoCamera : Camera { - override var type: String /* 'StereoCamera' */ + override var type: String /* "StereoCamera" */ open var aspect: Number open var eyeSep: Number open var cameraL: PerspectiveCamera diff --git a/ext/three/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt new file mode 100644 index 0000000000..54fabbd93e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class StringKeyframeTrack(name: String, times: Array, values: Array) : KeyframeTrack { + override var ValueTypeName: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt new file mode 100644 index 0000000000..50b739dfe5 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class TetrahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { + override var override: Any + override val type: String /* String | "TetrahedronGeometry" */ + + companion object { + fun fromJSON(data: Any): TetrahedronGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Texture.module_three.kt b/ext/three/src/jsMain/kotlin/three/Texture.module_three.kt new file mode 100644 index 0000000000..a81a3164eb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Texture.module_three.kt @@ -0,0 +1,161 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record +import org.w3c.dom.* +import org.w3c.dom.events.EventTarget + +external interface TextureJSON { + var metadata: `T$0_Object3D` + var uuid: String + var name: String + var image: String + var mapping: Any + var channel: Number + var repeat: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var offset: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var center: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var rotation: Number + var wrap: dynamic /* JsTuple */ + get() = definedExternally + set(value) = definedExternally + var format: Any + var internalFormat: String /* "ALPHA" | "RGB" | "RGBA" | "LUMINANCE" | "LUMINANCE_ALPHA" | "RED_INTEGER" | "R8" | "R8_SNORM" | "R8I" | "R8UI" | "R16I" | "R16UI" | "R16F" | "R32I" | "R32UI" | "R32F" | "RG8" | "RG8_SNORM" | "RG8I" | "RG8UI" | "RG16I" | "RG16UI" | "RG16F" | "RG32I" | "RG32UI" | "RG32F" | "RGB565" | "RGB8" | "RGB8_SNORM" | "RGB8I" | "RGB8UI" | "RGB16I" | "RGB16UI" | "RGB16F" | "RGB32I" | "RGB32UI" | "RGB32F" | "RGB9_E5" | "SRGB8" | "R11F_G11F_B10F" | "RGBA4" | "RGBA8" | "RGBA8_SNORM" | "RGBA8I" | "RGBA8UI" | "RGBA16I" | "RGBA16UI" | "RGBA16F" | "RGBA32I" | "RGBA32UI" | "RGBA32F" | "RGB5_A1" | "RGB10_A2" | "RGB10_A2UI" | "SRGB8_ALPHA8" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT24" | "DEPTH_COMPONENT32F" | "DEPTH24_STENCIL8" | "DEPTH32F_STENCIL8" */ + var type: Any + var colorSpace: Any + var minFilter: Any + var magFilter: Any + var anisotropy: Number + var flipY: Boolean + var generateMipmaps: Boolean + var premultiplyAlpha: Boolean + var unpackAlignment: Number + var userData: Record? + get() = definedExternally + set(value) = definedExternally +} + +external class OffscreenCanvas : EventTarget + +open external class Texture : EventDispatcher/*<`T$8`>*/ { + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor() + constructor(image: ImageBitmap = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: ImageBitmap = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(image: ImageData = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: ImageData = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: HTMLImageElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: HTMLCanvasElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: HTMLVideoElement = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally, colorSpace: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally) + constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally) +// constructor(image: OffscreenCanvas = definedExternally, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) +// constructor(image: ImageBitmap, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) +// constructor(image: ImageData, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) +// constructor(image: HTMLImageElement, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) +// constructor(image: HTMLCanvasElement, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) +// constructor(image: HTMLVideoElement, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) +// constructor(image: OffscreenCanvas, mapping: Any, wrapS: Any, wrapT: Any, magFilter: Any, minFilter: Any, format: Any, type: Any, anisotropy: Number) + open val isTexture: Boolean + open val id: Number + open var uuid: String + open var name: String + open var source: Source + open var mipmaps: dynamic /* Array? | Array? | Array? */ + open var mapping: Any + open var channel: Number + open var wrapS: Any + open var wrapT: Any + open var magFilter: Any + open var minFilter: Any + open var anisotropy: Number + open var format: Any + open var type: Any + open var internalFormat: String /* "ALPHA" | "RGB" | "RGBA" | "LUMINANCE" | "LUMINANCE_ALPHA" | "RED_INTEGER" | "R8" | "R8_SNORM" | "R8I" | "R8UI" | "R16I" | "R16UI" | "R16F" | "R32I" | "R32UI" | "R32F" | "RG8" | "RG8_SNORM" | "RG8I" | "RG8UI" | "RG16I" | "RG16UI" | "RG16F" | "RG32I" | "RG32UI" | "RG32F" | "RGB565" | "RGB8" | "RGB8_SNORM" | "RGB8I" | "RGB8UI" | "RGB16I" | "RGB16UI" | "RGB16F" | "RGB32I" | "RGB32UI" | "RGB32F" | "RGB9_E5" | "SRGB8" | "R11F_G11F_B10F" | "RGBA4" | "RGBA8" | "RGBA8_SNORM" | "RGBA8I" | "RGBA8UI" | "RGBA16I" | "RGBA16UI" | "RGBA16F" | "RGBA32I" | "RGBA32UI" | "RGBA32F" | "RGB5_A1" | "RGB10_A2" | "RGB10_A2UI" | "SRGB8_ALPHA8" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT24" | "DEPTH_COMPONENT32F" | "DEPTH24_STENCIL8" | "DEPTH32F_STENCIL8" */ + open var matrix: Matrix3 + open var matrixAutoUpdate: Boolean + open var offset: Vector2 + open var repeat: Vector2 + open var center: Vector2 + open var rotation: Number + open var generateMipmaps: Boolean + open var premultiplyAlpha: Boolean + open var flipY: Boolean + open var unpackAlignment: Number + open var colorSpace: Any + open var isRenderTargetTexture: Boolean + open var userData: Record + open var version: Number + open var pmremVersion: Number + open var onUpdate: () -> Unit + open fun transformUv(uv: Vector2): Vector2 + open fun updateMatrix() + open fun clone(): Texture /* this */ + open fun copy(source: Texture): Texture /* this */ + open fun toJSON(meta: String = definedExternally): TextureJSON + open fun toJSON(): TextureJSON + open fun toJSON(meta: Any = definedExternally): TextureJSON + open fun dispose() + + companion object { + var DEFAULT_ANISOTROPY: Number + var DEFAULT_IMAGE: Any + var DEFAULT_MAPPING: Any + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/TextureLoader.module_three.kt b/ext/three/src/jsMain/kotlin/three/TextureLoader.module_three.kt new file mode 100644 index 0000000000..ed52261884 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/TextureLoader.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class TextureLoader(manager: LoadingManager = definedExternally) : Loader__1 { + override fun load(url: String, onLoad: (data: Texture) -> Unit, onProgress: (event: ProgressEvent) -> Unit, onError: (err: Any) -> Unit): Texture +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Three.Legacy.module_three.kt b/ext/three/src/jsMain/kotlin/three/Three.Legacy.module_three.kt new file mode 100644 index 0000000000..088055b5c6 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Three.Legacy.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class WebGLMultipleRenderTargets(width: Number = definedExternally, height: Number = definedExternally, count: Number = definedExternally, options: RenderTargetOptions = definedExternally) : WebGLRenderTarget> { + open val isWebGLMultipleRenderTargets: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/TorusGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/TorusGeometry.module_three.kt new file mode 100644 index 0000000000..949e8a2922 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/TorusGeometry.module_three.kt @@ -0,0 +1,35 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$84` { + val radius: Number + val tube: Number + val radialSegments: Number + val tubularSegments: Number + val arc: Number +} + +open external class TorusGeometry(radius: Number = definedExternally, tube: Number = definedExternally, radialSegments: Number = definedExternally, tubularSegments: Number = definedExternally, arc: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "TorusGeometry" */ + open val parameters: `T$84` + + companion object { + fun fromJSON(data: Any): TorusGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt new file mode 100644 index 0000000000..3680374210 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt @@ -0,0 +1,36 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$85` { + val radius: Number + val tube: Number + val tubularSegments: Number + val radialSegments: Number + val p: Number + val q: Number +} + +open external class TorusKnotGeometry(radius: Number = definedExternally, tube: Number = definedExternally, tubularSegments: Number = definedExternally, radialSegments: Number = definedExternally, p: Number = definedExternally, q: Number = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "TorusKnotGeometry" */ + open val parameters: `T$85` + + companion object { + fun fromJSON(data: Any): TorusKnotGeometry + } +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Triangle.module_three.kt b/ext/three/src/jsMain/kotlin/three/Triangle.module_three.kt similarity index 52% rename from src/jsMain/kotlin/three/Triangle.module_three.kt rename to ext/three/src/jsMain/kotlin/three/Triangle.module_three.kt index 81d95fcbeb..0eb3a2f529 100644 --- a/src/jsMain/kotlin/three/Triangle.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/Triangle.module_three.kt @@ -1,22 +1,25 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three open external class Triangle(a: Vector3 = definedExternally, b: Vector3 = definedExternally, c: Vector3 = definedExternally) { open var a: Vector3 open var b: Vector3 open var c: Vector3 open fun set(a: Vector3, b: Vector3, c: Vector3): Triangle - open fun setFromPointsAndIndices(points: Array, i0: Number, i1: Number, i2: Number): Triangle + open fun setFromPointsAndIndices(points: Array, i0: Number, i1: Number, i2: Number): Triangle /* this */ + open fun setFromAttributeAndIndices(attribute: BufferAttribute, i0: Number, i1: Number, i2: Number): Triangle /* this */ + open fun setFromAttributeAndIndices(attribute: InterleavedBufferAttribute, i0: Number, i1: Number, i2: Number): Triangle /* this */ open fun clone(): Triangle /* this */ open fun copy(triangle: Triangle): Triangle /* this */ - open fun getArea(): Number + open fun getArea(): Double open fun getMidpoint(target: Vector3): Vector3 open fun getNormal(target: Vector3): Vector3 open fun getPlane(target: Plane): Plane - open fun getBarycoord(point: Vector3, target: Vector3): Vector3 - open fun getUV(point: Vector3, uv1: Vector2, uv2: Vector2, uv3: Vector2, target: Vector2): Vector2 + open fun getBarycoord(point: Vector3, target: Vector3): Vector3? + open fun getInterpolation(point: Vector3, v1: Vector2, v2: Vector2, v3: Vector2, target: Vector2): Vector2? + open fun getInterpolation(point: Vector3, v1: Vector3, v2: Vector3, v3: Vector3, target: Vector3): Vector3? + open fun getInterpolation(point: Vector3, v1: Vector4, v2: Vector4, v3: Vector4, target: Vector4): Vector4? open fun containsPoint(point: Vector3): Boolean open fun intersectsBox(box: Box3): Boolean open fun isFrontFacing(direction: Vector3): Boolean @@ -25,9 +28,11 @@ open external class Triangle(a: Vector3 = definedExternally, b: Vector3 = define companion object { fun getNormal(a: Vector3, b: Vector3, c: Vector3, target: Vector3): Vector3 - fun getBarycoord(point: Vector3, a: Vector3, b: Vector3, c: Vector3, target: Vector3): Vector3 + fun getBarycoord(point: Vector3, a: Vector3, b: Vector3, c: Vector3, target: Vector3): Vector3? fun containsPoint(point: Vector3, a: Vector3, b: Vector3, c: Vector3): Boolean - fun getUV(point: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, uv1: Vector2, uv2: Vector2, uv3: Vector2, target: Vector2): Vector2 + fun getInterpolation(point: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, v1: Vector2, v2: Vector2, v3: Vector2, target: Vector2): Vector2? + fun getInterpolation(point: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, v1: Vector3, v2: Vector3, v3: Vector3, target: Vector3): Vector3? + fun getInterpolation(point: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, v1: Vector4, v2: Vector4, v3: Vector4, target: Vector4): Vector4? fun isFrontFacing(a: Vector3, b: Vector3, c: Vector3, direction: Vector3): Boolean } } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/TubeGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/TubeGeometry.module_three.kt new file mode 100644 index 0000000000..d653d27094 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/TubeGeometry.module_three.kt @@ -0,0 +1,38 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$86` { + val path: Curve + val tubularSegments: Number + val radius: Number + val radialSegments: Number + val closed: Boolean +} + +open external class TubeGeometry(path: Curve = definedExternally, tubularSegments: Number = definedExternally, radius: Number = definedExternally, radialSegments: Number = definedExternally, closed: Boolean = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "TubeGeometry" */ + open val parameters: `T$86` + open var tangents: Array + open var normals: Array + open var binormals: Array + + companion object { + fun fromJSON(data: Any): TubeGeometry + } +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Uniform.module_three.kt b/ext/three/src/jsMain/kotlin/three/Uniform.module_three.kt new file mode 100644 index 0000000000..2b60d38fa7 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Uniform.module_three.kt @@ -0,0 +1,8 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class Uniform(value: T) { + open var value: T + open fun clone(): Uniform +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/UniformsGroup.module_three.kt b/ext/three/src/jsMain/kotlin/three/UniformsGroup.module_three.kt new file mode 100644 index 0000000000..c536e8139e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/UniformsGroup.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class UniformsGroup : EventDispatcher/*<`T$8`>*/ { + open val isUniformsGroup: Boolean + open var id: Number + open var usage: Any + open var uniforms: Array */> + open fun add(uniform: Uniform__0): UniformsGroup /* this */ + open fun add(uniform: Array): UniformsGroup /* this */ + open fun remove(uniform: Uniform__0): UniformsGroup /* this */ + open fun remove(uniform: Array): UniformsGroup /* this */ + open fun setName(name: String): UniformsGroup /* this */ + open fun setUsage(value: Any): UniformsGroup /* this */ + open fun dispose(): UniformsGroup /* this */ + open fun copy(source: UniformsGroup): UniformsGroup /* this */ + open fun clone(): UniformsGroup +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/UniformsLib.module_three.kt b/ext/three/src/jsMain/kotlin/three/UniformsLib.module_three.kt new file mode 100644 index 0000000000..d0d5c0c1aa --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/UniformsLib.module_three.kt @@ -0,0 +1,246 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface IUniform { + var value: TValue +} + +external interface IUniform__0 : IUniform + +external interface `T$32` { + var diffuse: IUniform + var opacity: IUniform + var map: IUniform + var mapTransform: IUniform + var alphaMap: IUniform + var alphaMapTransform: IUniform + var alphaTest: IUniform +} + +external interface `T$33` { + var specularMap: IUniform + var specularMapTransform: IUniform +} + +external interface `T$34` { + var envMap: IUniform + var envMapRotation: IUniform + var flipEnvMap: IUniform + var reflectivity: IUniform + var ior: IUniform + var refractRatio: IUniform +} + +external interface `T$35` { + var aoMap: IUniform + var aoMapIntensity: IUniform + var aoMapTransform: IUniform +} + +external interface `T$36` { + var lightMap: IUniform + var lightMapIntensity: IUniform + var lightMapTransform: IUniform +} + +external interface `T$37` { + var bumpMap: IUniform + var bumpMapTransform: IUniform + var bumpScale: IUniform +} + +external interface `T$38` { + var normalMap: IUniform + var normalMapTransform: IUniform + var normalScale: IUniform +} + +external interface `T$39` { + var displacementMap: IUniform + var displacementMapTransform: IUniform + var displacementScale: IUniform + var displacementBias: IUniform +} + +external interface `T$40` { + var emissiveMap: IUniform + var emissiveMapTransform: IUniform +} + +external interface `T$41` { + var metalnessMap: IUniform + var metalnessMapTransform: IUniform +} + +external interface `T$42` { + var roughnessMap: IUniform + var roughnessMapTransform: IUniform +} + +external interface `T$43` { + var gradientMap: IUniform +} + +external interface `T$44` { + var fogDensity: IUniform + var fogNear: IUniform + var fogFar: IUniform + var fogColor: IUniform +} + +external interface `T$45` { + var direction: Any + var color: Any +} + +external interface `T$46` { + var value: Array + var properties: `T$45` +} + +external interface `T$47` { + var shadowIntensity: Number + var shadowBias: Any + var shadowNormalBias: Any + var shadowRadius: Any + var shadowMapSize: Any +} + +external interface `T$48` { + var value: Array + var properties: `T$47` +} + +external interface `T$49` { + var color: Any + var position: Any + var direction: Any + var distance: Any + var coneCos: Any + var penumbraCos: Any + var decay: Any +} + +external interface `T$50` { + var value: Array + var properties: `T$49` +} + +external interface `T$51` { + var value: Array + var properties: `T$47` +} + +external interface `T$52` { + var color: Any + var position: Any + var decay: Any + var distance: Any +} + +external interface `T$53` { + var value: Array + var properties: `T$52` +} + +external interface `T$54` { + var shadowIntensity: Number + var shadowBias: Any + var shadowNormalBias: Any + var shadowRadius: Any + var shadowMapSize: Any + var shadowCameraNear: Any + var shadowCameraFar: Any +} + +external interface `T$55` { + var value: Array + var properties: `T$54` +} + +external interface `T$56` { + var direction: Any + var skycolor: Any + var groundColor: Any +} + +external interface `T$57` { + var value: Array + var properties: `T$56` +} + +external interface `T$58` { + var color: Any + var position: Any + var width: Any + var height: Any +} + +external interface `T$59` { + var value: Array + var properties: `T$58` +} + +external interface `T$60` { + var ambientLightColor: IUniform> + var lightProbe: IUniform> + var directionalLights: `T$46` + var directionalLightShadows: `T$48` + var directionalShadowMap: IUniform> + var directionalShadowMatrix: IUniform> + var spotLights: `T$50` + var spotLightShadows: `T$51` + var spotLightMap: IUniform> + var spotShadowMap: IUniform> + var spotLightMatrix: IUniform> + var pointLights: `T$53` + var pointLightShadows: `T$55` + var pointShadowMap: IUniform> + var pointShadowMatrix: IUniform> + var hemisphereLights: `T$57` + var rectAreaLights: `T$59` + var ltc_1: IUniform + var ltc_2: IUniform +} + +external interface `T$61` { + var diffuse: IUniform + var opacity: IUniform + var size: IUniform + var scale: IUniform + var map: IUniform + var alphaMap: IUniform + var alphaTest: IUniform + var uvTransform: IUniform +} + +external interface `T$62` { + var diffuse: IUniform + var opacity: IUniform + var center: IUniform + var rotation: IUniform + var map: IUniform + var mapTransform: IUniform + var alphaMap: IUniform + var alphaTest: IUniform +} + +external object UniformsLib { + var common: `T$32` + var specularmap: `T$33` + var envmap: `T$34` + var aomap: `T$35` + var lightmap: `T$36` + var bumpmap: `T$37` + var normalmap: `T$38` + var displacementmap: `T$39` + var emissivemap: `T$40` + var metalnessmap: `T$41` + var roughnessmap: `T$42` + var gradientmap: `T$43` + var fog: `T$44` + var lights: `T$60` + var points: `T$61` + var sprite: `T$62` +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Vector2.module_three.kt b/ext/three/src/jsMain/kotlin/three/Vector2.module_three.kt new file mode 100644 index 0000000000..6748d9eb34 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Vector2.module_three.kt @@ -0,0 +1,75 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface Vector2Like { + val x: Double + val y: Double +} + +open external class Vector2(x: Number = definedExternally, y: Number = definedExternally) : Vector2Like { + override var x: Double + override var y: Double + open var width: Double + open var height: Double + open val isVector2: Boolean + open fun set(x: Number, y: Number): Vector2 /* this */ + open fun setScalar(scalar: Number): Vector2 /* this */ + open fun setX(x: Number): Vector2 /* this */ + open fun setY(y: Number): Vector2 /* this */ + open fun setComponent(index: Number, value: Number): Vector2 /* this */ + open fun getComponent(index: Number): Double + open fun clone(): Vector2 /* this */ + open fun copy(v: Vector2Like): Vector2 /* this */ + open fun add(v: Vector2Like): Vector2 /* this */ + open fun addScalar(s: Number): Vector2 /* this */ + open fun addVectors(a: Vector2Like, b: Vector2Like): Vector2 /* this */ + open fun addScaledVector(v: Vector2Like, s: Number): Vector2 /* this */ + open fun sub(v: Vector2Like): Vector2 /* this */ + open fun subScalar(s: Number): Vector2 /* this */ + open fun subVectors(a: Vector2Like, b: Vector2Like): Vector2 /* this */ + open fun multiply(v: Vector2Like): Vector2 /* this */ + open fun multiplyScalar(scalar: Number): Vector2 /* this */ + open fun divide(v: Vector2Like): Vector2 /* this */ + open fun divideScalar(s: Number): Vector2 /* this */ + open fun applyMatrix3(m: Matrix3): Vector2 /* this */ + open fun min(v: Vector2Like): Vector2 /* this */ + open fun max(v: Vector2Like): Vector2 /* this */ + open fun clamp(min: Vector2Like, max: Vector2Like): Vector2 /* this */ + open fun clampScalar(min: Number, max: Number): Vector2 /* this */ + open fun clampLength(min: Number, max: Number): Vector2 /* this */ + open fun floor(): Vector2 /* this */ + open fun ceil(): Vector2 /* this */ + open fun round(): Vector2 /* this */ + open fun roundToZero(): Vector2 /* this */ + open fun negate(): Vector2 /* this */ + open fun dot(v: Vector2Like): Double + open fun cross(v: Vector2Like): Double + open fun lengthSq(): Double + open fun length(): Double + open fun manhattanLength(): Double + open fun normalize(): Vector2 /* this */ + open fun angle(): Double + open fun angleTo(v: Vector2): Double + open fun distanceTo(v: Vector2Like): Double + open fun distanceToSquared(v: Vector2Like): Double + open fun manhattanDistanceTo(v: Vector2Like): Double + open fun setLength(length: Number): Vector2 /* this */ + open fun lerp(v: Vector2Like, alpha: Number): Vector2 /* this */ + open fun lerpVectors(v1: Vector2Like, v2: Vector2Like, alpha: Number): Vector2 /* this */ + open fun equals(v: Vector2Like): Boolean + open fun fromArray(array: Array, offset: Number = definedExternally): Vector2 /* this */ +// open fun fromArray(array: Array): Vector2 /* this */ +// open fun fromArray(array: Array, offset: Number = definedExternally): Vector2 /* this */ +// open fun fromArray(array: Array): Vector2 /* this */ + open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array + open fun toArray(): dynamic /* Array */ +// open fun toArray(array: Array = definedExternally): Array + open fun toArray(array: Any /* JsTuple */ = definedExternally, offset: Number /* 0 */ = definedExternally): dynamic /* JsTuple */ + open fun toArray(array: Any /* JsTuple */ = definedExternally): dynamic /* JsTuple */ +// open fun toArray(array: Array, offset: Number = definedExternally): Array +// open fun toArray(array: Array): Array + open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Vector2 /* this */ + open fun rotateAround(center: Vector2Like, angle: Number): Vector2 /* this */ + open fun random(): Vector2 /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Vector3.module_three.kt b/ext/three/src/jsMain/kotlin/three/Vector3.module_three.kt new file mode 100644 index 0000000000..9aa1d2a565 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Vector3.module_three.kt @@ -0,0 +1,99 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface Vector3Like { + val x: Double + val y: Double + val z: Double +} + +open external class Vector3(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally) : Vector3Like { + override var x: Double + override var y: Double + override var z: Double + open val isVector3: Boolean + open fun set(x: Number, y: Number, z: Number): Vector3 /* this */ + open fun setScalar(scalar: Number): Vector3 /* this */ + open fun setX(x: Number): Vector3 /* this */ + open fun setY(y: Number): Vector3 /* this */ + open fun setZ(z: Number): Vector3 /* this */ + open fun setComponent(index: Number, value: Number): Vector3 /* this */ + open fun getComponent(index: Number): Double + open fun clone(): Vector3 /* this */ + open fun copy(v: Vector3Like): Vector3 /* this */ + open fun add(v: Vector3Like): Vector3 /* this */ + open fun addScalar(s: Number): Vector3 /* this */ + open fun addVectors(a: Vector3Like, b: Vector3Like): Vector3 /* this */ + open fun addScaledVector(v: Vector3, s: Number): Vector3 /* this */ + open fun sub(a: Vector3Like): Vector3 /* this */ + open fun subScalar(s: Number): Vector3 /* this */ + open fun subVectors(a: Vector3Like, b: Vector3Like): Vector3 /* this */ + open fun multiply(v: Vector3Like): Vector3 /* this */ + open fun multiplyScalar(s: Number): Vector3 /* this */ + open fun multiplyVectors(a: Vector3Like, b: Vector3Like): Vector3 /* this */ + open fun applyEuler(euler: Euler): Vector3 /* this */ + open fun applyAxisAngle(axis: Vector3, angle: Number): Vector3 /* this */ + open fun applyMatrix3(m: Matrix3): Vector3 /* this */ + open fun applyNormalMatrix(m: Matrix3): Vector3 /* this */ + open fun applyMatrix4(m: Matrix4): Vector3 /* this */ + open fun applyQuaternion(q: QuaternionLike): Vector3 /* this */ + open fun project(camera: Camera): Vector3 /* this */ + open fun unproject(camera: Camera): Vector3 /* this */ + open fun transformDirection(m: Matrix4): Vector3 /* this */ + open fun divide(v: Vector3Like): Vector3 /* this */ + open fun divideScalar(s: Number): Vector3 /* this */ + open fun min(v: Vector3Like): Vector3 /* this */ + open fun max(v: Vector3Like): Vector3 /* this */ + open fun clamp(min: Vector3Like, max: Vector3Like): Vector3 /* this */ + open fun clampScalar(min: Number, max: Number): Vector3 /* this */ + open fun clampLength(min: Number, max: Number): Vector3 /* this */ + open fun floor(): Vector3 /* this */ + open fun ceil(): Vector3 /* this */ + open fun round(): Vector3 /* this */ + open fun roundToZero(): Vector3 /* this */ + open fun negate(): Vector3 /* this */ + open fun dot(v: Vector3Like): Double + open fun lengthSq(): Double + open fun length(): Double + open fun manhattanLength(): Double + open fun normalize(): Vector3 /* this */ + open fun setLength(l: Number): Vector3 /* this */ + open fun lerp(v: Vector3Like, alpha: Number): Vector3 /* this */ + open fun lerpVectors(v1: Vector3Like, v2: Vector3Like, alpha: Number): Vector3 /* this */ + open fun cross(a: Vector3Like): Vector3 /* this */ + open fun crossVectors(a: Vector3Like, b: Vector3Like): Vector3 /* this */ + open fun projectOnVector(v: Vector3): Vector3 /* this */ + open fun projectOnPlane(planeNormal: Vector3): Vector3 /* this */ + open fun reflect(vector: Vector3Like): Vector3 /* this */ + open fun angleTo(v: Vector3): Double + open fun distanceTo(v: Vector3Like): Double + open fun distanceToSquared(v: Vector3Like): Double + open fun manhattanDistanceTo(v: Vector3Like): Double + open fun setFromSpherical(s: Spherical): Vector3 /* this */ + open fun setFromSphericalCoords(r: Number, phi: Number, theta: Number): Vector3 /* this */ + open fun setFromCylindrical(s: Cylindrical): Vector3 /* this */ + open fun setFromCylindricalCoords(radius: Number, theta: Number, y: Number): Vector3 /* this */ + open fun setFromMatrixPosition(m: Matrix4): Vector3 /* this */ + open fun setFromMatrixScale(m: Matrix4): Vector3 /* this */ + open fun setFromMatrixColumn(matrix: Matrix4, index: Number): Vector3 /* this */ + open fun setFromMatrix3Column(matrix: Matrix3, index: Number): Vector3 /* this */ + open fun setFromEuler(e: Euler): Vector3 /* this */ + open fun setFromColor(color: RGB): Vector3 /* this */ + open fun equals(v: Vector3Like): Boolean + open fun fromArray(array: Array, offset: Number = definedExternally): Vector3 /* this */ +// open fun fromArray(array: Array): Vector3 /* this */ +// open fun fromArray(array: Array, offset: Number = definedExternally): Vector3 /* this */ +// open fun fromArray(array: Array): Vector3 /* this */ + open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array + open fun toArray(): dynamic /* Array */ +// open fun toArray(array: Array = definedExternally): Array + open fun toArray(array: Any /* JsTuple */ = definedExternally, offset: Number /* 0 */ = definedExternally): dynamic /* JsTuple */ + open fun toArray(array: Any /* JsTuple */ = definedExternally): dynamic /* JsTuple */ +// open fun toArray(array: Array, offset: Number = definedExternally): Array +// open fun toArray(array: Array): Array + open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Vector3 /* this */ + open fun fromBufferAttribute(attribute: InterleavedBufferAttribute, index: Number): Vector3 /* this */ + open fun random(): Vector3 /* this */ + open fun randomDirection(): Vector3 /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/Vector4.module_three.kt b/ext/three/src/jsMain/kotlin/three/Vector4.module_three.kt new file mode 100644 index 0000000000..ffebb76dac --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/Vector4.module_three.kt @@ -0,0 +1,75 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface Vector4Like { + val x: Double + val y: Double + val z: Double + val w: Double +} + +open external class Vector4(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, w: Number = definedExternally) { + open var x: Double + open var y: Double + open var z: Double + open var w: Double + open var width: Double + open var height: Double + open val isVector4: Boolean + open fun set(x: Number, y: Number, z: Number, w: Number): Vector4 /* this */ + open fun setScalar(scalar: Number): Vector4 /* this */ + open fun setX(x: Number): Vector4 /* this */ + open fun setY(y: Number): Vector4 /* this */ + open fun setZ(z: Number): Vector4 /* this */ + open fun setW(w: Number): Vector4 /* this */ + open fun setComponent(index: Number, value: Number): Vector4 /* this */ + open fun getComponent(index: Number): Double + open fun clone(): Vector4 /* this */ + open fun copy(v: Vector4Like): Vector4 /* this */ + open fun add(v: Vector4Like): Vector4 /* this */ + open fun addScalar(scalar: Number): Vector4 /* this */ + open fun addVectors(a: Vector4Like, b: Vector4Like): Vector4 /* this */ + open fun addScaledVector(v: Vector4Like, s: Number): Vector4 /* this */ + open fun sub(v: Vector4Like): Vector4 /* this */ + open fun subScalar(s: Number): Vector4 /* this */ + open fun subVectors(a: Vector4Like, b: Vector4Like): Vector4 /* this */ + open fun multiply(v: Vector4Like): Vector4 /* this */ + open fun multiplyScalar(s: Number): Vector4 /* this */ + open fun applyMatrix4(m: Matrix4): Vector4 /* this */ + open fun divideScalar(s: Number): Vector4 /* this */ + open fun setAxisAngleFromQuaternion(q: QuaternionLike): Vector4 /* this */ + open fun setAxisAngleFromRotationMatrix(m: Matrix4): Vector4 /* this */ + open fun setFromMatrixPosition(m: Matrix4): Vector4 /* this */ + open fun min(v: Vector4Like): Vector4 /* this */ + open fun max(v: Vector4Like): Vector4 /* this */ + open fun clamp(min: Vector4Like, max: Vector4Like): Vector4 /* this */ + open fun clampScalar(min: Number, max: Number): Vector4 /* this */ + open fun floor(): Vector4 /* this */ + open fun ceil(): Vector4 /* this */ + open fun round(): Vector4 /* this */ + open fun roundToZero(): Vector4 /* this */ + open fun negate(): Vector4 /* this */ + open fun dot(v: Vector4Like): Double + open fun lengthSq(): Double + open fun length(): Double + open fun manhattanLength(): Double + open fun normalize(): Vector4 /* this */ + open fun setLength(length: Number): Vector4 /* this */ + open fun lerp(v: Vector4Like, alpha: Number): Vector4 /* this */ + open fun lerpVectors(v1: Vector4Like, v2: Vector4Like, alpha: Number): Vector4 /* this */ + open fun equals(v: Vector4Like): Boolean + open fun fromArray(array: Array, offset: Number = definedExternally): Vector4 /* this */ +// open fun fromArray(array: Array): Vector4 /* this */ +// open fun fromArray(array: Array, offset: Number = definedExternally): Vector4 /* this */ +// open fun fromArray(array: Array): Vector4 /* this */ + open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array + open fun toArray(): dynamic /* Array */ +// open fun toArray(array: Array = definedExternally): Array + open fun toArray(array: Any /* JsTuple */ = definedExternally, offset: Number /* 0 */ = definedExternally): dynamic /* JsTuple */ + open fun toArray(array: Any /* JsTuple */ = definedExternally): dynamic /* JsTuple */ +// open fun toArray(array: Array, offset: Number = definedExternally): Array +// open fun toArray(array: Array): Array + open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Vector4 /* this */ + open fun random(): Vector4 /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt b/ext/three/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt new file mode 100644 index 0000000000..8f4180043f --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +open external class VectorKeyframeTrack(name: String, times: Array, values: Array, interpolation: Any = definedExternally) : KeyframeTrack { + override var ValueTypeName: String +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/VideoTexture.module_three.kt b/ext/three/src/jsMain/kotlin/three/VideoTexture.module_three.kt new file mode 100644 index 0000000000..364c01ee5c --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/VideoTexture.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class VideoTexture(video: HTMLVideoElement, mapping: Any = definedExternally, wrapS: Any = definedExternally, wrapT: Any = definedExternally, magFilter: Any = definedExternally, minFilter: Any = definedExternally, format: Any = definedExternally, type: Any = definedExternally, anisotropy: Number = definedExternally) : Texture { + open val isVideoTexture: Boolean + override var magFilter: Any + override var minFilter: Any + override var generateMipmaps: Boolean + open fun update() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGL3DRenderTarget.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGL3DRenderTarget.module_three.kt new file mode 100644 index 0000000000..2146c269b1 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGL3DRenderTarget.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGL3DRenderTarget(width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally, options: RenderTargetOptions = definedExternally) : WebGLRenderTarget { +// override var textures: Array + open val isWebGL3DRenderTarget: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLArrayRenderTarget.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLArrayRenderTarget.module_three.kt new file mode 100644 index 0000000000..26d962397d --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLArrayRenderTarget.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLArrayRenderTarget(width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally, options: RenderTargetOptions = definedExternally) : WebGLRenderTarget { +// override var textures: Array + open val isWebGLArrayRenderTarget: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt new file mode 100644 index 0000000000..7ffc39b357 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt @@ -0,0 +1,40 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* +import web.gl.WebGL2RenderingContext + +external interface `T$63` { + var buffer: WebGLBuffer + var type: Number + var bytesPerElement: Number + var version: Number + var size: Number +} + +open external class WebGLAttributes { + constructor(gl: WebGLRenderingContext) + constructor(gl: WebGL2RenderingContext) + open fun get(attribute: BufferAttribute): `T$63`? + open fun get(attribute: InterleavedBufferAttribute): `T$63`? + open fun get(attribute: GLBufferAttribute): `T$63`? + open fun remove(attribute: BufferAttribute) + open fun remove(attribute: InterleavedBufferAttribute) + open fun remove(attribute: GLBufferAttribute) + open fun update(attribute: BufferAttribute, bufferType: Number) + open fun update(attribute: InterleavedBufferAttribute, bufferType: Number) + open fun update(attribute: GLBufferAttribute, bufferType: Number) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt new file mode 100644 index 0000000000..8db02bb313 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt @@ -0,0 +1,29 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLBindingStates(gl: WebGLRenderingContext, attributes: WebGLAttributes) { + open fun setup(obj: Object3D/**/, material: Material, program: WebGLProgram, geometry: BufferGeometry, index: BufferAttribute) + open fun reset() + open fun resetDefaultState() + open fun dispose() + open fun releaseStatesOfGeometry() + open fun releaseStatesOfProgram() + open fun initAttributes() + open fun enableAttribute(attribute: Number) + open fun disableUnusedAttributes() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt new file mode 100644 index 0000000000..11dd357d31 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLBufferRenderer(gl: WebGLRenderingContext, extensions: WebGLExtensions, info: WebGLInfo) { + open var setMode: (value: Any) -> Unit + open var render: (start: Any, count: Number) -> Unit + open var renderInstances: (start: Any, count: Number, primcount: Number) -> Unit + open var renderMultiDraw: (starts: Int32Array, counts: Int32Array, drawCount: Number) -> Unit + open var renderMultiDrawInstances: (starts: Int32Array, counts: Int32Array, drawCount: Number, primcount: Int32Array) -> Unit +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt similarity index 56% rename from src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt index 584dbaf2c1..20344c44b2 100644 --- a/src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLCapabilities.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import org.khronos.webgl.WebGLRenderingContext +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* external interface WebGLCapabilitiesParameters { var precision: String? @@ -15,7 +26,11 @@ external interface WebGLCapabilitiesParameters { } open external class WebGLCapabilities(gl: WebGLRenderingContext, extensions: Any, parameters: WebGLCapabilitiesParameters) { - open var isWebGL2: Boolean + open val isWebGL2: Boolean + open var getMaxAnisotropy: () -> Number + open var getMaxPrecision: (precision: String) -> String + open var textureFormatReadable: (textureFormat: Any) -> Boolean + open var textureTypeReadable: (textureType: Any) -> Boolean open var precision: String open var logarithmicDepthBuffer: Boolean open var maxTextures: Number @@ -27,8 +42,5 @@ open external class WebGLCapabilities(gl: WebGLRenderingContext, extensions: Any open var maxVaryings: Number open var maxFragmentUniforms: Number open var vertexTextures: Boolean - open var floatFragmentTextures: Boolean - open var floatVertexTextures: Boolean - open fun getMaxAnisotropy(): Number - open fun getMaxPrecision(precision: String): String + open var maxSamples: Number } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLClipping.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLClipping.module_three.kt new file mode 100644 index 0000000000..a7a0a36c03 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLClipping.module_three.kt @@ -0,0 +1,33 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$64` { + var value: Any + var needsUpdate: Boolean +} + +open external class WebGLClipping(properties: WebGLProperties) { + open var uniform: `T$64` + open var numPlanes: Number + open var numIntersection: Number + open fun init(planes: Array, enableLocalClipping: Boolean): Boolean + open fun beginShadows() + open fun endShadows() + open fun setGlobalState(planes: Array, camera: Camera) + open fun setState(material: Material, camera: Camera, useCache: Boolean) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt new file mode 100644 index 0000000000..b793d5dfa3 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLCubeMaps(renderer: WebGLRenderer) { + open fun get(texture: Any): Any + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt new file mode 100644 index 0000000000..eff4553c21 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLCubeRenderTarget(size: Number = definedExternally, options: RenderTargetOptions = definedExternally) : WebGLRenderTarget { +// override var textures: Array + open fun fromEquirectangularTexture(renderer: WebGLRenderer, texture: Texture): WebGLCubeRenderTarget /* this */ + open fun clear(renderer: WebGLRenderer, color: Boolean, depth: Boolean, stencil: Boolean) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLCubeUVMaps.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLCubeUVMaps.module_three.kt new file mode 100644 index 0000000000..3b66574a94 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLCubeUVMaps.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLCubeUVMaps(renderer: WebGLRenderer) { + open fun get(texture: T): Any + open fun dispose() +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt new file mode 100644 index 0000000000..061aa24776 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLExtensions(gl: WebGLRenderingContext) { + open fun has(name: String): Boolean + open fun init() + open fun get(name: String): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt new file mode 100644 index 0000000000..b6df3c0e9e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt @@ -0,0 +1,23 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLGeometries(gl: WebGLRenderingContext, attributes: WebGLAttributes, info: WebGLInfo) { + open fun get(obj: Object3D/**/, geometry: BufferGeometry): BufferGeometry + open fun update(geometry: BufferGeometry) + open fun getWireframeAttribute(geometry: BufferGeometry): BufferAttribute +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt new file mode 100644 index 0000000000..8286c56668 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLIndexedBufferRenderer(gl: WebGLRenderingContext, extensions: Any, info: Any) { + open var setMode: (value: Any) -> Unit + open var setIndex: (index: Any) -> Unit + open var render: (start: Any, count: Number) -> Unit + open var renderInstances: (start: Any, count: Number, primcount: Number) -> Unit + open var renderMultiDraw: (starts: Int32Array, counts: Int32Array, drawCount: Number) -> Unit + open var renderMultiDrawInstances: (starts: Int32Array, counts: Int32Array, drawCount: Number, primcount: Int32Array) -> Unit +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLInfo.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLInfo.module_three.kt similarity index 64% rename from src/jsMain/kotlin/three/WebGLInfo.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLInfo.module_three.kt index 95cb29f602..fe5582e912 100644 --- a/src/jsMain/kotlin/three/WebGLInfo.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLInfo.module_three.kt @@ -1,16 +1,15 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three import org.khronos.webgl.WebGLRenderingContext -external interface `T$13` { +external interface `T$23` { var geometries: Number var textures: Number } -external interface `T$14` { +external interface `T$24` { var calls: Number var frame: Number var lines: Number @@ -20,9 +19,9 @@ external interface `T$14` { open external class WebGLInfo(gl: WebGLRenderingContext) { open var autoReset: Boolean - open var memory: `T$13` + open var memory: `T$23` open var programs: Array? - open var render: `T$14` - open fun update(count: Number, mode: GLenum, instanceCount: Number) + open var render: `T$24` + open fun update(count: Number, mode: Number, instanceCount: Number) open fun reset() } \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLLights.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLLights.module_three.kt similarity index 67% rename from src/jsMain/kotlin/three/WebGLLights.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLLights.module_three.kt index 132a5ea759..a6129bd247 100644 --- a/src/jsMain/kotlin/three/WebGLLights.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLLights.module_three.kt @@ -1,11 +1,8 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import org.khronos.webgl.WebGLRenderingContext - -external interface `T$54` { +external interface `T$65` { var directionalLength: Number var pointLength: Number var spotLength: Number @@ -14,11 +11,13 @@ external interface `T$54` { var numDirectionalShadows: Number var numPointShadows: Number var numSpotShadows: Number + var numSpotMaps: Number + var numLightProbes: Number } -external interface `T$55` { +external interface WebGLLightsState { var version: Number - var hash: `T$54` + var hash: `T$65` var ambient: Array var probe: Array var directional: Array @@ -35,10 +34,13 @@ external interface `T$55` { var pointShadowMap: Array var pointShadowMatrix: Array var hemi: Array + var numSpotLightShadowsWithMaps: Number + var numLightProbes: Number } -open external class WebGLLights(gl: WebGLRenderingContext, properties: Any, info: Any) { - open var state: `T$55` +open external class WebGLLights(extensions: WebGLExtensions) { + open var state: WebGLLightsState open fun get(light: Any): Any - open fun setup(lights: Any, shadows: Any, camera: Any) + open fun setup(lights: Any) + open fun setupView(lights: Any, camera: Any) } \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLObjects.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLObjects.module_three.kt new file mode 100644 index 0000000000..bded382343 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLObjects.module_three.kt @@ -0,0 +1,22 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLObjects(gl: WebGLRenderingContext, geometries: Any, attributes: Any, info: Any) { + open fun update(obj: Any): Any + open fun dispose() +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLProgram.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLProgram.module_three.kt similarity index 60% rename from src/jsMain/kotlin/three/WebGLProgram.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLProgram.module_three.kt index 66d8e7df20..83ec9affdc 100644 --- a/src/jsMain/kotlin/three/WebGLProgram.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLProgram.module_three.kt @@ -1,7 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* open external class WebGLProgram(renderer: WebGLRenderer, cacheKey: String, parameters: Any?) { open var name: String diff --git a/ext/three/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt new file mode 100644 index 0000000000..c4fd77c517 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt @@ -0,0 +1,230 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$16` { + @nativeGetter + operator fun get(define: String): dynamic /* String? | Number? | Boolean? */ + @nativeSetter + operator fun set(define: String, value: String) + @nativeSetter + operator fun set(define: String, value: Number) + @nativeSetter + operator fun set(define: String, value: Boolean) +} + +external interface WebGLProgramParameters { + var shaderID: String + var shaderType: String + var shaderName: String + var vertexShader: String + var fragmentShader: String + var defines: `T$16`? + var customVertexShaderID: String? + var customFragmentShaderID: String? + var isRawShaderMaterial: Boolean + var glslVersion: Any? + var precision: String /* "lowp" | "mediump" | "highp" */ + var batching: Boolean + var batchingColor: Boolean + var instancing: Boolean + var instancingColor: Boolean + var instancingMorph: Boolean + var supportsVertexTextures: Boolean + var outputColorSpace: Any + var alphaToCoverage: Boolean + var map: Boolean + var matcap: Boolean + var envMap: Boolean + var envMapMode: dynamic /* Any | Boolean */ + get() = definedExternally + set(value) = definedExternally + var envMapCubeUVHeight: Number? + var aoMap: Boolean + var lightMap: Boolean + var bumpMap: Boolean + var normalMap: Boolean + var displacementMap: Boolean + var emissiveMap: Boolean + var normalMapObjectSpace: Boolean + var normalMapTangentSpace: Boolean + var metalnessMap: Boolean + var roughnessMap: Boolean + var anisotropy: Boolean + var anisotropyMap: Boolean + var clearcoat: Boolean + var clearcoatMap: Boolean + var clearcoatNormalMap: Boolean + var clearcoatRoughnessMap: Boolean + var dispersion: Boolean + var iridescence: Boolean + var iridescenceMap: Boolean + var iridescenceThicknessMap: Boolean + var sheen: Boolean + var sheenColorMap: Boolean + var sheenRoughnessMap: Boolean + var specularMap: Boolean + var specularColorMap: Boolean + var specularIntensityMap: Boolean + var transmission: Boolean + var transmissionMap: Boolean + var thicknessMap: Boolean + var gradientMap: Boolean + var opaque: Boolean + var alphaMap: Boolean + var alphaTest: Boolean + var alphaHash: Boolean + var combine: Any? + var mapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var aoMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var lightMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var bumpMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var normalMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var displacementMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var emissiveMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var metalnessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var roughnessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var anisotropyMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var clearcoatMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var clearcoatNormalMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var clearcoatRoughnessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var iridescenceMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var iridescenceThicknessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var sheenColorMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var sheenRoughnessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var specularMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var specularColorMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var specularIntensityMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var transmissionMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var thicknessMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var alphaMapUv: dynamic /* String | Boolean */ + get() = definedExternally + set(value) = definedExternally + var vertexTangents: Boolean + var vertexColors: Boolean + var vertexAlphas: Boolean + var vertexUv1s: Boolean + var vertexUv2s: Boolean + var vertexUv3s: Boolean + var pointsUvs: Boolean + var fog: Boolean + var useFog: Boolean + var fogExp2: Boolean + var flatShading: Boolean + var sizeAttenuation: Boolean + var logarithmicDepthBuffer: Boolean + var skinning: Boolean + var morphTargets: Boolean + var morphNormals: Boolean + var morphColors: Boolean + var morphTargetsCount: Number + var morphTextureStride: Number + var numDirLights: Number + var numPointLights: Number + var numSpotLights: Number + var numSpotLightMaps: Number + var numRectAreaLights: Number + var numHemiLights: Number + var numDirLightShadows: Number + var numPointLightShadows: Number + var numSpotLightShadows: Number + var numSpotLightShadowsWithMaps: Number + var numLightProbes: Number + var numClippingPlanes: Number + var numClipIntersection: Number + var dithering: Boolean + var shadowMapEnabled: Boolean + var shadowMapType: Any + var toneMapping: Any + var decodeVideoTexture: Boolean + var premultipliedAlpha: Boolean + var doubleSided: Boolean + var flipSided: Boolean + var useDepthPacking: Boolean + var depthPacking: dynamic /* Any | 0 */ + get() = definedExternally + set(value) = definedExternally + var index0AttributeName: String? + var extensionClipCullDistance: Boolean + var extensionMultiDraw: Boolean + var rendererExtensionParallelShaderCompile: Boolean + var customProgramCacheKey: String +} + +external interface `T$17` { + @nativeGetter + operator fun get(uniform: String): IUniform__0? + @nativeSetter + operator fun set(uniform: String, value: IUniform__0) +} + +external interface WebGLProgramParametersWithUniforms : WebGLProgramParameters { + var uniforms: `T$17` +} + +open external class WebGLPrograms(renderer: WebGLRenderer, cubemaps: WebGLCubeMaps, extensions: WebGLExtensions, capabilities: WebGLCapabilities, bindingStates: WebGLBindingStates, clipping: WebGLClipping) { + open var programs: Array + open fun getParameters(material: Material, lights: WebGLLightsState, shadows: Array, scene: Scene, obj: Object3D/**/): WebGLProgramParameters + open fun getProgramCacheKey(parameters: WebGLProgramParameters): String + open fun getUniforms(material: Material): `T$17` + open fun acquireProgram(parameters: WebGLProgramParametersWithUniforms, cacheKey: String): WebGLProgram + open fun releaseProgram(program: WebGLProgram) +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLProperties.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLProperties.module_three.kt new file mode 100644 index 0000000000..e153b78205 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLProperties.module_three.kt @@ -0,0 +1,25 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLProperties { + open var has: (obj: Any) -> Boolean + open var get: (obj: Any) -> Any + open var remove: (obj: Any) -> Unit + open var update: (obj: Any, key: Any, value: Any) -> Any + open var dispose: () -> Unit +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt new file mode 100644 index 0000000000..79523139a0 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt @@ -0,0 +1,45 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface RenderItem { + var id: Number + var `object`: Object3D/**/ + var geometry: BufferGeometry? + var material: Material + var program: WebGLProgram + var groupOrder: Number + var renderOrder: Number + var z: Number + var group: Object3D/**/? +} + +open external class WebGLRenderList(properties: WebGLProperties) { + open var opaque: Array + open var transparent: Array + open var transmissive: Array + open fun init() + open fun push(obj: Object3D/**/, geometry: BufferGeometry?, material: Material, groupOrder: Number, z: Number, group: Object3D/**/?) + open fun unshift(obj: Object3D/**/, geometry: BufferGeometry?, material: Material, groupOrder: Number, z: Number, group: Object3D/**/?) + open fun sort(opaqueSort: (a: Any, b: Any) -> Number, transparentSort: (a: Any, b: Any) -> Number) + open fun finish() +} + +open external class WebGLRenderLists(properties: WebGLProperties) { + open fun dispose() + open fun get(scene: Scene, renderCallDepth: Number): WebGLRenderList +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt new file mode 100644 index 0000000000..7508c9adf5 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLRenderTarget(width: Number = definedExternally, height: Number = definedExternally, options: RenderTargetOptions = definedExternally) : RenderTarget { + open val isWebGLRenderTarget: Boolean +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt new file mode 100644 index 0000000000..7caacaec86 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt @@ -0,0 +1,192 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import web.html.HTMLCanvasElement +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface Renderer { + var domElement: HTMLCanvasElement + fun render(scene: Object3D/**/, camera: Camera) + fun setSize(width: Number, height: Number, updateStyle: Boolean = definedExternally) +} + +external interface WebGLRendererParameters { + var canvas: dynamic /* HTMLCanvasElement? | OffscreenCanvas? */ + get() = definedExternally + set(value) = definedExternally + var context: WebGLRenderingContext? + get() = definedExternally + set(value) = definedExternally + var precision: String? + get() = definedExternally + set(value) = definedExternally + var alpha: Boolean? + get() = definedExternally + set(value) = definedExternally + var premultipliedAlpha: Boolean? + get() = definedExternally + set(value) = definedExternally + var antialias: Boolean? + get() = definedExternally + set(value) = definedExternally + var stencil: Boolean? + get() = definedExternally + set(value) = definedExternally + var preserveDrawingBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var powerPreference: String? + get() = definedExternally + set(value) = definedExternally + var depth: Boolean? + get() = definedExternally + set(value) = definedExternally + var logarithmicDepthBuffer: Boolean? + get() = definedExternally + set(value) = definedExternally + var failIfMajorPerformanceCaveat: Boolean? + get() = definedExternally + set(value) = definedExternally +} + +external interface WebGLDebug { + var checkShaderErrors: Boolean + var onShaderError: ((gl: WebGLRenderingContext, program: WebGLProgram, glVertexShader: WebGLShader, glFragmentShader: WebGLShader) -> Unit)? +} + +open external class WebGLRenderer(parameters: WebGLRendererParameters = definedExternally) : Renderer { + override var domElement: HTMLCanvasElement + open var autoClear: Boolean + open var autoClearColor: Boolean + open var autoClearDepth: Boolean + open var autoClearStencil: Boolean + open var debug: WebGLDebug + open var sortObjects: Boolean + open var clippingPlanes: Array + open var localClippingEnabled: Boolean + open var extensions: WebGLExtensions + open var toneMapping: Any + open var toneMappingExposure: Number + open var info: WebGLInfo + open var shadowMap: WebGLShadowMap + open var pixelRatio: Number + open var capabilities: WebGLCapabilities + open var properties: WebGLProperties + open var renderLists: WebGLRenderLists + open var state: WebGLState + open var xr: WebXRManager + open fun getContext(): dynamic /* WebGLRenderingContext | WebGL2RenderingContext */ + open fun getContextAttributes(): Any + open fun forceContextLoss() + open fun forceContextRestore() + open fun getMaxAnisotropy(): Number + open fun getPrecision(): String + open fun getPixelRatio(): Number + open fun setPixelRatio(value: Number) + open fun getDrawingBufferSize(target: Vector2): Vector2 + open fun setDrawingBufferSize(width: Number, height: Number, pixelRatio: Number) + open fun getSize(target: Vector2): Vector2 + override fun setSize(width: Number, height: Number, updateStyle: Boolean) + open fun getCurrentViewport(target: Vector4): Vector4 + open fun getViewport(target: Vector4): Vector4 + open fun setViewport(x: Vector4, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open fun setViewport(x: Vector4) + open fun setViewport(x: Vector4, y: Number = definedExternally) + open fun setViewport(x: Vector4, y: Number = definedExternally, width: Number = definedExternally) + open fun setViewport(x: Number, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open fun setViewport(x: Number) + open fun setViewport(x: Number, y: Number = definedExternally) + open fun setViewport(x: Number, y: Number = definedExternally, width: Number = definedExternally) + open fun getScissor(target: Vector4): Vector4 + open fun setScissor(x: Vector4, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open fun setScissor(x: Vector4) + open fun setScissor(x: Vector4, y: Number = definedExternally) + open fun setScissor(x: Vector4, y: Number = definedExternally, width: Number = definedExternally) + open fun setScissor(x: Number, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) + open fun setScissor(x: Number) + open fun setScissor(x: Number, y: Number = definedExternally) + open fun setScissor(x: Number, y: Number = definedExternally, width: Number = definedExternally) + open fun getScissorTest(): Boolean + open fun setScissorTest(enable: Boolean) + open fun setOpaqueSort(method: (a: Any, b: Any) -> Number) + open fun setTransparentSort(method: (a: Any, b: Any) -> Number) + open fun getClearColor(target: Color): Color + open fun setClearColor(color: Color, alpha: Number = definedExternally) + open fun setClearColor(color: Color) + open fun setClearColor(color: String, alpha: Number = definedExternally) + open fun setClearColor(color: String) + open fun setClearColor(color: Number, alpha: Number = definedExternally) + open fun setClearColor(color: Number) + open fun getClearAlpha(): Number + open fun setClearAlpha(alpha: Number) + open fun clear(color: Boolean = definedExternally, depth: Boolean = definedExternally, stencil: Boolean = definedExternally) + open fun clearColor() + open fun clearDepth() + open fun clearStencil() + open fun clearTarget(renderTarget: WebGLRenderTarget, color: Boolean, depth: Boolean, stencil: Boolean) + open fun resetGLState() + open fun dispose() + open fun renderBufferDirect(camera: Camera, scene: Scene, geometry: BufferGeometry, material: Material, obj: Object3D/**/, geometryGroup: Any) + open fun setAnimationLoop(callback: XRFrameRequestCallback?) + open fun animate(callback: () -> Unit) + open var compile: (scene: Object3D/**/, camera: Camera, targetScene: Scene?) -> Set + open var compileAsync: (scene: Object3D/**/, camera: Camera, targetScene: Scene?) -> Promise*/> + override fun render(scene: Object3D/**/, camera: Camera) + open fun getActiveCubeFace(): Number + open fun getActiveMipmapLevel(): Number + open fun getRenderTarget(): WebGLRenderTarget? + open fun getCurrentRenderTarget(): WebGLRenderTarget? + open fun setRenderTarget(renderTarget: WebGLRenderTarget?, activeCubeFace: Number = definedExternally, activeMipmapLevel: Number = definedExternally) + open fun setRenderTarget(renderTarget: WebGLRenderTarget?) + open fun setRenderTarget(renderTarget: WebGLRenderTarget?, activeCubeFace: Number = definedExternally) + open fun setRenderTarget(renderTarget: WebGLRenderTarget>?, activeCubeFace: Number = definedExternally, activeMipmapLevel: Number = definedExternally) + open fun setRenderTarget(renderTarget: WebGLRenderTarget>?) + open fun setRenderTarget(renderTarget: WebGLRenderTarget>?, activeCubeFace: Number = definedExternally) + open fun readRenderTargetPixels(renderTarget: WebGLRenderTarget, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */, activeCubeFaceIndex: Number = definedExternally) + open fun readRenderTargetPixels(renderTarget: WebGLRenderTarget, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */) + open fun readRenderTargetPixels(renderTarget: WebGLRenderTarget>, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */, activeCubeFaceIndex: Number = definedExternally) + open fun readRenderTargetPixels(renderTarget: WebGLRenderTarget>, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */) + open fun readRenderTargetPixelsAsync(renderTarget: WebGLRenderTarget, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */, activeCubeFaceIndex: Number = definedExternally): Promise + open fun readRenderTargetPixelsAsync(renderTarget: WebGLRenderTarget, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */): Promise + open fun readRenderTargetPixelsAsync(renderTarget: WebGLRenderTarget>, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */, activeCubeFaceIndex: Number = definedExternally): Promise + open fun readRenderTargetPixelsAsync(renderTarget: WebGLRenderTarget>, x: Number, y: Number, width: Number, height: Number, buffer: Any /* Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array */): Promise + open fun copyFramebufferToTexture(texture: Texture, position: Vector2? = definedExternally, level: Number = definedExternally) + open fun copyTextureToTexture(srcTexture: Texture, dstTexture: Texture, srcRegion: Box2? = definedExternally, dstPosition: Vector2? = definedExternally, level: Number = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: Data3DTexture, srcRegion: Box3? = definedExternally, dstPosition: Vector3? = definedExternally, level: Number = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: Data3DTexture) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: Data3DTexture, srcRegion: Box3? = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: Data3DTexture, srcRegion: Box3? = definedExternally, dstPosition: Vector3? = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: DataArrayTexture, srcRegion: Box3? = definedExternally, dstPosition: Vector3? = definedExternally, level: Number = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: DataArrayTexture) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: DataArrayTexture, srcRegion: Box3? = definedExternally) + open fun copyTextureToTexture3D(srcTexture: Texture, dstTexture: DataArrayTexture, srcRegion: Box3? = definedExternally, dstPosition: Vector3? = definedExternally) + open fun initRenderTarget(target: WebGLRenderTarget) + open fun initTexture(texture: Texture) + open fun resetState() + open var vr: Boolean + open var shadowMapEnabled: Boolean + open var shadowMapType: Any + open var shadowMapCullFace: Any + open fun supportsFloatTextures(): Any + open fun supportsHalfFloatTextures(): Any + open fun supportsStandardDerivatives(): Any + open fun supportsCompressedTextureS3TC(): Any + open fun supportsCompressedTexturePVRTC(): Any + open fun supportsBlendMinMax(): Any + open fun supportsVertexTextures(): Any + open fun supportsInstancedArrays(): Any + open fun enableScissorTest(boolean: Any): Any +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLShader.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLShader.module_three.kt new file mode 100644 index 0000000000..091c9fbd5b --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLShader.module_three.kt @@ -0,0 +1,8 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.WebGLRenderingContext +import org.khronos.webgl.WebGLShader + +external fun WebGLShader(gl: WebGLRenderingContext, type: String, string: String): WebGLShader \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt new file mode 100644 index 0000000000..b13a44ff46 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt @@ -0,0 +1,26 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebGLShadowMap(_renderer: WebGLRenderer, _objects: WebGLObjects, _capabilities: WebGLCapabilities) { + open var enabled: Boolean + open var autoUpdate: Boolean + open var needsUpdate: Boolean + open var type: Any + open fun render(shadowsArray: Array, scene: Scene, camera: Camera) + open var cullFace: Any +} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLState.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLState.module_three.kt similarity index 69% rename from src/jsMain/kotlin/three/WebGLState.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLState.module_three.kt index 303b0f5c63..4444917471 100644 --- a/src/jsMain/kotlin/three/WebGLState.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLState.module_three.kt @@ -1,9 +1,9 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three import org.khronos.webgl.ArrayBufferView +import org.khronos.webgl.WebGLFramebuffer import org.khronos.webgl.WebGLRenderingContext open external class WebGLColorBuffer { @@ -16,7 +16,7 @@ open external class WebGLColorBuffer { open external class WebGLDepthBuffer { open fun setTest(depthTest: Boolean) open fun setMask(depthMask: Boolean) - open fun setFunc(depthFunc: DepthModes) + open fun setFunc(depthFunc: Any) open fun setLocked(lock: Boolean) open fun setClear(depth: Number) open fun reset() @@ -32,26 +32,23 @@ open external class WebGLStencilBuffer { open fun reset() } -external interface `T$15` { +external interface `T$25` { var color: WebGLColorBuffer var depth: WebGLDepthBuffer var stencil: WebGLStencilBuffer } -open external class WebGLState(gl: WebGLRenderingContext, extensions: WebGLExtensions, capabilities: WebGLCapabilities) { - open var buffers: `T$15` - open fun initAttributes() - open fun enableAttribute(attribute: Number) - open fun enableAttributeAndDivisor(attribute: Number, meshPerAttribute: Number) - open fun disableUnusedAttributes() - open fun vertexAttribPointer(index: Number, size: Number, type: Number, normalized: Boolean, stride: Number, offset: Number) +open external class WebGLState(gl: WebGLRenderingContext) { + open var buffers: `T$25` open fun enable(id: Number) open fun disable(id: Number) + open fun bindFramebuffer(target: Number, framebuffer: WebGLFramebuffer?) + open fun drawBuffers(renderTarget: WebGLRenderTarget?, framebuffer: WebGLFramebuffer?) open fun useProgram(program: Any): Boolean - open fun setBlending(blending: Blending, blendEquation: BlendingEquation = definedExternally, blendSrc: BlendingSrcFactor = definedExternally, blendDst: BlendingDstFactor = definedExternally, blendEquationAlpha: BlendingEquation = definedExternally, blendSrcAlpha: BlendingSrcFactor = definedExternally, blendDstAlpha: BlendingDstFactor = definedExternally, premultiplyAlpha: Boolean = definedExternally) + open fun setBlending(blending: Any, blendEquation: Any = definedExternally, blendSrc: Any = definedExternally, blendDst: Any = definedExternally, blendEquationAlpha: Any = definedExternally, blendSrcAlpha: Any = definedExternally, blendDstAlpha: Any = definedExternally, premultiplyAlpha: Boolean = definedExternally) open fun setMaterial(material: Material, frontFaceCW: Boolean) open fun setFlipSided(flipSided: Boolean) - open fun setCullFace(cullFace: CullFace) + open fun setCullFace(cullFace: Any) open fun setLineWidth(width: Number) open fun setPolygonOffset(polygonoffset: Boolean, factor: Number = definedExternally, units: Number = definedExternally) open fun setScissorTest(scissorTest: Boolean) diff --git a/src/jsMain/kotlin/three/WebGLTextures.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLTextures.module_three.kt similarity index 70% rename from src/jsMain/kotlin/three/WebGLTextures.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLTextures.module_three.kt index 34d7936624..b64c9bfcf4 100644 --- a/src/jsMain/kotlin/three/WebGLTextures.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLTextures.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import org.khronos.webgl.WebGLRenderingContext +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* open external class WebGLTextures(gl: WebGLRenderingContext, extensions: WebGLExtensions, state: WebGLState, properties: WebGLProperties, capabilities: WebGLCapabilities, utils: WebGLUtils, info: WebGLInfo) { open fun allocateTextureUnit() @@ -12,7 +23,6 @@ open external class WebGLTextures(gl: WebGLRenderingContext, extensions: WebGLEx open fun setTexture2DArray(texture: Any, slot: Number) open fun setTexture3D(texture: Any, slot: Number) open fun setTextureCube(texture: Any, slot: Number) - open fun setTextureCubeDynamic(texture: Any, slot: Number) open fun setupRenderTarget(renderTarget: Any) open fun updateRenderTargetMipmap(renderTarget: Any) open fun updateMultisampleRenderTarget(renderTarget: Any) diff --git a/src/jsMain/kotlin/three/WebGLUniforms.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLUniforms.module_three.kt similarity index 59% rename from src/jsMain/kotlin/three/WebGLUniforms.module_three.kt rename to ext/three/src/jsMain/kotlin/three/WebGLUniforms.module_three.kt index b468082770..1c036e88ae 100644 --- a/src/jsMain/kotlin/three/WebGLUniforms.module_three.kt +++ b/ext/three/src/jsMain/kotlin/three/WebGLUniforms.module_three.kt @@ -1,9 +1,20 @@ @file:JsModule("three") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js +package three -import org.khronos.webgl.WebGLRenderingContext +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* open external class WebGLUniforms(gl: WebGLRenderingContext, program: WebGLProgram) { open fun setValue(gl: WebGLRenderingContext, name: String, value: Any, textures: WebGLTextures) diff --git a/ext/three/src/jsMain/kotlin/three/WebGLUtils.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebGLUtils.module_three.kt new file mode 100644 index 0000000000..e3b6ce7663 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebGLUtils.module_three.kt @@ -0,0 +1,12 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.WebGLRenderingContext +import web.gl.WebGL2RenderingContext + +open external class WebGLUtils { + constructor(gl: WebGLRenderingContext, extensions: WebGLExtensions) + constructor(gl: WebGL2RenderingContext, extensions: WebGLExtensions) + open fun convert(p: Any, colorSpace: Any = definedExternally): Number? +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebXRController.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebXRController.module_three.kt new file mode 100644 index 0000000000..a41a44271a --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebXRController.module_three.kt @@ -0,0 +1,85 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import js.objects.Record +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class XRJointSpace : Object3D/**/ { + open val jointRadius: Number? +} + +external interface XRHandInputState { + var pinching: Boolean +} + +external interface `T$20` { + var data: XRInputSource +} + +external interface `T$21` { + var handedness: String /* "none" | "left" | "right" */ + var target: WebXRController +} + +external interface WebXRSpaceEventMap : Object3DEventMap { + var select: `T$20` + var selectstart: `T$20` + var selectend: `T$20` + var squeeze: `T$20` + var squeezestart: `T$20` + var squeezeend: `T$20` + var connected: `T$20` + var disconnected: `T$20` + var pinchend: `T$21` + var pinchstart: `T$21` + var move: Any +} + +open external class XRHandSpace : Group/**/ { + open val joints: Any + open val inputState: XRHandInputState +} + +open external class XRTargetRaySpace : Group/**/ { + open var hasLinearVelocity: Boolean + open val linearVelocity: Vector3 + open var hasAngularVelocity: Boolean + open val angularVelocity: Vector3 +} + +open external class XRGripSpace : Group/**/ { + open var hasLinearVelocity: Boolean + open val linearVelocity: Vector3 + open var hasAngularVelocity: Boolean + open val angularVelocity: Vector3 +} + +external interface `T$22` { + var type: String /* "end" | "visibilitychange" | "frameratechange" | "select" | "selectend" | "selectstart" | "squeeze" | "squeezeend" | "squeezestart" | "disconnected" | "connected" */ + var data: XRInputSource? + get() = definedExternally + set(value) = definedExternally +} + +open external class WebXRController { + open fun getHandSpace(): XRHandSpace + open fun getTargetRaySpace(): XRTargetRaySpace + open fun getGripSpace(): XRGripSpace + open fun dispatchEvent(event: `T$22`): WebXRController /* this */ + open fun connect(inputSource: XRInputSource): WebXRController /* this */ + open fun disconnect(inputSource: XRInputSource): WebXRController /* this */ + open fun update(inputSource: XRInputSource, frame: XRFrame, referenceSpace: XRReferenceSpace): WebXRController /* this */ +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebXRDepthSensing.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebXRDepthSensing.module_three.kt new file mode 100644 index 0000000000..f481640d01 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebXRDepthSensing.module_three.kt @@ -0,0 +1,28 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class WebXRDepthSensing { + open var texture: Texture? + open var mesh: Mesh, *>? + open var depthNear: Number + open var depthFar: Number + open fun init(renderer: WebGLRenderer, depthData: XRWebGLDepthInformation, renderState: XRRenderState) + open fun getMesh(cameraXR: dynamic /* typealias Omit = dynamic */): Mesh, *>? + open fun reset() + open fun getDepthTexture(): Texture? +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WebXRManager.module_three.kt b/ext/three/src/jsMain/kotlin/three/WebXRManager.module_three.kt new file mode 100644 index 0000000000..7730c46f28 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WebXRManager.module_three.kt @@ -0,0 +1,62 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$26` { + var data: XRPlane +} + +external interface `T$27` { + var data: XRPlaneSet +} + +external interface WebXRManagerEventMap { + var sessionstart: Any + var sessionend: Any + var planeadded: `T$26` + var planeremoved: `T$26` + var planechanged: `T$26` + var planesdetected: `T$27` +} + +open external class WebXRManager(renderer: WebGLRenderer, gl: WebGLRenderingContext) : EventDispatcher/**/ { + open var cameraAutoUpdate: Boolean + open var enabled: Boolean + open var isPresenting: Boolean + open var getController: (index: Number) -> XRTargetRaySpace + open var getControllerGrip: (index: Number) -> XRGripSpace + open var getHand: (index: Number) -> XRHandSpace + open var setFramebufferScaleFactor: (value: Number) -> Unit + open var setReferenceSpaceType: (value: String /* "viewer" | "local" | "local-floor" | "bounded-floor" | "unbounded" */) -> Unit + open var getReferenceSpace: () -> XRReferenceSpace? + open var setReferenceSpace: (value: XRReferenceSpace) -> Unit + open var getBaseLayer: () -> dynamic + open var getBinding: () -> XRWebGLBinding + open var getFrame: () -> XRFrame + open var getSession: () -> XRSession? + open var setSession: (value: XRSession?) -> Promise + open var getEnvironmentBlendMode: () -> String + open var getDepthTexture: () -> Texture? + open var updateCamera: (camera: PerspectiveCamera) -> Unit + open var getCamera: () -> dynamic + open var getFoveation: () -> Number? + open var setFoveation: (value: Number) -> Unit + open var hasDepthSensing: () -> Boolean + open var getDepthSensingMesh: () -> Mesh, *>? + open var setAnimationLoop: (callback: XRFrameRequestCallback?) -> Unit + open var dispose: () -> Unit +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt b/ext/three/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt new file mode 100644 index 0000000000..a89ce3a9eb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt @@ -0,0 +1,27 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +external interface `T$87` { + val geometry: TBufferGeometry +} + +open external class WireframeGeometry>(geometry: TBufferGeometry = definedExternally) : BufferGeometry { + open var override: Any + override val type: String /* String | "WireframeGeometry" */ + open val parameters: `T$87` +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/constants.module_three.kt b/ext/three/src/jsMain/kotlin/three/constants.module_three.kt new file mode 100644 index 0000000000..5d8d30c6e3 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/constants.module_three.kt @@ -0,0 +1,421 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external var REVISION: String + +external enum class MOUSE { + LEFT /* = 0 */, + MIDDLE /* = 1 */, + RIGHT /* = 2 */, + ROTATE /* = 0 */, + DOLLY /* = 1 */, + PAN /* = 2 */ +} + +external enum class TOUCH { + ROTATE /* = 0 */, + PAN /* = 1 */, + DOLLY_PAN /* = 2 */, + DOLLY_ROTATE /* = 3 */ +} + +external var CullFaceNone: Number /* 0 */ + +external var CullFaceBack: Number /* 1 */ + +external var CullFaceFront: Number /* 2 */ + +external var CullFaceFrontBack: Number /* 3 */ + +external var BasicShadowMap: Number /* 0 */ + +external var PCFShadowMap: Number /* 1 */ + +external var PCFSoftShadowMap: Number /* 2 */ + +external var VSMShadowMap: Number /* 3 */ + +external var FrontSide: Number /* 0 */ + +external var BackSide: Number /* 1 */ + +external var DoubleSide: Number /* 2 */ + +external var NoBlending: Number /* 0 */ + +external var NormalBlending: Number /* 1 */ + +external var AdditiveBlending: Number /* 2 */ + +external var SubtractiveBlending: Number /* 3 */ + +external var MultiplyBlending: Number /* 4 */ + +external var CustomBlending: Number /* 5 */ + +external var AddEquation: Number /* 100 */ + +external var SubtractEquation: Number /* 101 */ + +external var ReverseSubtractEquation: Number /* 102 */ + +external var MinEquation: Number /* 103 */ + +external var MaxEquation: Number /* 104 */ + +external var ZeroFactor: Number /* 200 */ + +external var OneFactor: Number /* 201 */ + +external var SrcColorFactor: Number /* 202 */ + +external var OneMinusSrcColorFactor: Number /* 203 */ + +external var SrcAlphaFactor: Number /* 204 */ + +external var OneMinusSrcAlphaFactor: Number /* 205 */ + +external var DstAlphaFactor: Number /* 206 */ + +external var OneMinusDstAlphaFactor: Number /* 207 */ + +external var DstColorFactor: Number /* 208 */ + +external var OneMinusDstColorFactor: Number /* 209 */ + +external var SrcAlphaSaturateFactor: Number /* 210 */ + +external var ConstantColorFactor: Number /* 211 */ + +external var OneMinusConstantColorFactor: Number /* 212 */ + +external var ConstantAlphaFactor: Number /* 213 */ + +external var OneMinusConstantAlphaFactor: Number /* 214 */ + +external var NeverDepth: Number /* 0 */ + +external var AlwaysDepth: Number /* 1 */ + +external var LessDepth: Number /* 2 */ + +external var LessEqualDepth: Number /* 3 */ + +external var EqualDepth: Number /* 4 */ + +external var GreaterEqualDepth: Number /* 5 */ + +external var GreaterDepth: Number /* 6 */ + +external var NotEqualDepth: Number /* 7 */ + +external var MultiplyOperation: Number /* 0 */ + +external var MixOperation: Number /* 1 */ + +external var AddOperation: Number /* 2 */ + +external var NoToneMapping: Number /* 0 */ + +external var LinearToneMapping: Number /* 1 */ + +external var ReinhardToneMapping: Number /* 2 */ + +external var CineonToneMapping: Number /* 3 */ + +external var ACESFilmicToneMapping: Number /* 4 */ + +external var CustomToneMapping: Number /* 5 */ + +external var AgXToneMapping: Number /* 6 */ + +external var NeutralToneMapping: Number /* 7 */ + +external var AttachedBindMode: String /* "attached" */ + +external var DetachedBindMode: String /* "detached" */ + +external var UVMapping: Number /* 300 */ + +external var CubeReflectionMapping: Number /* 301 */ + +external var CubeRefractionMapping: Number /* 302 */ + +external var CubeUVReflectionMapping: Number /* 306 */ + +external var EquirectangularReflectionMapping: Number /* 303 */ + +external var EquirectangularRefractionMapping: Number /* 304 */ + +external var RepeatWrapping: Number /* 1000 */ + +external var ClampToEdgeWrapping: Number /* 1001 */ + +external var MirroredRepeatWrapping: Number /* 1002 */ + +external var NearestFilter: Number /* 1003 */ + +external var NearestMipmapNearestFilter: Number /* 1004 */ + +external var NearestMipMapNearestFilter: Number /* 1004 */ + +external var NearestMipmapLinearFilter: Number /* 1005 */ + +external var NearestMipMapLinearFilter: Number /* 1005 */ + +external var LinearFilter: Number /* 1006 */ + +external var LinearMipmapNearestFilter: Number /* 1007 */ + +external var LinearMipMapNearestFilter: Number /* 1007 */ + +external var LinearMipmapLinearFilter: Number /* 1008 */ + +external var LinearMipMapLinearFilter: Number /* 1008 */ + +external var UnsignedByteType: Number /* 1009 */ + +external var ByteType: Number /* 1010 */ + +external var ShortType: Number /* 1011 */ + +external var UnsignedShortType: Number /* 1012 */ + +external var IntType: Number /* 1013 */ + +external var UnsignedIntType: Number /* 1014 */ + +external var FloatType: Number /* 1015 */ + +external var HalfFloatType: Number /* 1016 */ + +external var UnsignedShort4444Type: Number /* 1017 */ + +external var UnsignedShort5551Type: Number /* 1018 */ + +external var UnsignedInt248Type: Number /* 1020 */ + +external var UnsignedInt5999Type: Number /* 35902 */ + +external var AlphaFormat: Number /* 1021 */ + +external var RGBFormat: Number /* 1022 */ + +external var RGBAFormat: Number /* 1023 */ + +external var LuminanceFormat: Number /* 1024 */ + +external var LuminanceAlphaFormat: Number /* 1025 */ + +external var DepthFormat: Number /* 1026 */ + +external var DepthStencilFormat: Number /* 1027 */ + +external var RedFormat: Number /* 1028 */ + +external var RedIntegerFormat: Number /* 1029 */ + +external var RGFormat: Number /* 1030 */ + +external var RGIntegerFormat: Number /* 1031 */ + +external var RGBIntegerFormat: Number /* 1032 */ + +external var RGBAIntegerFormat: Number /* 1033 */ + +external var RGB_S3TC_DXT1_Format: Number /* 33776 */ + +external var RGBA_S3TC_DXT1_Format: Number /* 33777 */ + +external var RGBA_S3TC_DXT3_Format: Number /* 33778 */ + +external var RGBA_S3TC_DXT5_Format: Number /* 33779 */ + +external var RGB_PVRTC_4BPPV1_Format: Number /* 35840 */ + +external var RGB_PVRTC_2BPPV1_Format: Number /* 35841 */ + +external var RGBA_PVRTC_4BPPV1_Format: Number /* 35842 */ + +external var RGBA_PVRTC_2BPPV1_Format: Number /* 35843 */ + +external var RGB_ETC1_Format: Number /* 36196 */ + +external var RGB_ETC2_Format: Number /* 37492 */ + +external var RGBA_ETC2_EAC_Format: Number /* 37496 */ + +external var RGBA_ASTC_4x4_Format: Number /* 37808 */ + +external var RGBA_ASTC_5x4_Format: Number /* 37809 */ + +external var RGBA_ASTC_5x5_Format: Number /* 37810 */ + +external var RGBA_ASTC_6x5_Format: Number /* 37811 */ + +external var RGBA_ASTC_6x6_Format: Number /* 37812 */ + +external var RGBA_ASTC_8x5_Format: Number /* 37813 */ + +external var RGBA_ASTC_8x6_Format: Number /* 37814 */ + +external var RGBA_ASTC_8x8_Format: Number /* 37815 */ + +external var RGBA_ASTC_10x5_Format: Number /* 37816 */ + +external var RGBA_ASTC_10x6_Format: Number /* 37817 */ + +external var RGBA_ASTC_10x8_Format: Number /* 37818 */ + +external var RGBA_ASTC_10x10_Format: Number /* 37819 */ + +external var RGBA_ASTC_12x10_Format: Number /* 37820 */ + +external var RGBA_ASTC_12x12_Format: Number /* 37821 */ + +external var RGBA_BPTC_Format: Number /* 36492 */ + +external var RGB_BPTC_SIGNED_Format: Any + +external var RGB_BPTC_UNSIGNED_Format: Any + +external var RED_RGTC1_Format: Number /* 36283 */ + +external var SIGNED_RED_RGTC1_Format: Number /* 36284 */ + +external var RED_GREEN_RGTC2_Format: Number /* 36285 */ + +external var SIGNED_RED_GREEN_RGTC2_Format: Number /* 36286 */ + +external var LoopOnce: Number /* 2200 */ + +external var LoopRepeat: Number /* 2201 */ + +external var LoopPingPong: Number /* 2202 */ + +external var InterpolateDiscrete: Number /* 2300 */ + +external var InterpolateLinear: Number /* 2301 */ + +external var InterpolateSmooth: Number /* 2302 */ + +external var ZeroCurvatureEnding: Number /* 2400 */ + +external var ZeroSlopeEnding: Number /* 2401 */ + +external var WrapAroundEnding: Number /* 2402 */ + +external var NormalAnimationBlendMode: Number /* 2500 */ + +external var AdditiveAnimationBlendMode: Number /* 2501 */ + +external var TrianglesDrawMode: Number /* 0 */ + +external var TriangleStripDrawMode: Number /* 1 */ + +external var TriangleFanDrawMode: Number /* 2 */ + +external var BasicDepthPacking: Number /* 3200 */ + +external var RGBADepthPacking: Number /* 3201 */ + +external var RGBDepthPacking: Number /* 3202 */ + +external var RGDepthPacking: Number /* 3203 */ + +external var TangentSpaceNormalMap: Number /* 0 */ + +external var ObjectSpaceNormalMap: Number /* 1 */ + +external var NoColorSpace: String /* "" */ + +external var SRGBColorSpace: String /* "srgb" */ + +external var LinearSRGBColorSpace: String /* "srgb-linear" */ + +external var DisplayP3ColorSpace: String /* "display-p3" */ + +external var LinearDisplayP3ColorSpace: Any + +external var LinearTransfer: String /* "linear" */ + +external var SRGBTransfer: String /* "srgb" */ + +external var Rec709Primaries: String /* "rec709" */ + +external var P3Primaries: String /* "p3" */ + +external var ZeroStencilOp: Number /* 0 */ + +external var KeepStencilOp: Number /* 7680 */ + +external var ReplaceStencilOp: Number /* 7681 */ + +external var IncrementStencilOp: Number /* 7682 */ + +external var DecrementStencilOp: Number /* 7283 */ + +external var IncrementWrapStencilOp: Number /* 34055 */ + +external var DecrementWrapStencilOp: Number /* 34056 */ + +external var InvertStencilOp: Number /* 5386 */ + +external var NeverStencilFunc: Number /* 512 */ + +external var LessStencilFunc: Number /* 513 */ + +external var EqualStencilFunc: Number /* 514 */ + +external var LessEqualStencilFunc: Number /* 515 */ + +external var GreaterStencilFunc: Number /* 516 */ + +external var NotEqualStencilFunc: Number /* 517 */ + +external var GreaterEqualStencilFunc: Number /* 518 */ + +external var AlwaysStencilFunc: Number /* 519 */ + +external var NeverCompare: Number /* 512 */ + +external var LessCompare: Number /* 513 */ + +external var EqualCompare: Number /* 514 */ + +external var LessEqualCompare: Number /* 515 */ + +external var GreaterCompare: Number /* 516 */ + +external var NotEqualCompare: Number /* 517 */ + +external var GreaterEqualCompare: Number /* 518 */ + +external var AlwaysCompare: Number /* 519 */ + +external var StaticDrawUsage: Number /* 35044 */ + +external var DynamicDrawUsage: Number /* 35048 */ + +external var StreamDrawUsage: Number /* 35040 */ + +external var StaticReadUsage: Number /* 35045 */ + +external var DynamicReadUsage: Number /* 35049 */ + +external var StreamReadUsage: Number /* 35041 */ + +external var StaticCopyUsage: Number /* 35046 */ + +external var DynamicCopyUsage: Number /* 35050 */ + +external var StreamCopyUsage: Number /* 35042 */ + +external var GLSL1: String /* "100" */ + +external var GLSL3: String /* "300 es" */ + +external var WebGLCoordinateSystem: Number /* 2000 */ + +external var WebGPUCoordinateSystem: Number /* 2001 */ \ No newline at end of file diff --git a/src/jsMain/kotlin/three_ext/OrbitControls.kt b/ext/three/src/jsMain/kotlin/three/examples/jsm/controls/OrbitControls.kt similarity index 88% rename from src/jsMain/kotlin/three_ext/OrbitControls.kt rename to ext/three/src/jsMain/kotlin/three/examples/jsm/controls/OrbitControls.kt index 39dc97b76c..a9e88b7759 100644 --- a/src/jsMain/kotlin/three_ext/OrbitControls.kt +++ b/ext/three/src/jsMain/kotlin/three/examples/jsm/controls/OrbitControls.kt @@ -1,11 +1,10 @@ @file:JsModule("three/examples/jsm/controls/OrbitControls") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three_ext +package three.examples.jsm.controls -import three.js.EventDispatcher -import three.js.Object3D -import three.js.Vector3 +import three.EventDispatcher +import three.Object3D +import three.Vector3 import web.html.HTMLCanvasElement open external class OrbitControls(theObject: Any, domElement: Any) : EventDispatcher { diff --git a/src/jsMain/kotlin/three_ext/TransformControls.kt b/ext/three/src/jsMain/kotlin/three/examples/jsm/controls/TransformControls.kt similarity index 89% rename from src/jsMain/kotlin/three_ext/TransformControls.kt rename to ext/three/src/jsMain/kotlin/three/examples/jsm/controls/TransformControls.kt index ba1d1d4ad8..b9d399f6b9 100644 --- a/src/jsMain/kotlin/three_ext/TransformControls.kt +++ b/ext/three/src/jsMain/kotlin/three/examples/jsm/controls/TransformControls.kt @@ -1,11 +1,10 @@ @file:JsModule("three/examples/jsm/controls/TransformControls") @file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three_ext +package three.examples.jsm.controls import org.w3c.dom.events.MouseEvent -import three.js.Camera -import three.js.Object3D +import three.Camera +import three.Object3D import web.html.HTMLElement open external class TransformControls(camera: Camera, domElement: HTMLElement) : Object3D { diff --git a/ext/three/src/jsMain/kotlin/three/examples/jsm/utils/BufferGeometryUtils.kt b/ext/three/src/jsMain/kotlin/three/examples/jsm/utils/BufferGeometryUtils.kt new file mode 100644 index 0000000000..bc335d6815 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/examples/jsm/utils/BufferGeometryUtils.kt @@ -0,0 +1,11 @@ +@file:JsModule("three/examples/jsm/utils/BufferGeometryUtils") +@file:JsNonModule +package three.examples.jsm.utils + +import three.BufferGeometry +import three.NormalOrGLBufferAttributes + +external fun mergeGeometries( + geometries: Array>, + useGroups: Boolean = definedExternally +): BufferGeometry \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/ext.kt b/ext/three/src/jsMain/kotlin/three/ext.kt new file mode 100644 index 0000000000..569fac5319 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/ext.kt @@ -0,0 +1,30 @@ +package three + +import js.objects.Record +import web.events.EventTarget +import web.time.DOMHighResTimeStamp + +typealias Bone__0 = Bone + +typealias NormalBufferAttributes = Record +typealias NormalOrGLBufferAttributes = Record + +typealias EventDispatcher = EventTarget + +typealias Loader__1 = Loader +typealias Loader__0 = Loader + +typealias RenderTarget__0 = RenderTarget + +typealias Sprite__0 = Sprite + +typealias Uniform__0 = Uniform + +typealias XRHandJoints = Record + +typealias XRFrameRequestCallback = (time: DOMHighResTimeStamp, frame: XRFrame) -> Unit +typealias XRAnchorSet = Set +typealias XRPlaneSet = Set +typealias XRMeshSet = Set + +typealias GLenum = Number diff --git a/ext/three/src/jsMain/kotlin/three/index.module_three.kt b/ext/three/src/jsMain/kotlin/three/index.module_three.kt new file mode 100644 index 0000000000..2be1be11bb --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/index.module_three.kt @@ -0,0 +1,1145 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.khronos.webgl.* +import org.w3c.dom.DOMPointInit +import org.w3c.dom.DOMPointReadOnly +import org.w3c.dom.Element +import org.w3c.dom.EventInit +import org.w3c.dom.events.Event +import org.w3c.dom.events.EventTarget +import web.gamepad.Gamepad +import web.gl.GLint +import web.gl.GLsizei +import web.gl.WebGL2RenderingContext +import web.time.DOMHighResTimeStamp +import kotlin.js.Promise + +external class XRSystemDeviceChangeEvent : Event { + override var type: String /* "devicechange" */ +} + +external interface XRSystemDeviceChangeEventHandler { + @nativeInvoke + operator fun invoke(event: XRSystemDeviceChangeEvent): Any +} + +external interface XRSystemEventMap { + var sessiongranted: XRSystemSessionGrantedEvent + var devicechange: XRSystemDeviceChangeEvent +} + +open external class XRSystem : EventTarget { +// open var onsessiongranted: XRSystemSessionGrantedEventHandler? +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun requestSession(mode: String /* "inline" | "immersive-vr" | "immersive-ar" */, options: XRSessionInit = definedExternally): Promise +// open fun isSessionSupported(mode: String /* "inline" | "immersive-vr" | "immersive-ar" */): Promise +// open var ondevicechange: XRSystemDeviceChangeEventHandler? +// open fun addEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any) +// open fun addEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun removeEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any) +// open fun removeEventListener(type: K, listener: (self: XRSystem, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +} + +open external class XRViewport { + open val x: Number + open val y: Number + open val width: Number + open val height: Number +} + +open external class XRSpace : EventTarget { +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +} + +external interface XRRenderStateInit { + var layers: Array? + get() = definedExternally + set(value) = definedExternally + var baseLayer: XRWebGLLayer? + get() = definedExternally + set(value) = definedExternally + var depthFar: Number? + get() = definedExternally + set(value) = definedExternally + var depthNear: Number? + get() = definedExternally + set(value) = definedExternally + var inlineVerticalFieldOfView: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRRenderState { + open val layers: Array? + open val baseLayer: XRWebGLLayer? + open val depthFar: Number + open val depthNear: Number + open val inlineVerticalFieldOfView: Number? +} + +external interface XRReferenceSpaceEventInit : EventInit { + var referenceSpace: XRReferenceSpace? + get() = definedExternally + set(value) = definedExternally + var transform: XRRigidTransform? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRReferenceSpaceEvent(type: String /* "reset" */, eventInitDict: XRReferenceSpaceEventInit = definedExternally) : Event { +// open val bubbles: Boolean +// open var cancelBubble: Boolean +// open val cancelable: Boolean +// open val composed: Boolean +// open val currentTarget: EventTarget? +// open val defaultPrevented: Boolean +// open val eventPhase: Number +// open val isTrusted: Boolean +// open var returnValue: Boolean +// open val srcElement: EventTarget? +// open val target: EventTarget? +// open val timeStamp: Number +// open val type: String /* "reset" */ +// open fun composedPath(): Array +// open fun initEvent(type: String, bubbles: Boolean = definedExternally, cancelable: Boolean = definedExternally) +// open fun preventDefault() +// open fun stopImmediatePropagation() +// open fun stopPropagation() +// open val AT_TARGET: Number +// open val BUBBLING_PHASE: Number +// open val CAPTURING_PHASE: Number +// open val NONE: Number +// open val referenceSpace: XRReferenceSpace +// open val transform: XRRigidTransform? +} + +external interface XRReferenceSpaceEventHandler { + @nativeInvoke + operator fun invoke(event: XRReferenceSpaceEvent): Any +} + +external interface XRReferenceSpaceEventMap { + var reset: XRReferenceSpaceEvent +} + +open external class XRReferenceSpace { +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun getOffsetReferenceSpace(originOffset: XRRigidTransform): XRReferenceSpace +// open var onreset: XRReferenceSpaceEventHandler +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any) +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +} + +open external class XRBoundedReferenceSpace { +// open fun getOffsetReferenceSpace(originOffset: XRRigidTransform): XRReferenceSpace +// open var onreset: XRReferenceSpaceEventHandler +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any) +// open fun addEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any) +// open fun removeEventListener(type: K, listener: (self: XRReferenceSpace, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open val boundsGeometry: Array +} + +open external class XRInputSource { + open val handedness: String /* "none" | "left" | "right" */ + open val targetRayMode: String /* "gaze" | "tracked-pointer" | "screen" | "transient-pointer" */ + open val targetRaySpace: XRSpace + open val gripSpace: XRSpace? + open val gamepad: Gamepad? + open val profiles: Array + open val hand: XRHand? +} + +open external class XRInputSourceArray { +// @nativeGetter +// open operator fun get(n: Number): XRInputSource? +// @nativeSetter +// open operator fun set(n: Number, value: XRInputSource) +// open var length: Number +// open fun entries(): IterableIterator */> +// open fun keys(): IterableIterator +// open fun values(): IterableIterator +// open fun forEach(callbackfn: (value: XRInputSource, index: Number, array: Array) -> Unit, thisArg: Any = definedExternally) +} + +open external class XRPose { + open val transform: XRRigidTransform + open val linearVelocity: DOMPointReadOnly? + open val angularVelocity: DOMPointReadOnly? + open val emulatedPosition: Boolean +} + +open external class XRFrame { + open fun getDepthInformation(view: XRView): XRCPUDepthInformation? + open var getJointPose: ((joint: XRJointSpace, baseSpace: XRSpace) -> XRJointPose?)? + open val detectedMeshes: XRMeshSet? + open val detectedPlanes: XRPlaneSet? + open fun getHitTestResults(hitTestSource: XRHitTestSource): Array + open fun getHitTestResultsForTransientInput(hitTestSource: XRTransientInputHitTestSource): Array + open var trackedAnchors: XRAnchorSet? + open var createAnchor: ((pose: XRRigidTransform, space: XRSpace) -> Promise?)? + open val session: XRSession + open val predictedDisplayTime: DOMHighResTimeStamp + open fun getPose(space: XRSpace, baseSpace: XRSpace): XRPose? + open fun getViewerPose(referenceSpace: XRReferenceSpace): XRViewerPose? +} + +external interface XRInputSourceEventInit : EventInit { + var frame: XRFrame? + get() = definedExternally + set(value) = definedExternally + var inputSource: XRInputSource? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRInputSourceEvent(type: String /* "select" | "selectend" | "selectstart" | "squeeze" | "squeezeend" | "squeezestart" */, eventInitDict: XRInputSourceEventInit = definedExternally) : Event { + override val type: String /* "select" | "selectend" | "selectstart" | "squeeze" | "squeezeend" | "squeezestart" */ + open val frame: XRFrame + open val inputSource: XRInputSource +} + +external interface XRInputSourceEventHandler { + @nativeInvoke + operator fun invoke(evt: XRInputSourceEvent): Any +} + +external interface XRSessionEventInit : EventInit { + var session: XRSession +} + +open external class XRSessionEvent(type: String /* "end" | "visibilitychange" | "frameratechange" */, eventInitDict: XRSessionEventInit = definedExternally) : Event { + open val session: XRSession +} + +external interface XRSessionEventHandler { + @nativeInvoke + operator fun invoke(evt: XRSessionEvent): Any +} + +external interface XRSessionInit { + var depthSensing: XRDepthStateInit? + get() = definedExternally + set(value) = definedExternally + var domOverlay: XRDOMOverlayInit? + get() = definedExternally + set(value) = definedExternally + var optionalFeatures: Array? + get() = definedExternally + set(value) = definedExternally + var requiredFeatures: Array? + get() = definedExternally + set(value) = definedExternally +} + +external interface XRSessionEventMap { + var inputsourceschange: XRInputSourcesChangeEvent + var end: XRSessionEvent + var visibilitychange: XRSessionEvent + var frameratechange: XRSessionEvent + var select: XRInputSourceEvent + var selectstart: XRInputSourceEvent + var selectend: XRInputSourceEvent + var squeeze: XRInputSourceEvent + var squeezestart: XRInputSourceEvent + var squeezeend: XRInputSourceEvent +} + +open external class XRSession : EventTarget { +// open val depthUsage: String? /* "cpu-optimized" | "gpu-optimized" */ +// open val depthDataFormat: String? /* "luminance-alpha" | "float32" | "unsigned-short" */ +// open val domOverlayState: XRDOMOverlayState? +// open val initiateRoomCapture: (() -> Promise)? +// open var requestHitTestSource: ((options: XRHitTestOptionsInit) -> Promise?)? +// open var requestHitTestSourceForTransientInput: ((options: XRTransientInputHitTestOptionsInit) -> Promise?)? +// open var requestHitTest: ((ray: XRRay, referenceSpace: XRReferenceSpace) -> Promise>?)? +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open val inputSources: XRInputSourceArray +// open val renderState: XRRenderState +// open val environmentBlendMode: String /* "opaque" | "additive" | "alpha-blend" */ +// open val visibilityState: String /* "visible" | "visible-blurred" | "hidden" */ +// open val frameRate: Number? +// open val supportedFrameRates: Float32Array? +// open val enabledFeatures: Array? +// open val isSystemKeyboardSupported: Boolean +// open fun cancelAnimationFrame(id: Number) +// open fun end(): Promise +// open fun requestAnimationFrame(callback: XRFrameRequestCallback): Number +// open fun requestReferenceSpace(type: String /* "viewer" | "local" | "local-floor" | "bounded-floor" | "unbounded" */): Promise +// open fun updateRenderState(renderStateInit: XRRenderStateInit = definedExternally): Promise +// open fun updateTargetFrameRate(rate: Number): Promise +// open var onend: XRSessionEventHandler +// open var oninputsourceschange: XRInputSourcesChangeEventHandler +// open var onselect: XRInputSourceEventHandler +// open var onselectstart: XRInputSourceEventHandler +// open var onselectend: XRInputSourceEventHandler +// open var onsqueeze: XRInputSourceEventHandler +// open var onsqueezestart: XRInputSourceEventHandler +// open var onsqueezeend: XRInputSourceEventHandler +// open var onvisibilitychange: XRSessionEventHandler +// open var onframeratechange: XRSessionEventHandler +// open fun addEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any) +// open fun addEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any, options: Boolean = definedExternally) +// open fun removeEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any) +// open fun removeEventListener(type: K, listener: (self: XRSession, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +} + +open external class XRViewerPose { + open val transform: XRRigidTransform + open val linearVelocity: DOMPointReadOnly? + open val angularVelocity: DOMPointReadOnly? + open val emulatedPosition: Boolean + open val views: Array +} + +open external class XRRigidTransform(position: DOMPointInit = definedExternally, direction: DOMPointInit = definedExternally) { + open val position: DOMPointReadOnly + open val orientation: DOMPointReadOnly + open val matrix: Float32Array + open val inverse: XRRigidTransform +} + +open external class XRView { + open val eye: String /* "none" | "left" | "right" */ + open val projectionMatrix: Float32Array + open val transform: XRRigidTransform + open val recommendedViewportScale: Number? + open fun requestViewportScale(scale: Number) +} + +external class XRInputSourcesChangeEvent : XRSessionEvent { + val removed: Array + val added: Array +} + +//external interface XRInputSourcesChangeEventHandler { +// @nativeInvoke +// operator fun invoke(evt: XRInputSourcesChangeEvent): Any +//} + +open external class XRAnchor { + open var anchorSpace: XRSpace + open fun delete() +} + +open external class XRRay { + open val origin: DOMPointReadOnly + open val direction: DOMPointReadOnly + open val matrix: Float32Array + constructor(transformOrOrigin: XRRigidTransform = definedExternally, direction: DOMPointInit = definedExternally) + constructor() + constructor(transformOrOrigin: XRRigidTransform = definedExternally) + constructor(transformOrOrigin: DOMPointInit = definedExternally, direction: DOMPointInit = definedExternally) + constructor(transformOrOrigin: DOMPointInit = definedExternally) +} + +open external class XRTransientInputHitTestResult { + open val inputSource: XRInputSource + open val results: Array + open var prototype: XRTransientInputHitTestResult +} + +open external class XRHitTestResult { + open fun getPose(baseSpace: XRSpace): XRPose? + open var createAnchor: ((pose: XRRigidTransform) -> Promise?)? +} + +open external class XRHitTestSource { + open fun cancel() +} + +open external class XRTransientInputHitTestSource { + open fun cancel() +} + +external interface XRHitTestOptionsInit { + var space: XRSpace + var entityTypes: Array? + get() = definedExternally + set(value) = definedExternally + var offsetRay: XRRay? + get() = definedExternally + set(value) = definedExternally +} + +external interface XRTransientInputHitTestOptionsInit { + var profile: String + var entityTypes: Array? + get() = definedExternally + set(value) = definedExternally + var offsetRay: XRRay? + get() = definedExternally + set(value) = definedExternally +} + +external interface XRHitResult { + var hitMatrix: Float32Array +} + +open external class XRPlane { + open var orientation: String /* "horizontal" | "vertical" */ + open var planeSpace: XRSpace + open var polygon: Array + open var lastChangedTime: DOMHighResTimeStamp + open var semanticLabel: String? +} + +open external class XRMesh { + open var meshSpace: XRSpace + open var vertices: Float32Array + open var indices: Uint32Array + open var lastChangedTime: DOMHighResTimeStamp + open var semanticLabel: String? +} + +//open external class XRJointSpace { +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// open val jointName: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */ +//} + +open external class XRJointPose { + open val transform: XRRigidTransform + open val linearVelocity: DOMPointReadOnly? + open val angularVelocity: DOMPointReadOnly? + open val emulatedPosition: Boolean + open val radius: Number? +} + +open external class XRHand /*: Map */ { +// open fun clear() +// open fun delete(key: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */): Boolean +// open fun forEach(callbackfn: (value: XRJointSpace, key: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */, map: Map) -> Unit, thisArg: Any = definedExternally) +// open fun get(key: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */): XRJointSpace? +// open fun has(key: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */): Boolean +// open fun set(key: String /* "wrist" | "thumb-metacarpal" | "thumb-phalanx-proximal" | "thumb-phalanx-distal" | "thumb-tip" | "index-finger-metacarpal" | "index-finger-phalanx-proximal" | "index-finger-phalanx-intermediate" | "index-finger-phalanx-distal" | "index-finger-tip" | "middle-finger-metacarpal" | "middle-finger-phalanx-proximal" | "middle-finger-phalanx-intermediate" | "middle-finger-phalanx-distal" | "middle-finger-tip" | "ring-finger-metacarpal" | "ring-finger-phalanx-proximal" | "ring-finger-phalanx-intermediate" | "ring-finger-phalanx-distal" | "ring-finger-tip" | "pinky-finger-metacarpal" | "pinky-finger-phalanx-proximal" | "pinky-finger-phalanx-intermediate" | "pinky-finger-phalanx-distal" | "pinky-finger-tip" */, value: XRJointSpace): XRHand /* this */ +// open val size: Number +// open val WRIST: Number +// open val THUMB_METACARPAL: Number +// open val THUMB_PHALANX_PROXIMAL: Number +// open val THUMB_PHALANX_DISTAL: Number +// open val THUMB_PHALANX_TIP: Number +// open val INDEX_METACARPAL: Number +// open val INDEX_PHALANX_PROXIMAL: Number +// open val INDEX_PHALANX_INTERMEDIATE: Number +// open val INDEX_PHALANX_DISTAL: Number +// open val INDEX_PHALANX_TIP: Number +// open val MIDDLE_METACARPAL: Number +// open val MIDDLE_PHALANX_PROXIMAL: Number +// open val MIDDLE_PHALANX_INTERMEDIATE: Number +// open val MIDDLE_PHALANX_DISTAL: Number +// open val MIDDLE_PHALANX_TIP: Number +// open val RING_METACARPAL: Number +// open val RING_PHALANX_PROXIMAL: Number +// open val RING_PHALANX_INTERMEDIATE: Number +// open val RING_PHALANX_DISTAL: Number +// open val RING_PHALANX_TIP: Number +// open val LITTLE_METACARPAL: Number +// open val LITTLE_PHALANX_PROXIMAL: Number +// open val LITTLE_PHALANX_INTERMEDIATE: Number +// open val LITTLE_PHALANX_DISTAL: Number +// open val LITTLE_PHALANX_TIP: Number +} + +open external class XRLayer : EventTarget { +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +} + +external interface XRWebGLLayerInit { + var antialias: Boolean? + get() = definedExternally + set(value) = definedExternally + var depth: Boolean? + get() = definedExternally + set(value) = definedExternally + var stencil: Boolean? + get() = definedExternally + set(value) = definedExternally + var alpha: Boolean? + get() = definedExternally + set(value) = definedExternally + var ignoreDepthValues: Boolean? + get() = definedExternally + set(value) = definedExternally + var framebufferScaleFactor: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRWebGLLayer : XRLayer { + constructor(session: XRSession, context: WebGLRenderingContext, layerInit: XRWebGLLayerInit = definedExternally) + constructor(session: XRSession, context: WebGLRenderingContext) + constructor(session: XRSession, context: WebGL2RenderingContext, layerInit: XRWebGLLayerInit = definedExternally) + constructor(session: XRSession, context: WebGL2RenderingContext) + open val antialias: Boolean + open val ignoreDepthValues: Boolean + open var fixedFoveation: Number? + open val framebuffer: WebGLFramebuffer + open val framebufferWidth: Number + open val framebufferHeight: Number + open fun getViewport(view: XRView): XRViewport? + + companion object { + fun getNativeFramebufferScaleFactor(session: XRSession): Number + } +} + +external class XRLayerEvent : Event { + override val type: String /* "redraw" */ + val layer: XRLayer +} + +external interface XRCompositionLayerEventMap { + var redraw: XRLayerEvent +} + +open external class XRCompositionLayer { +// open fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener?) +// open fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, callback: EventListener?) +// open fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +} + +external interface XRProjectionLayerInit { + var scaleFactor: Number? + get() = definedExternally + set(value) = definedExternally + var textureType: String? /* "texture" | "texture-array" */ + get() = definedExternally + set(value) = definedExternally + var colorFormat: GLenum? + get() = definedExternally + set(value) = definedExternally + var depthFormat: GLenum? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRProjectionLayer { +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open val textureWidth: Number +// open val textureHeight: Number +// open val textureArrayLength: Number +// open val ignoreDepthValues: Number +// open var fixedFoveation: Number +} + +external interface XRLayerInit { + var mipLevels: Number? + get() = definedExternally + set(value) = definedExternally + var viewPixelWidth: Number + var viewPixelHeight: Number + var isStatic: Boolean? + get() = definedExternally + set(value) = definedExternally + var colorFormat: GLenum? + get() = definedExternally + set(value) = definedExternally + var depthFormat: GLenum? + get() = definedExternally + set(value) = definedExternally + var space: XRSpace + var layout: String? /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ + get() = definedExternally + set(value) = definedExternally +} + +external interface XRCylinderLayerInit : XRLayerInit { + var textureType: String? /* "texture" | "texture-array" */ + get() = definedExternally + set(value) = definedExternally + var transform: XRRigidTransform + var radius: Number? + get() = definedExternally + set(value) = definedExternally + var centralAngle: Number? + get() = definedExternally + set(value) = definedExternally + var aspectRatio: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRCylinderLayer { +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open var transform: XRRigidTransform +// open var radius: Number +// open var centralAngle: Number +// open var aspectRatio: Number +} + +external interface XRQuadLayerInit : XRLayerInit { + var textureType: String? /* "texture" | "texture-array" */ + get() = definedExternally + set(value) = definedExternally + var transform: XRRigidTransform? + get() = definedExternally + set(value) = definedExternally + var width: Number? + get() = definedExternally + set(value) = definedExternally + var height: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRQuadLayer { +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open var transform: XRRigidTransform +// open var width: Number +// open var height: Number +} + +external interface XREquirectLayerInit : XRLayerInit { + var textureType: String? /* "texture" | "texture-array" */ + get() = definedExternally + set(value) = definedExternally + var transform: XRRigidTransform? + get() = definedExternally + set(value) = definedExternally + var radius: Number? + get() = definedExternally + set(value) = definedExternally + var centralHorizontalAngle: Number? + get() = definedExternally + set(value) = definedExternally + var upperVerticalAngle: Number? + get() = definedExternally + set(value) = definedExternally + var lowerVerticalAngle: Number? + get() = definedExternally + set(value) = definedExternally +} + +open external class XREquirectLayer { +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open var transform: XRRigidTransform +// open var radius: Number +// open var centralHorizontalAngle: Number +// open var upperVerticalAngle: Number +// open var lowerVerticalAngle: Number +} + +external interface XRCubeLayerInit : XRLayerInit { + var orientation: DOMPointReadOnly? + get() = definedExternally + set(value) = definedExternally +} + +open external class XRCubeLayer { +// open val layout: String /* "default" | "mono" | "stereo" | "stereo-left-right" | "stereo-top-bottom" */ +// open var blendTextureSourceAlpha: Boolean +// open var chromaticAberrationCorrection: Boolean? +// open val mipLevels: Number +// open var quality: String /* "default" | "text-optimized" | "graphics-optimized" */ +// open val needsRedraw: Boolean +// open fun destroy() +// open var space: XRSpace +// open var onredraw: (evt: XRLayerEvent) -> Any +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: Boolean = definedExternally) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any) +// open fun addEventListener(type: K, callback: (evt: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun addEventListener(type: String, listener: EventListener) +// open fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// open fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// open fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// open fun removeEventListener(type: K, callback: (evt: Any) -> Any) +// open fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// open fun removeEventListener(type: String, listener: EventListener) +// open fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// open fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// open fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open fun addEventListener(type: String, listener: EventListenerObject?) +// override fun addEventListener(type: String, listener: EventListenerObject) +// open fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// open fun dispatchEvent(event: Event): Boolean +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// open fun removeEventListener(type: String, callback: EventListenerObject?) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// open fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// open var orientation: DOMPointReadOnly +} + +open external class XRSubImage { + open val viewport: XRViewport +} + +open external class XRWebGLSubImage { + open val viewport: XRViewport + open val colorTexture: WebGLTexture + open val depthStencilTexture: WebGLTexture + open val imageIndex: Number + open val textureWidth: Number + open val textureHeight: Number +} + +open external class XRWebGLBinding(session: XRSession, context: WebGLRenderingContext) { + open fun getDepthInformation(view: XRView): XRWebGLDepthInformation? + open val nativeProjectionScaleFactor: Number + open fun createProjectionLayer(init: XRProjectionLayerInit = definedExternally): XRProjectionLayer + open fun createQuadLayer(init: XRQuadLayerInit = definedExternally): XRQuadLayer + open fun createCylinderLayer(init: XRCylinderLayerInit = definedExternally): XRCylinderLayer + open fun createEquirectLayer(init: XREquirectLayerInit = definedExternally): XREquirectLayer + open fun createCubeLayer(init: XRCubeLayerInit = definedExternally): XRCubeLayer + open fun getSubImage(layer: XRCompositionLayer, frame: XRFrame, eye: String /* "none" | "left" | "right" */ = definedExternally): XRWebGLSubImage + open fun getViewSubImage(layer: XRProjectionLayer, view: XRView): XRWebGLSubImage +} + +open external class OVR_multiview2 + +external interface XRSessionGrant { + var mode: String /* "inline" | "immersive-vr" | "immersive-ar" */ +} + +external class XRSystemSessionGrantedEvent : Event { + override var type: String /* "sessiongranted" */ + var session: XRSessionGrant +} + +external interface XRSystemSessionGrantedEventHandler { + @nativeInvoke + operator fun invoke(event: XRSystemSessionGrantedEvent): Any +} + +open external class OCULUS_multiview { + open fun framebufferTextureMultisampleMultiviewOVR(target: GLenum, attachment: GLenum, texture: WebGLTexture?, level: GLint, samples: GLsizei, baseViewIndex: GLint, numViews: GLsizei) +} + +external interface XRDOMOverlayInit { + var root: Element +} + +external interface XRDOMOverlayState { + var type: String /* "screen" | "floating" | "head-locked" */ +} + +external interface XRDepthStateInit { + var usagePreference: Array + var dataFormatPreference: Array +} + +external interface XRDepthInformation { + val width: Number + val height: Number + val normDepthBufferFromNormView: XRRigidTransform + val rawValueToMeters: Number +} + +external interface XRCPUDepthInformation : XRDepthInformation { + val data: ArrayBuffer + fun getDepthInMeters(x: Number, y: Number): Number +} + +external interface XRWebGLDepthInformation : XRDepthInformation { + val texture: WebGLTexture + val textureType: String /* "texture" | "texture-array" */ + val imageIndex: Number? + get() = definedExternally +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/lib.dom.module_three.kt b/ext/three/src/jsMain/kotlin/three/lib.dom.module_three.kt new file mode 100644 index 0000000000..7bbab4b124 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/lib.dom.module_three.kt @@ -0,0 +1,14616 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +//external interface AddEventListenerOptions : EventListenerOptions { +// var once: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var passive: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AesCbcParams : Algorithm { +// var iv: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AesCtrParams : Algorithm { +// var counter: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var length: Number +//} +// +//external interface AesDerivedKeyParams : Algorithm { +// var length: Number +//} +// +//external interface AesGcmParams : Algorithm { +// var additionalData: dynamic /* Int8Array? | Int16Array? | Int32Array? | Uint8Array? | Uint16Array? | Uint32Array? | Uint8ClampedArray? | Float32Array? | Float64Array? | DataView? | ArrayBuffer? */ +// get() = definedExternally +// set(value) = definedExternally +// var iv: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var tagLength: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AesKeyAlgorithm : KeyAlgorithm { +// var length: Number +//} +// +//external interface AesKeyGenParams : Algorithm { +// var length: Number +//} +// +//external interface Algorithm { +// var name: String +//} +// +//external interface AnalyserOptions : AudioNodeOptions { +// var fftSize: Number? +// get() = definedExternally +// set(value) = definedExternally +// var maxDecibels: Number? +// get() = definedExternally +// set(value) = definedExternally +// var minDecibels: Number? +// get() = definedExternally +// set(value) = definedExternally +// var smoothingTimeConstant: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AnimationEventInit : EventInit { +// var animationName: String? +// get() = definedExternally +// set(value) = definedExternally +// var elapsedTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var pseudoElement: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AnimationPlaybackEventInit : EventInit { +// var currentTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var timelineTime: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AssignedNodesOptions { +// var flatten: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AudioBufferOptions { +// var length: Number +// var numberOfChannels: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: Number +//} +// +//external interface AudioBufferSourceOptions { +// var buffer: AudioBuffer? +// get() = definedExternally +// set(value) = definedExternally +// var detune: Number? +// get() = definedExternally +// set(value) = definedExternally +// var loop: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var loopEnd: Number? +// get() = definedExternally +// set(value) = definedExternally +// var loopStart: Number? +// get() = definedExternally +// set(value) = definedExternally +// var playbackRate: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AudioContextOptions { +// var latencyHint: dynamic /* "balanced" | "interactive" | "playback" | Number? */ +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AudioNodeOptions { +// var channelCount: Number? +// get() = definedExternally +// set(value) = definedExternally +// var channelCountMode: String? /* "clamped-max" | "explicit" | "max" */ +// get() = definedExternally +// set(value) = definedExternally +// var channelInterpretation: String? /* "discrete" | "speakers" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AudioProcessingEventInit : EventInit { +// var inputBuffer: AudioBuffer +// var outputBuffer: AudioBuffer +// var playbackTime: Number +//} +// +//external interface AudioTimestamp { +// var contextTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var performanceTime: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AuthenticationExtensionsClientInputs { +// var appid: String? +// get() = definedExternally +// set(value) = definedExternally +// var authnSel: AuthenticatorSelectionList? +// get() = definedExternally +// set(value) = definedExternally +// var exts: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var loc: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var txAuthGeneric: txAuthGenericArg? +// get() = definedExternally +// set(value) = definedExternally +// var txAuthSimple: String? +// get() = definedExternally +// set(value) = definedExternally +// var uvi: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var uvm: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AuthenticatorSelectionCriteria { +// var authenticatorAttachment: String? /* "cross-platform" | "platform" */ +// get() = definedExternally +// set(value) = definedExternally +// var requireResidentKey: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var userVerification: String? /* "discouraged" | "preferred" | "required" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface BiquadFilterOptions : AudioNodeOptions { +// var Q: Number? +// get() = definedExternally +// set(value) = definedExternally +// var detune: Number? +// get() = definedExternally +// set(value) = definedExternally +// var frequency: Number? +// get() = definedExternally +// set(value) = definedExternally +// var gain: Number? +// get() = definedExternally +// set(value) = definedExternally +// var type: String? /* "allpass" | "bandpass" | "highpass" | "highshelf" | "lowpass" | "lowshelf" | "notch" | "peaking" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface BlobPropertyBag { +// var endings: String? /* "native" | "transparent" */ +// get() = definedExternally +// set(value) = definedExternally +// var type: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CacheQueryOptions { +// var ignoreMethod: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var ignoreSearch: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var ignoreVary: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CanvasRenderingContext2DSettings { +// var alpha: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var desynchronized: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ChannelMergerOptions : AudioNodeOptions { +// var numberOfInputs: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ChannelSplitterOptions : AudioNodeOptions { +// var numberOfOutputs: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ClipboardEventInit : EventInit { +// var clipboardData: DataTransfer? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CloseEventInit : EventInit { +// var code: Number? +// get() = definedExternally +// set(value) = definedExternally +// var reason: String? +// get() = definedExternally +// set(value) = definedExternally +// var wasClean: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CompositionEventInit : UIEventInit { +// var data: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ComputedEffectTiming : EffectTiming { +// var activeDuration: Number? +// get() = definedExternally +// set(value) = definedExternally +// var currentIteration: Number? +// get() = definedExternally +// set(value) = definedExternally +// var endTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var localTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var progress: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConfirmSiteSpecificExceptionsInformation : ExceptionInformation { +// var arrayOfDomainStrings: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstantSourceOptions { +// var offset: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstrainBooleanParameters { +// var exact: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var ideal: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstrainDOMStringParameters { +// var exact: dynamic /* String? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var ideal: dynamic /* String? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstrainDoubleRange : DoubleRange { +// var exact: Number? +// get() = definedExternally +// set(value) = definedExternally +// var ideal: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstrainULongRange : ULongRange { +// var exact: Number? +// get() = definedExternally +// set(value) = definedExternally +// var ideal: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConvolverOptions : AudioNodeOptions { +// var buffer: AudioBuffer? +// get() = definedExternally +// set(value) = definedExternally +// var disableNormalization: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CredentialCreationOptions { +// var publicKey: PublicKeyCredentialCreationOptions? +// get() = definedExternally +// set(value) = definedExternally +// var signal: AbortSignal? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CredentialRequestOptions { +// var mediation: String? /* "optional" | "required" | "silent" */ +// get() = definedExternally +// set(value) = definedExternally +// var publicKey: PublicKeyCredentialRequestOptions? +// get() = definedExternally +// set(value) = definedExternally +// var signal: AbortSignal? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface CustomEventInit : EventInit { +// var detail: T? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DOMMatrix2DInit { +// var a: Number? +// get() = definedExternally +// set(value) = definedExternally +// var b: Number? +// get() = definedExternally +// set(value) = definedExternally +// var c: Number? +// get() = definedExternally +// set(value) = definedExternally +// var d: Number? +// get() = definedExternally +// set(value) = definedExternally +// var e: Number? +// get() = definedExternally +// set(value) = definedExternally +// var f: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m11: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m12: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m21: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m22: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m41: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m42: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DOMMatrixInit : DOMMatrix2DInit { +// var is2D: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var m13: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m14: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m23: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m24: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m31: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m32: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m33: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m34: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m43: Number? +// get() = definedExternally +// set(value) = definedExternally +// var m44: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DOMPointInit { +// var w: Number? +// get() = definedExternally +// set(value) = definedExternally +// var x: Number? +// get() = definedExternally +// set(value) = definedExternally +// var y: Number? +// get() = definedExternally +// set(value) = definedExternally +// var z: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DOMRectInit { +// var height: Number? +// get() = definedExternally +// set(value) = definedExternally +// var width: Number? +// get() = definedExternally +// set(value) = definedExternally +// var x: Number? +// get() = definedExternally +// set(value) = definedExternally +// var y: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DelayOptions : AudioNodeOptions { +// var delayTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var maxDelayTime: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DeviceLightEventInit : EventInit { +// var value: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DeviceMotionEventAccelerationInit { +// var x: Number? +// get() = definedExternally +// set(value) = definedExternally +// var y: Number? +// get() = definedExternally +// set(value) = definedExternally +// var z: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DeviceMotionEventInit : EventInit { +// var acceleration: DeviceMotionEventAccelerationInit? +// get() = definedExternally +// set(value) = definedExternally +// var accelerationIncludingGravity: DeviceMotionEventAccelerationInit? +// get() = definedExternally +// set(value) = definedExternally +// var interval: Number? +// get() = definedExternally +// set(value) = definedExternally +// var rotationRate: DeviceMotionEventRotationRateInit? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DeviceMotionEventRotationRateInit { +// var alpha: Number? +// get() = definedExternally +// set(value) = definedExternally +// var beta: Number? +// get() = definedExternally +// set(value) = definedExternally +// var gamma: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DeviceOrientationEventInit : EventInit { +// var absolute: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var alpha: Number? +// get() = definedExternally +// set(value) = definedExternally +// var beta: Number? +// get() = definedExternally +// set(value) = definedExternally +// var gamma: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DevicePermissionDescriptor : PermissionDescriptor { +// var deviceId: String? +// get() = definedExternally +// set(value) = definedExternally +// override var name: String /* "camera" | "microphone" | "speaker" */ +//} +// +//external interface DocumentTimelineOptions { +// var originTime: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DoubleRange { +// var max: Number? +// get() = definedExternally +// set(value) = definedExternally +// var min: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DragEventInit : MouseEventInit { +// var dataTransfer: DataTransfer? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface DynamicsCompressorOptions : AudioNodeOptions { +// var attack: Number? +// get() = definedExternally +// set(value) = definedExternally +// var knee: Number? +// get() = definedExternally +// set(value) = definedExternally +// var ratio: Number? +// get() = definedExternally +// set(value) = definedExternally +// var release: Number? +// get() = definedExternally +// set(value) = definedExternally +// var threshold: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface EcKeyGenParams : Algorithm { +// var namedCurve: NamedCurve +//} +// +//external interface EcKeyImportParams : Algorithm { +// var namedCurve: NamedCurve +//} +// +//external interface EcdhKeyDeriveParams : Algorithm { +// var public: CryptoKey +//} +// +//external interface EcdsaParams : Algorithm { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface EffectTiming { +// var delay: Number? +// get() = definedExternally +// set(value) = definedExternally +// var direction: String? /* "alternate" | "alternate-reverse" | "normal" | "reverse" */ +// get() = definedExternally +// set(value) = definedExternally +// var duration: dynamic /* Number? | String? */ +// get() = definedExternally +// set(value) = definedExternally +// var easing: String? +// get() = definedExternally +// set(value) = definedExternally +// var endDelay: Number? +// get() = definedExternally +// set(value) = definedExternally +// var fill: String? /* "auto" | "backwards" | "both" | "forwards" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +// var iterationStart: Number? +// get() = definedExternally +// set(value) = definedExternally +// var iterations: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ElementCreationOptions { +// var `is`: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ElementDefinitionOptions { +// var extends: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ErrorEventInit : EventInit { +// var colno: Number? +// get() = definedExternally +// set(value) = definedExternally +// var error: Any? +// get() = definedExternally +// set(value) = definedExternally +// var filename: String? +// get() = definedExternally +// set(value) = definedExternally +// var lineno: Number? +// get() = definedExternally +// set(value) = definedExternally +// var message: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface EventInit { +// var bubbles: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var cancelable: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var composed: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface EventListenerOptions { +// var capture: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface EventModifierInit : UIEventInit { +// var altKey: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var ctrlKey: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var metaKey: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierAltGraph: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierCapsLock: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierFn: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierFnLock: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierHyper: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierNumLock: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierScrollLock: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierSuper: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierSymbol: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var modifierSymbolLock: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var shiftKey: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ExceptionInformation { +// var domain: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FilePropertyBag : BlobPropertyBag { +// var lastModified: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FocusEventInit : UIEventInit { +// var relatedTarget: EventTarget? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FocusNavigationEventInit : EventInit { +// var navigationReason: String? +// get() = definedExternally +// set(value) = definedExternally +// var originHeight: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originLeft: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originTop: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originWidth: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FocusNavigationOrigin { +// var originHeight: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originLeft: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originTop: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originWidth: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FocusOptions { +// var preventScroll: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface FullscreenOptions { +// var navigationUI: String? /* "auto" | "hide" | "show" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface GainOptions : AudioNodeOptions { +// var gain: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface GamepadEventInit : EventInit { +// var gamepad: Gamepad +//} +// +//external interface GetNotificationOptions { +// var tag: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface GetRootNodeOptions { +// var composed: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface HashChangeEventInit : EventInit { +// var newURL: String? +// get() = definedExternally +// set(value) = definedExternally +// var oldURL: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface HmacImportParams : Algorithm { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +// var length: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface HmacKeyGenParams : Algorithm { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +// var length: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface IDBIndexParameters { +// var multiEntry: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var unique: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface IDBObjectStoreParameters { +// var autoIncrement: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var keyPath: dynamic /* String? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface IDBVersionChangeEventInit : EventInit { +// var newVersion: Number? +// get() = definedExternally +// set(value) = definedExternally +// var oldVersion: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface IIRFilterOptions : AudioNodeOptions { +// var feedback: Array +// var feedforward: Array +//} +// +//external interface ImageBitmapOptions { +// var colorSpaceConversion: String? /* "default" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +// var imageOrientation: String? /* "flipY" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +// var premultiplyAlpha: String? /* "default" | "none" | "premultiply" */ +// get() = definedExternally +// set(value) = definedExternally +// var resizeHeight: Number? +// get() = definedExternally +// set(value) = definedExternally +// var resizeQuality: String? /* "high" | "low" | "medium" | "pixelated" */ +// get() = definedExternally +// set(value) = definedExternally +// var resizeWidth: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ImageBitmapRenderingContextSettings { +// var alpha: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ImageEncodeOptions { +// var quality: Number? +// get() = definedExternally +// set(value) = definedExternally +// var type: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface InputEventInit : UIEventInit { +// var data: String? +// get() = definedExternally +// set(value) = definedExternally +// var inputType: String? +// get() = definedExternally +// set(value) = definedExternally +// var isComposing: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface JsonWebKey { +// var alg: String? +// get() = definedExternally +// set(value) = definedExternally +// var crv: String? +// get() = definedExternally +// set(value) = definedExternally +// var d: String? +// get() = definedExternally +// set(value) = definedExternally +// var dp: String? +// get() = definedExternally +// set(value) = definedExternally +// var dq: String? +// get() = definedExternally +// set(value) = definedExternally +// var e: String? +// get() = definedExternally +// set(value) = definedExternally +// var ext: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var k: String? +// get() = definedExternally +// set(value) = definedExternally +// var key_ops: Array? +// get() = definedExternally +// set(value) = definedExternally +// var kty: String? +// get() = definedExternally +// set(value) = definedExternally +// var n: String? +// get() = definedExternally +// set(value) = definedExternally +// var oth: Array? +// get() = definedExternally +// set(value) = definedExternally +// var p: String? +// get() = definedExternally +// set(value) = definedExternally +// var q: String? +// get() = definedExternally +// set(value) = definedExternally +// var qi: String? +// get() = definedExternally +// set(value) = definedExternally +// var use: String? +// get() = definedExternally +// set(value) = definedExternally +// var x: String? +// get() = definedExternally +// set(value) = definedExternally +// var y: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface KeyAlgorithm { +// var name: String +//} +// +//external interface KeyboardEventInit : EventModifierInit { +// var code: String? +// get() = definedExternally +// set(value) = definedExternally +// var isComposing: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var key: String? +// get() = definedExternally +// set(value) = definedExternally +// var location: Number? +// get() = definedExternally +// set(value) = definedExternally +// var repeat: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface Keyframe { +// var composite: String? /* "accumulate" | "add" | "auto" | "replace" */ +// get() = definedExternally +// set(value) = definedExternally +// var easing: String? +// get() = definedExternally +// set(value) = definedExternally +// var offset: Number? +// get() = definedExternally +// set(value) = definedExternally +// @nativeGetter +// operator fun get(property: String): dynamic /* String? | Number? */ +// @nativeSetter +// operator fun set(property: String, value: String?) +// @nativeSetter +// operator fun set(property: String, value: Number?) +//} +// +//external interface KeyframeAnimationOptions : KeyframeEffectOptions { +// var id: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface KeyframeEffectOptions : EffectTiming { +// var composite: String? /* "accumulate" | "add" | "replace" */ +// get() = definedExternally +// set(value) = definedExternally +// var iterationComposite: String? /* "accumulate" | "replace" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaElementAudioSourceOptions { +// var mediaElement: HTMLMediaElement +//} +// +//external interface MediaEncryptedEventInit : EventInit { +// var initData: ArrayBuffer? +// get() = definedExternally +// set(value) = definedExternally +// var initDataType: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaKeyMessageEventInit : EventInit { +// var message: ArrayBuffer +// var messageType: String /* "individualization-request" | "license-release" | "license-renewal" | "license-request" */ +//} +// +//external interface MediaKeySystemConfiguration { +// var audioCapabilities: Array? +// get() = definedExternally +// set(value) = definedExternally +// var distinctiveIdentifier: String? /* "not-allowed" | "optional" | "required" */ +// get() = definedExternally +// set(value) = definedExternally +// var initDataTypes: Array? +// get() = definedExternally +// set(value) = definedExternally +// var label: String? +// get() = definedExternally +// set(value) = definedExternally +// var persistentState: String? /* "not-allowed" | "optional" | "required" */ +// get() = definedExternally +// set(value) = definedExternally +// var sessionTypes: Array? +// get() = definedExternally +// set(value) = definedExternally +// var videoCapabilities: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaKeySystemMediaCapability { +// var contentType: String? +// get() = definedExternally +// set(value) = definedExternally +// var robustness: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaQueryListEventInit : EventInit { +// var matches: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var media: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaStreamAudioSourceOptions { +// var mediaStream: MediaStream +//} +// +//external interface MediaStreamConstraints { +// var audio: dynamic /* Boolean? | MediaTrackConstraints? */ +// get() = definedExternally +// set(value) = definedExternally +// var peerIdentity: String? +// get() = definedExternally +// set(value) = definedExternally +// var video: dynamic /* Boolean? | MediaTrackConstraints? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaStreamErrorEventInit : EventInit { +// var error: MediaStreamError? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaStreamEventInit : EventInit { +// var stream: MediaStream? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaStreamTrackAudioSourceOptions { +// var mediaStreamTrack: MediaStreamTrack +//} +// +//external interface MediaStreamTrackEventInit : EventInit { +// var track: MediaStreamTrack +//} +// +//external interface MediaTrackCapabilities { +// var aspectRatio: DoubleRange? +// get() = definedExternally +// set(value) = definedExternally +// var autoGainControl: Array? +// get() = definedExternally +// set(value) = definedExternally +// var channelCount: ULongRange? +// get() = definedExternally +// set(value) = definedExternally +// var deviceId: String? +// get() = definedExternally +// set(value) = definedExternally +// var echoCancellation: Array? +// get() = definedExternally +// set(value) = definedExternally +// var facingMode: Array? +// get() = definedExternally +// set(value) = definedExternally +// var frameRate: DoubleRange? +// get() = definedExternally +// set(value) = definedExternally +// var groupId: String? +// get() = definedExternally +// set(value) = definedExternally +// var height: ULongRange? +// get() = definedExternally +// set(value) = definedExternally +// var latency: DoubleRange? +// get() = definedExternally +// set(value) = definedExternally +// var noiseSuppression: Array? +// get() = definedExternally +// set(value) = definedExternally +// var resizeMode: Array? +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: ULongRange? +// get() = definedExternally +// set(value) = definedExternally +// var sampleSize: ULongRange? +// get() = definedExternally +// set(value) = definedExternally +// var width: ULongRange? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaTrackConstraintSet { +// var aspectRatio: dynamic /* Number? | ConstrainDoubleRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var autoGainControl: dynamic /* Boolean? | ConstrainBooleanParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var channelCount: dynamic /* Number? | ConstrainULongRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var deviceId: dynamic /* String? | Array? | ConstrainDOMStringParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var echoCancellation: dynamic /* Boolean? | ConstrainBooleanParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var facingMode: dynamic /* String? | Array? | ConstrainDOMStringParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var frameRate: dynamic /* Number? | ConstrainDoubleRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var groupId: dynamic /* String? | Array? | ConstrainDOMStringParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var height: dynamic /* Number? | ConstrainULongRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var latency: dynamic /* Number? | ConstrainDoubleRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var noiseSuppression: dynamic /* Boolean? | ConstrainBooleanParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var resizeMode: dynamic /* String? | Array? | ConstrainDOMStringParameters? */ +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: dynamic /* Number? | ConstrainULongRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var sampleSize: dynamic /* Number? | ConstrainULongRange? */ +// get() = definedExternally +// set(value) = definedExternally +// var width: dynamic /* Number? | ConstrainULongRange? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaTrackConstraints : MediaTrackConstraintSet { +// var advanced: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaTrackSettings { +// var aspectRatio: Number? +// get() = definedExternally +// set(value) = definedExternally +// var autoGainControl: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var channelCount: Number? +// get() = definedExternally +// set(value) = definedExternally +// var deviceId: String? +// get() = definedExternally +// set(value) = definedExternally +// var echoCancellation: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var facingMode: String? +// get() = definedExternally +// set(value) = definedExternally +// var frameRate: Number? +// get() = definedExternally +// set(value) = definedExternally +// var groupId: String? +// get() = definedExternally +// set(value) = definedExternally +// var height: Number? +// get() = definedExternally +// set(value) = definedExternally +// var latency: Number? +// get() = definedExternally +// set(value) = definedExternally +// var noiseSuppression: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var resizeMode: String? +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sampleSize: Number? +// get() = definedExternally +// set(value) = definedExternally +// var width: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MediaTrackSupportedConstraints { +// var aspectRatio: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var autoGainControl: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var channelCount: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var deviceId: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var echoCancellation: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var facingMode: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var frameRate: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var groupId: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var height: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var latency: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var noiseSuppression: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var resizeMode: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var sampleRate: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var sampleSize: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var width: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MessageEventInit : EventInit { +// var data: Any? +// get() = definedExternally +// set(value) = definedExternally +// var lastEventId: String? +// get() = definedExternally +// set(value) = definedExternally +// var origin: String? +// get() = definedExternally +// set(value) = definedExternally +// var ports: Array? +// get() = definedExternally +// set(value) = definedExternally +// var source: dynamic /* WindowProxy? | MessagePort? | ServiceWorker? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MidiPermissionDescriptor : PermissionDescriptor { +// override var name: String /* "midi" */ +// var sysex: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MouseEventInit : EventModifierInit { +// var button: Number? +// get() = definedExternally +// set(value) = definedExternally +// var buttons: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clientX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clientY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var movementX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var movementY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var relatedTarget: EventTarget? +// get() = definedExternally +// set(value) = definedExternally +// var screenX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var screenY: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface MultiCacheQueryOptions : CacheQueryOptions { +// var cacheName: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface NavigationPreloadState { +// var enabled: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var headerValue: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface NotificationAction { +// var action: String +// var icon: String? +// get() = definedExternally +// set(value) = definedExternally +// var title: String +//} +// +//external interface NotificationOptions { +// var actions: Array? +// get() = definedExternally +// set(value) = definedExternally +// var badge: String? +// get() = definedExternally +// set(value) = definedExternally +// var body: String? +// get() = definedExternally +// set(value) = definedExternally +// var data: Any? +// get() = definedExternally +// set(value) = definedExternally +// var dir: String? /* "auto" | "ltr" | "rtl" */ +// get() = definedExternally +// set(value) = definedExternally +// var icon: String? +// get() = definedExternally +// set(value) = definedExternally +// var image: String? +// get() = definedExternally +// set(value) = definedExternally +// var lang: String? +// get() = definedExternally +// set(value) = definedExternally +// var renotify: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var requireInteraction: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var silent: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var tag: String? +// get() = definedExternally +// set(value) = definedExternally +// var timestamp: Number? +// get() = definedExternally +// set(value) = definedExternally +// var vibrate: dynamic /* Number? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface OfflineAudioCompletionEventInit : EventInit { +// var renderedBuffer: AudioBuffer +//} +// +//external interface OptionalEffectTiming { +// var delay: Number? +// get() = definedExternally +// set(value) = definedExternally +// var direction: String? /* "alternate" | "alternate-reverse" | "normal" | "reverse" */ +// get() = definedExternally +// set(value) = definedExternally +// var duration: dynamic /* Number? | String? */ +// get() = definedExternally +// set(value) = definedExternally +// var easing: String? +// get() = definedExternally +// set(value) = definedExternally +// var endDelay: Number? +// get() = definedExternally +// set(value) = definedExternally +// var fill: String? /* "auto" | "backwards" | "both" | "forwards" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +// var iterationStart: Number? +// get() = definedExternally +// set(value) = definedExternally +// var iterations: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface OscillatorOptions : AudioNodeOptions { +// var detune: Number? +// get() = definedExternally +// set(value) = definedExternally +// var frequency: Number? +// get() = definedExternally +// set(value) = definedExternally +// var periodicWave: PeriodicWave? +// get() = definedExternally +// set(value) = definedExternally +// var type: String? /* "custom" | "sawtooth" | "sine" | "square" | "triangle" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PageTransitionEventInit : EventInit { +// var persisted: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PannerOptions : AudioNodeOptions { +// var coneInnerAngle: Number? +// get() = definedExternally +// set(value) = definedExternally +// var coneOuterAngle: Number? +// get() = definedExternally +// set(value) = definedExternally +// var coneOuterGain: Number? +// get() = definedExternally +// set(value) = definedExternally +// var distanceModel: String? /* "exponential" | "inverse" | "linear" */ +// get() = definedExternally +// set(value) = definedExternally +// var maxDistance: Number? +// get() = definedExternally +// set(value) = definedExternally +// var orientationX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var orientationY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var orientationZ: Number? +// get() = definedExternally +// set(value) = definedExternally +// var panningModel: String? /* "HRTF" | "equalpower" */ +// get() = definedExternally +// set(value) = definedExternally +// var positionX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var positionY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var positionZ: Number? +// get() = definedExternally +// set(value) = definedExternally +// var refDistance: Number? +// get() = definedExternally +// set(value) = definedExternally +// var rolloffFactor: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PaymentCurrencyAmount { +// var currency: String +// var currencySystem: String? +// get() = definedExternally +// set(value) = definedExternally +// var value: String +//} +// +//external interface PaymentDetailsBase { +// var displayItems: Array? +// get() = definedExternally +// set(value) = definedExternally +// var modifiers: Array? +// get() = definedExternally +// set(value) = definedExternally +// var shippingOptions: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PaymentDetailsModifier { +// var additionalDisplayItems: Array? +// get() = definedExternally +// set(value) = definedExternally +// var data: Any? +// get() = definedExternally +// set(value) = definedExternally +// var supportedMethods: dynamic /* String | Array */ +// get() = definedExternally +// set(value) = definedExternally +// var total: PaymentItem? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PaymentDetailsUpdate : PaymentDetailsBase { +// var error: String? +// get() = definedExternally +// set(value) = definedExternally +// var total: PaymentItem? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PaymentItem { +// var amount: PaymentCurrencyAmount +// var label: String +// var pending: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PaymentRequestUpdateEventInit : EventInit +// +//external interface PaymentShippingOption { +// var amount: PaymentCurrencyAmount +// var id: String +// var label: String +// var selected: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface Pbkdf2Params : Algorithm { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +// var iterations: Number +// var salt: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PeriodicWaveConstraints { +// var disableNormalization: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PeriodicWaveOptions : PeriodicWaveConstraints { +// var imag: dynamic /* Array? | Float32Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var real: dynamic /* Array? | Float32Array? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PermissionDescriptor { +// var name: String /* "accelerometer" | "ambient-light-sensor" | "background-sync" | "bluetooth" | "camera" | "clipboard" | "device-info" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "notifications" | "persistent-storage" | "push" | "speaker" */ +//} +// +//external interface PipeOptions { +// var preventAbort: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var preventCancel: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var preventClose: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var signal: AbortSignal? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PointerEventInit : MouseEventInit { +// var height: Number? +// get() = definedExternally +// set(value) = definedExternally +// var isPrimary: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var pointerId: Number? +// get() = definedExternally +// set(value) = definedExternally +// var pointerType: String? +// get() = definedExternally +// set(value) = definedExternally +// var pressure: Number? +// get() = definedExternally +// set(value) = definedExternally +// var tangentialPressure: Number? +// get() = definedExternally +// set(value) = definedExternally +// var tiltX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var tiltY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var twist: Number? +// get() = definedExternally +// set(value) = definedExternally +// var width: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PopStateEventInit : EventInit { +// var state: Any? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PositionOptions { +// var enableHighAccuracy: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var maximumAge: Number? +// get() = definedExternally +// set(value) = definedExternally +// var timeout: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PostMessageOptions { +// var transfer: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ProgressEventInit : EventInit { +// var lengthComputable: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var loaded: Number? +// get() = definedExternally +// set(value) = definedExternally +// var total: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PromiseRejectionEventInit : EventInit { +// var promise: Promise +// var reason: Any? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PropertyIndexedKeyframes { +// var composite: dynamic /* "accumulate" | "add" | "auto" | "replace" | Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var easing: dynamic /* String? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var offset: dynamic /* Number? | Array? */ +// get() = definedExternally +// set(value) = definedExternally +// @nativeGetter +// operator fun get(property: String): dynamic /* String? | Array? | Number? | Array? */ +// @nativeSetter +// operator fun set(property: String, value: String?) +// @nativeSetter +// operator fun set(property: String, value: Array?) +// @nativeSetter +// operator fun set(property: String, value: Number?) +// @nativeSetter +// operator fun set(property: String, value: Array?) +//} +// +//external interface PublicKeyCredentialCreationOptions { +// var attestation: String? /* "direct" | "indirect" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +// var authenticatorSelection: AuthenticatorSelectionCriteria? +// get() = definedExternally +// set(value) = definedExternally +// var challenge: dynamic /* ArrayBufferView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var excludeCredentials: Array? +// get() = definedExternally +// set(value) = definedExternally +// var extensions: AuthenticationExtensionsClientInputs? +// get() = definedExternally +// set(value) = definedExternally +// var pubKeyCredParams: Array +// var rp: PublicKeyCredentialRpEntity +// var timeout: Number? +// get() = definedExternally +// set(value) = definedExternally +// var user: PublicKeyCredentialUserEntity +//} +// +//external interface PublicKeyCredentialDescriptor { +// var id: dynamic /* ArrayBufferView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var transports: Array? +// get() = definedExternally +// set(value) = definedExternally +// var type: String /* "public-key" */ +//} +// +//external interface PublicKeyCredentialEntity { +// var icon: String? +// get() = definedExternally +// set(value) = definedExternally +// var name: String +//} +// +//external interface PublicKeyCredentialParameters { +// var alg: COSEAlgorithmIdentifier +// var type: String /* "public-key" */ +//} +// +//external interface PublicKeyCredentialRequestOptions { +// var allowCredentials: Array? +// get() = definedExternally +// set(value) = definedExternally +// var challenge: dynamic /* ArrayBufferView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var extensions: AuthenticationExtensionsClientInputs? +// get() = definedExternally +// set(value) = definedExternally +// var rpId: String? +// get() = definedExternally +// set(value) = definedExternally +// var timeout: Number? +// get() = definedExternally +// set(value) = definedExternally +// var userVerification: String? /* "discouraged" | "preferred" | "required" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PublicKeyCredentialRpEntity : PublicKeyCredentialEntity { +// var id: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { +// var displayName: String +// var id: dynamic /* ArrayBufferView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PushPermissionDescriptor : PermissionDescriptor { +// override var name: String /* "push" */ +// var userVisibleOnly: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PushSubscriptionJSON { +// var endpoint: String? +// get() = definedExternally +// set(value) = definedExternally +// var expirationTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var keys: Record? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface PushSubscriptionOptionsInit { +// var applicationServerKey: dynamic /* ArrayBufferView? | ArrayBuffer? | String? */ +// get() = definedExternally +// set(value) = definedExternally +// var userVisibleOnly: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface QueuingStrategy { +// var highWaterMark: Number? +// get() = definedExternally +// set(value) = definedExternally +// var size: QueuingStrategySizeCallback? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCDTMFToneChangeEventInit : EventInit { +// var tone: String +//} +// +//external interface RTCDataChannelEventInit : EventInit { +// var channel: RTCDataChannel +//} +// +//external interface RTCErrorEventInit : EventInit { +// var error: RTCError +//} +// +//external interface RTCErrorInit { +// var errorDetail: String /* "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" */ +// var httpRequestStatusCode: Number? +// get() = definedExternally +// set(value) = definedExternally +// var receivedAlert: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sctpCauseCode: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sdpLineNumber: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sentAlert: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCIceCandidateComplete +// +//external interface RTCIceCandidateDictionary { +// var foundation: String? +// get() = definedExternally +// set(value) = definedExternally +// var ip: String? +// get() = definedExternally +// set(value) = definedExternally +// var msMTurnSessionId: String? +// get() = definedExternally +// set(value) = definedExternally +// var port: Number? +// get() = definedExternally +// set(value) = definedExternally +// var priority: Number? +// get() = definedExternally +// set(value) = definedExternally +// var protocol: String? /* "tcp" | "udp" */ +// get() = definedExternally +// set(value) = definedExternally +// var relatedAddress: String? +// get() = definedExternally +// set(value) = definedExternally +// var relatedPort: Number? +// get() = definedExternally +// set(value) = definedExternally +// var tcpType: String? /* "active" | "passive" | "so" */ +// get() = definedExternally +// set(value) = definedExternally +// var type: String? /* "host" | "prflx" | "relay" | "srflx" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCIceCandidateInit { +// var candidate: String? +// get() = definedExternally +// set(value) = definedExternally +// var sdpMLineIndex: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sdpMid: String? +// get() = definedExternally +// set(value) = definedExternally +// var usernameFragment: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCIceCandidatePair { +// var local: RTCIceCandidate? +// get() = definedExternally +// set(value) = definedExternally +// var remote: RTCIceCandidate? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCIceParameters { +// var password: String? +// get() = definedExternally +// set(value) = definedExternally +// var usernameFragment: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCPeerConnectionIceErrorEventInit : EventInit { +// var errorCode: Number +// var hostCandidate: String? +// get() = definedExternally +// set(value) = definedExternally +// var statusText: String? +// get() = definedExternally +// set(value) = definedExternally +// var url: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCPeerConnectionIceEventInit : EventInit { +// var candidate: RTCIceCandidate? +// get() = definedExternally +// set(value) = definedExternally +// var url: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtcpParameters { +// var cname: String? +// get() = definedExternally +// set(value) = definedExternally +// var reducedSize: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpCapabilities { +// var codecs: Array +// var headerExtensions: Array +//} +// +//external interface RTCRtpCodecCapability { +// var channels: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clockRate: Number +// var mimeType: String +// var sdpFmtpLine: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpCodecParameters { +// var channels: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clockRate: Number +// var mimeType: String +// var payloadType: Number +// var sdpFmtpLine: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpCodingParameters { +// var rid: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpContributingSource { +// var audioLevel: Number? +// get() = definedExternally +// set(value) = definedExternally +// var rtpTimestamp: Number +// var source: Number +// var timestamp: Number +//} +// +//external interface RTCRtpDecodingParameters : RTCRtpCodingParameters +// +//external interface RTCRtpEncodingParameters : RTCRtpCodingParameters { +// var active: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var codecPayloadType: Number? +// get() = definedExternally +// set(value) = definedExternally +// var dtx: String? /* "disabled" | "enabled" */ +// get() = definedExternally +// set(value) = definedExternally +// var maxBitrate: Number? +// get() = definedExternally +// set(value) = definedExternally +// var maxFramerate: Number? +// get() = definedExternally +// set(value) = definedExternally +// var ptime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var scaleResolutionDownBy: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpHeaderExtensionCapability { +// var uri: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCRtpHeaderExtensionParameters { +// var encrypted: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var id: Number +// var uri: String +//} +// +//external interface RTCRtpParameters { +// var codecs: Array +// var headerExtensions: Array +// var rtcp: RTCRtcpParameters +//} +// +//external interface RTCRtpReceiveParameters : RTCRtpParameters { +// var encodings: Array +//} +// +//external interface RTCRtpSendParameters : RTCRtpParameters { +// var degradationPreference: String? /* "balanced" | "maintain-framerate" | "maintain-resolution" */ +// get() = definedExternally +// set(value) = definedExternally +// var encodings: Array +// var priority: String? /* "high" | "low" | "medium" | "very-low" */ +// get() = definedExternally +// set(value) = definedExternally +// var transactionId: String +//} +// +//external interface RTCRtpSynchronizationSource : RTCRtpContributingSource { +// var voiceActivityFlag: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RTCStatsEventInit : EventInit { +// var report: RTCStatsReport +//} +// +//external interface RTCStatsReport : ReadonlyMap { +// fun forEach(callbackfn: (value: Any, key: String, parent: RTCStatsReport) -> Unit, thisArg: Any = definedExternally) +//} +// +//external interface RTCTrackEventInit : EventInit { +// var receiver: RTCRtpReceiver +// var streams: Array? +// get() = definedExternally +// set(value) = definedExternally +// var track: MediaStreamTrack +// var transceiver: RTCRtpTransceiver +//} +// +//external interface ReadableStreamReadDoneResult { +// var done: Boolean +// var value: T? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ReadableStreamReadValueResult { +// var done: Boolean +// var value: T +//} +// +//external interface RegistrationOptions { +// var scope: String? +// get() = definedExternally +// set(value) = definedExternally +// var type: String? /* "classic" | "module" */ +// get() = definedExternally +// set(value) = definedExternally +// var updateViaCache: String? /* "all" | "imports" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RequestInit { +// var body: dynamic /* Blob? | ArrayBufferView? | ArrayBuffer? | FormData? | URLSearchParams? | ReadableStream? | String? */ +// get() = definedExternally +// set(value) = definedExternally +// var cache: String? /* "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload" */ +// get() = definedExternally +// set(value) = definedExternally +// var credentials: String? /* "include" | "omit" | "same-origin" */ +// get() = definedExternally +// set(value) = definedExternally +// var headers: dynamic /* Headers? | Array>? | Record? */ +// get() = definedExternally +// set(value) = definedExternally +// var integrity: String? +// get() = definedExternally +// set(value) = definedExternally +// var keepalive: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var method: String? +// get() = definedExternally +// set(value) = definedExternally +// var mode: String? /* "cors" | "navigate" | "no-cors" | "same-origin" */ +// get() = definedExternally +// set(value) = definedExternally +// var redirect: String? /* "error" | "follow" | "manual" */ +// get() = definedExternally +// set(value) = definedExternally +// var referrer: String? +// get() = definedExternally +// set(value) = definedExternally +// var referrerPolicy: String? /* "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" */ +// get() = definedExternally +// set(value) = definedExternally +// var signal: AbortSignal? +// get() = definedExternally +// set(value) = definedExternally +// var window: Any? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ResponseInit { +// var headers: dynamic /* Headers? | Array>? | Record? */ +// get() = definedExternally +// set(value) = definedExternally +// var status: Number? +// get() = definedExternally +// set(value) = definedExternally +// var statusText: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RsaHashedImportParams : Algorithm { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RsaHashedKeyGenParams : RsaKeyGenParams { +// var hash: dynamic /* typealias HashAlgorithmIdentifier = dynamic */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RsaKeyGenParams : Algorithm { +// var modulusLength: Number +// var publicExponent: BigInteger +//} +// +//external interface RsaOaepParams : Algorithm { +// var label: dynamic /* Int8Array? | Int16Array? | Int32Array? | Uint8Array? | Uint16Array? | Uint32Array? | Uint8ClampedArray? | Float32Array? | Float64Array? | DataView? | ArrayBuffer? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RsaOtherPrimesInfo { +// var d: String? +// get() = definedExternally +// set(value) = definedExternally +// var r: String? +// get() = definedExternally +// set(value) = definedExternally +// var t: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface RsaPssParams : Algorithm { +// var saltLength: Number +//} +// +//external interface SVGBoundingBoxOptions { +// var clipped: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var fill: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var markers: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var stroke: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ScrollIntoViewOptions : ScrollOptions { +// var block: String? /* "center" | "end" | "nearest" | "start" */ +// get() = definedExternally +// set(value) = definedExternally +// var inline: String? /* "center" | "end" | "nearest" | "start" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ScrollOptions { +// var behavior: String? /* "auto" | "smooth" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ScrollToOptions : ScrollOptions { +// var left: Number? +// get() = definedExternally +// set(value) = definedExternally +// var top: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface SecurityPolicyViolationEventInit : EventInit { +// var blockedURI: String? +// get() = definedExternally +// set(value) = definedExternally +// var columnNumber: Number? +// get() = definedExternally +// set(value) = definedExternally +// var documentURI: String? +// get() = definedExternally +// set(value) = definedExternally +// var effectiveDirective: String? +// get() = definedExternally +// set(value) = definedExternally +// var lineNumber: Number? +// get() = definedExternally +// set(value) = definedExternally +// var originalPolicy: String? +// get() = definedExternally +// set(value) = definedExternally +// var referrer: String? +// get() = definedExternally +// set(value) = definedExternally +// var sourceFile: String? +// get() = definedExternally +// set(value) = definedExternally +// var statusCode: Number? +// get() = definedExternally +// set(value) = definedExternally +// var violatedDirective: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ServiceWorkerMessageEventInit : EventInit { +// var data: Any? +// get() = definedExternally +// set(value) = definedExternally +// var lastEventId: String? +// get() = definedExternally +// set(value) = definedExternally +// var origin: String? +// get() = definedExternally +// set(value) = definedExternally +// var ports: Array? +// get() = definedExternally +// set(value) = definedExternally +// var source: dynamic /* ServiceWorker? | MessagePort? */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ShadowRootInit { +// var delegatesFocus: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var mode: String /* "closed" | "open" */ +//} +// +//external interface ShareData { +// var text: String? +// get() = definedExternally +// set(value) = definedExternally +// var title: String? +// get() = definedExternally +// set(value) = definedExternally +// var url: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface SpeechSynthesisErrorEventInit : SpeechSynthesisEventInit { +// var error: String /* "audio-busy" | "audio-hardware" | "canceled" | "interrupted" | "invalid-argument" | "language-unavailable" | "network" | "not-allowed" | "synthesis-failed" | "synthesis-unavailable" | "text-too-long" | "voice-unavailable" */ +//} +// +//external interface SpeechSynthesisEventInit : EventInit { +// var charIndex: Number? +// get() = definedExternally +// set(value) = definedExternally +// var charLength: Number? +// get() = definedExternally +// set(value) = definedExternally +// var elapsedTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var name: String? +// get() = definedExternally +// set(value) = definedExternally +// var utterance: SpeechSynthesisUtterance +//} +// +//external interface StereoPannerOptions : AudioNodeOptions { +// var pan: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface StorageEstimate { +// var quota: Number? +// get() = definedExternally +// set(value) = definedExternally +// var usage: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface StorageEventInit : EventInit { +// var key: String? +// get() = definedExternally +// set(value) = definedExternally +// var newValue: String? +// get() = definedExternally +// set(value) = definedExternally +// var oldValue: String? +// get() = definedExternally +// set(value) = definedExternally +// var storageArea: Storage? +// get() = definedExternally +// set(value) = definedExternally +// var url: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface StoreExceptionsInformation : ExceptionInformation { +// var detailURI: String? +// get() = definedExternally +// set(value) = definedExternally +// var explanationString: String? +// get() = definedExternally +// set(value) = definedExternally +// var siteName: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface StoreSiteSpecificExceptionsInformation : StoreExceptionsInformation { +// var arrayOfDomainStrings: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface TouchEventInit : EventModifierInit { +// var changedTouches: Array? +// get() = definedExternally +// set(value) = definedExternally +// var targetTouches: Array? +// get() = definedExternally +// set(value) = definedExternally +// var touches: Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface TouchInit { +// var altitudeAngle: Number? +// get() = definedExternally +// set(value) = definedExternally +// var azimuthAngle: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clientX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var clientY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var force: Number? +// get() = definedExternally +// set(value) = definedExternally +// var identifier: Number +// var pageX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var pageY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var radiusX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var radiusY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var rotationAngle: Number? +// get() = definedExternally +// set(value) = definedExternally +// var screenX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var screenY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var target: EventTarget +// var touchType: String? /* "direct" | "stylus" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface TrackEventInit : EventInit { +// var track: TextTrack? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface TransitionEventInit : EventInit { +// var elapsedTime: Number? +// get() = definedExternally +// set(value) = definedExternally +// var propertyName: String? +// get() = definedExternally +// set(value) = definedExternally +// var pseudoElement: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface UIEventInit : EventInit { +// var detail: Number? +// get() = definedExternally +// set(value) = definedExternally +// var view: Window? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ULongRange { +// var max: Number? +// get() = definedExternally +// set(value) = definedExternally +// var min: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface UnderlyingByteSource { +// var autoAllocateChunkSize: Number? +// get() = definedExternally +// set(value) = definedExternally +// var cancel: ReadableStreamErrorCallback? +// get() = definedExternally +// set(value) = definedExternally +// var pull: ReadableByteStreamControllerCallback? +// get() = definedExternally +// set(value) = definedExternally +// var start: ReadableByteStreamControllerCallback? +// get() = definedExternally +// set(value) = definedExternally +// var type: String /* "bytes" */ +//} +// +//external interface UnderlyingSink { +// var abort: WritableStreamErrorCallback? +// get() = definedExternally +// set(value) = definedExternally +// var close: WritableStreamDefaultControllerCloseCallback? +// get() = definedExternally +// set(value) = definedExternally +// var start: WritableStreamDefaultControllerStartCallback? +// get() = definedExternally +// set(value) = definedExternally +// var type: Any? +// get() = definedExternally +// set(value) = definedExternally +// var write: WritableStreamDefaultControllerWriteCallback? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface UnderlyingSource { +// var cancel: ReadableStreamErrorCallback? +// get() = definedExternally +// set(value) = definedExternally +// var pull: ReadableStreamDefaultControllerCallback? +// get() = definedExternally +// set(value) = definedExternally +// var start: ReadableStreamDefaultControllerCallback? +// get() = definedExternally +// set(value) = definedExternally +// var type: Any? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface VRDisplayEventInit : EventInit { +// var display: VRDisplay +// var reason: String? /* "mounted" | "navigation" | "requested" | "unmounted" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface VRLayer { +// var leftBounds: dynamic /* Array? | Float32Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var rightBounds: dynamic /* Array? | Float32Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var source: HTMLCanvasElement? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface VRStageParameters { +// var sittingToStandingTransform: Float32Array? +// get() = definedExternally +// set(value) = definedExternally +// var sizeX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var sizeY: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface WaveShaperOptions : AudioNodeOptions { +// var curve: dynamic /* Array? | Float32Array? */ +// get() = definedExternally +// set(value) = definedExternally +// var oversample: String? /* "2x" | "4x" | "none" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface WebGLContextAttributes { +// var xrCompatible: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var alpha: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var antialias: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var depth: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var desynchronized: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var failIfMajorPerformanceCaveat: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var powerPreference: String? /* "default" | "high-performance" | "low-power" */ +// get() = definedExternally +// set(value) = definedExternally +// var premultipliedAlpha: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var preserveDrawingBuffer: Boolean? +// get() = definedExternally +// set(value) = definedExternally +// var stencil: Boolean? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface WebGLContextEventInit : EventInit { +// var statusMessage: String? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface WheelEventInit : MouseEventInit { +// var deltaMode: Number? +// get() = definedExternally +// set(value) = definedExternally +// var deltaX: Number? +// get() = definedExternally +// set(value) = definedExternally +// var deltaY: Number? +// get() = definedExternally +// set(value) = definedExternally +// var deltaZ: Number? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface WorkletOptions { +// var credentials: String? /* "include" | "omit" | "same-origin" */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface txAuthGenericArg { +// var content: ArrayBuffer +// var contentType: String +//} +// +////external interface EventListener { +//// @nativeInvoke +//// operator fun invoke(evt: Event) +////} +// +//external interface `T$15` { +// fun lookupNamespaceURI(prefix: String?): String? +//} +// +//external interface ANGLE_instanced_arrays { +// fun drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei) +// fun drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei) +// fun vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint) +// val VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum +//} +// +//external interface AbortSignalEventMap { +// var abort: Event +//} +// +//external interface AbortSignal : EventTarget { +// val aborted: Boolean +// var onabort: ((self: AbortSignal, ev: Event) -> Any)? +// fun addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: AbortSignal, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface AbstractRange { +// val collapsed: Boolean +// val endContainer: Node +// val endOffset: Number +// val startContainer: Node +// val startOffset: Number +//} +// +//external interface AbstractWorkerEventMap { +// var error: ErrorEvent +//} +// +//external interface AbstractWorker { +// var onerror: ((self: AbstractWorker, ev: ErrorEvent) -> Any)? +// fun addEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListener) +// fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// fun removeEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: AbstractWorker, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListener) +// fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +//} +// +//external interface AesCfbParams : Algorithm { +// var iv: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface AesCmacParams : Algorithm { +// var length: Number +//} +// +//external interface AnalyserNode : AudioNode { +// var fftSize: Number +// val frequencyBinCount: Number +// var maxDecibels: Number +// var minDecibels: Number +// var smoothingTimeConstant: Number +// fun getByteFrequencyData(array: Uint8Array) +// fun getByteTimeDomainData(array: Uint8Array) +// fun getFloatFrequencyData(array: Float32Array) +// fun getFloatTimeDomainData(array: Float32Array) +//} +// +//external interface Animatable { +// fun animate(keyframes: Array?, options: Number = definedExternally): Animation +// fun animate(keyframes: Array?): Animation +// fun animate(keyframes: Array?, options: KeyframeAnimationOptions = definedExternally): Animation +// fun animate(keyframes: PropertyIndexedKeyframes?, options: Number = definedExternally): Animation +// fun animate(keyframes: PropertyIndexedKeyframes?): Animation +// fun animate(keyframes: PropertyIndexedKeyframes?, options: KeyframeAnimationOptions = definedExternally): Animation +// fun getAnimations(): Array +//} +// +//external interface AnimationEventMap { +// var cancel: AnimationPlaybackEvent +// var finish: AnimationPlaybackEvent +//} +// +//external interface Animation : EventTarget { +// var currentTime: Number? +// var effect: AnimationEffect? +// val finished: Promise +// var id: String +// var oncancel: ((self: Animation, ev: AnimationPlaybackEvent) -> Any)? +// var onfinish: ((self: Animation, ev: AnimationPlaybackEvent) -> Any)? +// val pending: Boolean +// val playState: String /* "finished" | "idle" | "paused" | "running" */ +// var playbackRate: Number +// val ready: Promise +// var startTime: Number? +// var timeline: AnimationTimeline? +// fun cancel() +// fun finish() +// fun pause() +// fun play() +// fun reverse() +// fun updatePlaybackRate(playbackRate: Number) +// fun addEventListener(type: K, listener: (self: Animation, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Animation, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Animation, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Animation, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Animation, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Animation, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface AnimationEffect { +// fun getComputedTiming(): ComputedEffectTiming +// fun getTiming(): EffectTiming +// fun updateTiming(timing: OptionalEffectTiming = definedExternally) +//} +// +//external interface AnimationEvent : Event { +// val animationName: String +// val elapsedTime: Number +// val pseudoElement: String +//} +// +//external interface AnimationFrameProvider { +// fun cancelAnimationFrame(handle: Number) +// fun requestAnimationFrame(callback: FrameRequestCallback): Number +//} +// +//external interface AnimationPlaybackEvent : Event { +// val currentTime: Number? +// val timelineTime: Number? +//} +// +//external interface AnimationTimeline { +// val currentTime: Number? +//} +// +//external interface ApplicationCacheEventMap { +// var cached: Event +// var checking: Event +// var downloading: Event +// var error: Event +// var noupdate: Event +// var obsolete: Event +// var progress: ProgressEvent +// var updateready: Event +//} +// +//external interface ApplicationCache : EventTarget { +// var oncached: ((self: ApplicationCache, ev: Event) -> Any)? +// var onchecking: ((self: ApplicationCache, ev: Event) -> Any)? +// var ondownloading: ((self: ApplicationCache, ev: Event) -> Any)? +// var onerror: ((self: ApplicationCache, ev: Event) -> Any)? +// var onnoupdate: ((self: ApplicationCache, ev: Event) -> Any)? +// var onobsolete: ((self: ApplicationCache, ev: Event) -> Any)? +// var onprogress: ((self: ApplicationCache, ev: ProgressEvent) -> Any)? +// var onupdateready: ((self: ApplicationCache, ev: Event) -> Any)? +// val status: Number +// fun abort() +// fun swapCache() +// fun update() +// val CHECKING: Number +// val DOWNLOADING: Number +// val IDLE: Number +// val OBSOLETE: Number +// val UNCACHED: Number +// val UPDATEREADY: Number +// fun addEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ApplicationCache, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface Attr : Node { +// val localName: String +// val name: String +// override val namespaceURI: String? +// val ownerElement: Element? +// val prefix: String? +// val specified: Boolean +// var value: String +//} +// +//external interface AudioBuffer { +// val duration: Number +// val length: Number +// val numberOfChannels: Number +// val sampleRate: Number +// fun copyFromChannel(destination: Float32Array, channelNumber: Number, bufferOffset: Number = definedExternally) +// fun copyToChannel(source: Float32Array, channelNumber: Number, bufferOffset: Number = definedExternally) +// fun getChannelData(channel: Number): Float32Array +//} +// +//external interface AudioBufferSourceNode : AudioScheduledSourceNode { +// var buffer: AudioBuffer? +// val detune: AudioParam +// var loop: Boolean +// var loopEnd: Number +// var loopStart: Number +// val playbackRate: AudioParam +// fun start(param_when: Number = definedExternally, offset: Number = definedExternally, duration: Number = definedExternally) +// fun addEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: AudioBufferSourceNode, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +//external interface AudioContext : BaseAudioContext { +// val baseLatency: Number +// val outputLatency: Number +// fun close(): Promise +// fun createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode +// fun createMediaStreamDestination(): MediaStreamAudioDestinationNode +// fun createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode +// fun createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode +// fun getOutputTimestamp(): AudioTimestamp +// fun resume(): Promise +// fun suspend(): Promise +// fun addEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: AudioContext, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// +// companion object { +// fun getContext(): AudioContext +// fun setContext(context: AudioContext) +// } +//} +// +//external interface AudioDestinationNode : AudioNode { +// val maxChannelCount: Number +//} +// +//external interface AudioListener { +// val forwardX: AudioParam +// val forwardY: AudioParam +// val forwardZ: AudioParam +// val positionX: AudioParam +// val positionY: AudioParam +// val positionZ: AudioParam +// val upX: AudioParam +// val upY: AudioParam +// val upZ: AudioParam +// fun setOrientation(x: Number, y: Number, z: Number, xUp: Number, yUp: Number, zUp: Number) +// fun setPosition(x: Number, y: Number, z: Number) +//} +// +//external interface AudioNode : EventTarget { +// var channelCount: Number +// var channelCountMode: String /* "clamped-max" | "explicit" | "max" */ +// var channelInterpretation: String /* "discrete" | "speakers" */ +// val context: BaseAudioContext +// val numberOfInputs: Number +// val numberOfOutputs: Number +// fun connect(destinationNode: AudioNode, output: Number = definedExternally, input: Number = definedExternally): AudioNode +// fun connect(destinationNode: AudioNode): AudioNode +// fun connect(destinationNode: AudioNode, output: Number = definedExternally): AudioNode +// fun connect(destinationParam: AudioParam, output: Number = definedExternally) +// fun connect(destinationParam: AudioParam) +// fun disconnect() +// fun disconnect(output: Number) +// fun disconnect(destinationNode: AudioNode) +// fun disconnect(destinationNode: AudioNode, output: Number) +// fun disconnect(destinationNode: AudioNode, output: Number, input: Number) +// fun disconnect(destinationParam: AudioParam) +// fun disconnect(destinationParam: AudioParam, output: Number) +//} +// +//external interface AudioParam { +// fun setValueCurveAtTime(values: Iterable, startTime: Number, duration: Number): AudioParam +// var automationRate: String /* "a-rate" | "k-rate" */ +// val defaultValue: Number +// val maxValue: Number +// val minValue: Number +// var value: Number +// fun cancelAndHoldAtTime(cancelTime: Number): AudioParam +// fun cancelScheduledValues(cancelTime: Number): AudioParam +// fun exponentialRampToValueAtTime(value: Number, endTime: Number): AudioParam +// fun linearRampToValueAtTime(value: Number, endTime: Number): AudioParam +// fun setTargetAtTime(target: Number, startTime: Number, timeConstant: Number): AudioParam +// fun setValueAtTime(value: Number, startTime: Number): AudioParam +// fun setValueCurveAtTime(values: Array, startTime: Number, duration: Number): AudioParam +// fun setValueCurveAtTime(values: Float32Array, startTime: Number, duration: Number): AudioParam +//} +// +//external interface AudioProcessingEvent : Event { +// val inputBuffer: AudioBuffer +// val outputBuffer: AudioBuffer +// val playbackTime: Number +//} +// +//external interface AudioScheduledSourceNodeEventMap { +// var ended: Event +//} +// +//external interface AudioScheduledSourceNode : AudioNode { +// var onended: ((self: AudioScheduledSourceNode, ev: Event) -> Any)? +// fun start(param_when: Number = definedExternally) +// fun stop(param_when: Number = definedExternally) +// fun addEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: AudioScheduledSourceNode, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface AudioWorklet : Worklet +// +//external interface BarProp { +// val visible: Boolean +//} +// +//external interface BaseAudioContextEventMap { +// var statechange: Event +//} +// +//external interface BaseAudioContext : EventTarget { +// fun createIIRFilter(feedforward: Iterable, feedback: Iterable): IIRFilterNode +// fun createPeriodicWave(real: Iterable, imag: Iterable, constraints: PeriodicWaveConstraints = definedExternally): PeriodicWave +// fun createPeriodicWave(real: Iterable, imag: Iterable): PeriodicWave +// val audioWorklet: AudioWorklet +// val currentTime: Number +// val destination: AudioDestinationNode +// val listener: AudioListener +// var onstatechange: ((self: BaseAudioContext, ev: Event) -> Any)? +// val sampleRate: Number +// val state: String /* "closed" | "running" | "suspended" */ +// fun createAnalyser(): AnalyserNode +// fun createBiquadFilter(): BiquadFilterNode +// fun createBuffer(numberOfChannels: Number, length: Number, sampleRate: Number): AudioBuffer +// fun createBufferSource(): AudioBufferSourceNode +// fun createChannelMerger(numberOfInputs: Number = definedExternally): ChannelMergerNode +// fun createChannelSplitter(numberOfOutputs: Number = definedExternally): ChannelSplitterNode +// fun createConstantSource(): ConstantSourceNode +// fun createConvolver(): ConvolverNode +// fun createDelay(maxDelayTime: Number = definedExternally): DelayNode +// fun createDynamicsCompressor(): DynamicsCompressorNode +// fun createGain(): GainNode +// fun createIIRFilter(feedforward: Array, feedback: Array): IIRFilterNode +// fun createOscillator(): OscillatorNode +// fun createPanner(): PannerNode +// fun createPeriodicWave(real: Array, imag: Array, constraints: PeriodicWaveConstraints = definedExternally): PeriodicWave +// fun createPeriodicWave(real: Array, imag: Array): PeriodicWave +// fun createPeriodicWave(real: Array, imag: Float32Array, constraints: PeriodicWaveConstraints = definedExternally): PeriodicWave +// fun createPeriodicWave(real: Array, imag: Float32Array): PeriodicWave +// fun createPeriodicWave(real: Float32Array, imag: Array, constraints: PeriodicWaveConstraints = definedExternally): PeriodicWave +// fun createPeriodicWave(real: Float32Array, imag: Array): PeriodicWave +// fun createPeriodicWave(real: Float32Array, imag: Float32Array, constraints: PeriodicWaveConstraints = definedExternally): PeriodicWave +// fun createPeriodicWave(real: Float32Array, imag: Float32Array): PeriodicWave +// fun createScriptProcessor(bufferSize: Number = definedExternally, numberOfInputChannels: Number = definedExternally, numberOfOutputChannels: Number = definedExternally): ScriptProcessorNode +// fun createStereoPanner(): StereoPannerNode +// fun createWaveShaper(): WaveShaperNode +// fun decodeAudioData(audioData: ArrayBuffer, successCallback: DecodeSuccessCallback? = definedExternally, errorCallback: DecodeErrorCallback? = definedExternally): Promise +// fun addEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: BaseAudioContext, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface BeforeUnloadEvent : Event +// +//external interface BiquadFilterNode : AudioNode { +// val Q: AudioParam +// val detune: AudioParam +// val frequency: AudioParam +// val gain: AudioParam +// var type: String /* "allpass" | "bandpass" | "highpass" | "highshelf" | "lowpass" | "lowshelf" | "notch" | "peaking" */ +// fun getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) +//} +// +//external interface Blob { +// val size: Number +// val type: String +// fun arrayBuffer(): Promise +// fun slice(start: Number = definedExternally, end: Number = definedExternally, contentType: String = definedExternally): Blob +// fun stream(): ReadableStream__0 +// fun text(): Promise +//} +// +//external interface Body { +// val body: ReadableStream? +// val bodyUsed: Boolean +// fun arrayBuffer(): Promise +// fun blob(): Promise +// fun formData(): Promise +// fun json(): Promise +// fun text(): Promise +//} +// +//external interface CDATASection : Text +// +//external interface CSSRule { +// var cssText: String +// val parentRule: CSSRule? +// val parentStyleSheet: CSSStyleSheet? +// val type: Number +// val CHARSET_RULE: Number +// val FONT_FACE_RULE: Number +// val IMPORT_RULE: Number +// val KEYFRAMES_RULE: Number +// val KEYFRAME_RULE: Number +// val MEDIA_RULE: Number +// val NAMESPACE_RULE: Number +// val PAGE_RULE: Number +// val STYLE_RULE: Number +// val SUPPORTS_RULE: Number +//} +// +//external interface CSSRuleList { +// val length: Number +// fun item(index: Number): CSSRule? +// @nativeGetter +// operator fun get(index: Number): CSSRule? +// @nativeSetter +// operator fun set(index: Number, value: CSSRule) +//} +// +//external interface CSSStyleDeclaration { +// var alignContent: String +// var alignItems: String +// var alignSelf: String +// var alignmentBaseline: String +// var all: String +// var animation: String +// var animationDelay: String +// var animationDirection: String +// var animationDuration: String +// var animationFillMode: String +// var animationIterationCount: String +// var animationName: String +// var animationPlayState: String +// var animationTimingFunction: String +// var backfaceVisibility: String +// var background: String +// var backgroundAttachment: String +// var backgroundClip: String +// var backgroundColor: String +// var backgroundImage: String +// var backgroundOrigin: String +// var backgroundPosition: String +// var backgroundPositionX: String +// var backgroundPositionY: String +// var backgroundRepeat: String +// var backgroundSize: String +// var baselineShift: String +// var blockSize: String +// var border: String +// var borderBlockEnd: String +// var borderBlockEndColor: String +// var borderBlockEndStyle: String +// var borderBlockEndWidth: String +// var borderBlockStart: String +// var borderBlockStartColor: String +// var borderBlockStartStyle: String +// var borderBlockStartWidth: String +// var borderBottom: String +// var borderBottomColor: String +// var borderBottomLeftRadius: String +// var borderBottomRightRadius: String +// var borderBottomStyle: String +// var borderBottomWidth: String +// var borderCollapse: String +// var borderColor: String +// var borderImage: String +// var borderImageOutset: String +// var borderImageRepeat: String +// var borderImageSlice: String +// var borderImageSource: String +// var borderImageWidth: String +// var borderInlineEnd: String +// var borderInlineEndColor: String +// var borderInlineEndStyle: String +// var borderInlineEndWidth: String +// var borderInlineStart: String +// var borderInlineStartColor: String +// var borderInlineStartStyle: String +// var borderInlineStartWidth: String +// var borderLeft: String +// var borderLeftColor: String +// var borderLeftStyle: String +// var borderLeftWidth: String +// var borderRadius: String +// var borderRight: String +// var borderRightColor: String +// var borderRightStyle: String +// var borderRightWidth: String +// var borderSpacing: String +// var borderStyle: String +// var borderTop: String +// var borderTopColor: String +// var borderTopLeftRadius: String +// var borderTopRightRadius: String +// var borderTopStyle: String +// var borderTopWidth: String +// var borderWidth: String +// var bottom: String +// var boxShadow: String +// var boxSizing: String +// var breakAfter: String +// var breakBefore: String +// var breakInside: String +// var captionSide: String +// var caretColor: String +// var clear: String +// var clip: String +// var clipPath: String +// var clipRule: String +// var color: String +// var colorInterpolation: String +// var colorInterpolationFilters: String +// var columnCount: String +// var columnFill: String +// var columnGap: String +// var columnRule: String +// var columnRuleColor: String +// var columnRuleStyle: String +// var columnRuleWidth: String +// var columnSpan: String +// var columnWidth: String +// var columns: String +// var content: String +// var counterIncrement: String +// var counterReset: String +// var cssFloat: String +// var cssText: String +// var cursor: String +// var direction: String +// var display: String +// var dominantBaseline: String +// var emptyCells: String +// var fill: String +// var fillOpacity: String +// var fillRule: String +// var filter: String +// var flex: String +// var flexBasis: String +// var flexDirection: String +// var flexFlow: String +// var flexGrow: String +// var flexShrink: String +// var flexWrap: String +// var float: String +// var floodColor: String +// var floodOpacity: String +// var font: String +// var fontFamily: String +// var fontFeatureSettings: String +// var fontKerning: String +// var fontSize: String +// var fontSizeAdjust: String +// var fontStretch: String +// var fontStyle: String +// var fontSynthesis: String +// var fontVariant: String +// var fontVariantCaps: String +// var fontVariantEastAsian: String +// var fontVariantLigatures: String +// var fontVariantNumeric: String +// var fontVariantPosition: String +// var fontWeight: String +// var gap: String +// var glyphOrientationVertical: String +// var grid: String +// var gridArea: String +// var gridAutoColumns: String +// var gridAutoFlow: String +// var gridAutoRows: String +// var gridColumn: String +// var gridColumnEnd: String +// var gridColumnGap: String +// var gridColumnStart: String +// var gridGap: String +// var gridRow: String +// var gridRowEnd: String +// var gridRowGap: String +// var gridRowStart: String +// var gridTemplate: String +// var gridTemplateAreas: String +// var gridTemplateColumns: String +// var gridTemplateRows: String +// var height: String +// var hyphens: String +// var imageOrientation: String +// var imageRendering: String +// var inlineSize: String +// var justifyContent: String +// var justifyItems: String +// var justifySelf: String +// var left: String +// val length: Number +// var letterSpacing: String +// var lightingColor: String +// var lineBreak: String +// var lineHeight: String +// var listStyle: String +// var listStyleImage: String +// var listStylePosition: String +// var listStyleType: String +// var margin: String +// var marginBlockEnd: String +// var marginBlockStart: String +// var marginBottom: String +// var marginInlineEnd: String +// var marginInlineStart: String +// var marginLeft: String +// var marginRight: String +// var marginTop: String +// var marker: String +// var markerEnd: String +// var markerMid: String +// var markerStart: String +// var mask: String +// var maskComposite: String +// var maskImage: String +// var maskPosition: String +// var maskRepeat: String +// var maskSize: String +// var maskType: String +// var maxBlockSize: String +// var maxHeight: String +// var maxInlineSize: String +// var maxWidth: String +// var minBlockSize: String +// var minHeight: String +// var minInlineSize: String +// var minWidth: String +// var objectFit: String +// var objectPosition: String +// var opacity: String +// var order: String +// var orphans: String +// var outline: String +// var outlineColor: String +// var outlineOffset: String +// var outlineStyle: String +// var outlineWidth: String +// var overflow: String +// var overflowAnchor: String +// var overflowWrap: String +// var overflowX: String +// var overflowY: String +// var padding: String +// var paddingBlockEnd: String +// var paddingBlockStart: String +// var paddingBottom: String +// var paddingInlineEnd: String +// var paddingInlineStart: String +// var paddingLeft: String +// var paddingRight: String +// var paddingTop: String +// var pageBreakAfter: String +// var pageBreakBefore: String +// var pageBreakInside: String +// var paintOrder: String +// val parentRule: CSSRule? +// var perspective: String +// var perspectiveOrigin: String +// var placeContent: String +// var placeItems: String +// var placeSelf: String +// var pointerEvents: String +// var position: String +// var quotes: String +// var resize: String +// var right: String +// var rotate: String +// var rowGap: String +// var rubyAlign: String +// var rubyPosition: String +// var scale: String +// var scrollBehavior: String +// var shapeRendering: String +// var stopColor: String +// var stopOpacity: String +// var stroke: String +// var strokeDasharray: String +// var strokeDashoffset: String +// var strokeLinecap: String +// var strokeLinejoin: String +// var strokeMiterlimit: String +// var strokeOpacity: String +// var strokeWidth: String +// var tabSize: String +// var tableLayout: String +// var textAlign: String +// var textAlignLast: String +// var textAnchor: String +// var textCombineUpright: String +// var textDecoration: String +// var textDecorationColor: String +// var textDecorationLine: String +// var textDecorationStyle: String +// var textEmphasis: String +// var textEmphasisColor: String +// var textEmphasisPosition: String +// var textEmphasisStyle: String +// var textIndent: String +// var textJustify: String +// var textOrientation: String +// var textOverflow: String +// var textRendering: String +// var textShadow: String +// var textTransform: String +// var textUnderlinePosition: String +// var top: String +// var touchAction: String +// var transform: String +// var transformBox: String +// var transformOrigin: String +// var transformStyle: String +// var transition: String +// var transitionDelay: String +// var transitionDuration: String +// var transitionProperty: String +// var transitionTimingFunction: String +// var translate: String +// var unicodeBidi: String +// var userSelect: String +// var verticalAlign: String +// var visibility: String +// var webkitAlignContent: String +// var webkitAlignItems: String +// var webkitAlignSelf: String +// var webkitAnimation: String +// var webkitAnimationDelay: String +// var webkitAnimationDirection: String +// var webkitAnimationDuration: String +// var webkitAnimationFillMode: String +// var webkitAnimationIterationCount: String +// var webkitAnimationName: String +// var webkitAnimationPlayState: String +// var webkitAnimationTimingFunction: String +// var webkitAppearance: String +// var webkitBackfaceVisibility: String +// var webkitBackgroundClip: String +// var webkitBackgroundOrigin: String +// var webkitBackgroundSize: String +// var webkitBorderBottomLeftRadius: String +// var webkitBorderBottomRightRadius: String +// var webkitBorderRadius: String +// var webkitBorderTopLeftRadius: String +// var webkitBorderTopRightRadius: String +// var webkitBoxAlign: String +// var webkitBoxFlex: String +// var webkitBoxOrdinalGroup: String +// var webkitBoxOrient: String +// var webkitBoxPack: String +// var webkitBoxShadow: String +// var webkitBoxSizing: String +// var webkitFilter: String +// var webkitFlex: String +// var webkitFlexBasis: String +// var webkitFlexDirection: String +// var webkitFlexFlow: String +// var webkitFlexGrow: String +// var webkitFlexShrink: String +// var webkitFlexWrap: String +// var webkitJustifyContent: String +// var webkitLineClamp: String +// var webkitMask: String +// var webkitMaskBoxImage: String +// var webkitMaskBoxImageOutset: String +// var webkitMaskBoxImageRepeat: String +// var webkitMaskBoxImageSlice: String +// var webkitMaskBoxImageSource: String +// var webkitMaskBoxImageWidth: String +// var webkitMaskClip: String +// var webkitMaskComposite: String +// var webkitMaskImage: String +// var webkitMaskOrigin: String +// var webkitMaskPosition: String +// var webkitMaskRepeat: String +// var webkitMaskSize: String +// var webkitOrder: String +// var webkitPerspective: String +// var webkitPerspectiveOrigin: String +// var webkitTapHighlightColor: String +// var webkitTextFillColor: String +// var webkitTextSizeAdjust: String +// var webkitTextStroke: String +// var webkitTextStrokeColor: String +// var webkitTextStrokeWidth: String +// var webkitTransform: String +// var webkitTransformOrigin: String +// var webkitTransformStyle: String +// var webkitTransition: String +// var webkitTransitionDelay: String +// var webkitTransitionDuration: String +// var webkitTransitionProperty: String +// var webkitTransitionTimingFunction: String +// var webkitUserSelect: String +// var whiteSpace: String +// var widows: String +// var width: String +// var willChange: String +// var wordBreak: String +// var wordSpacing: String +// var wordWrap: String +// var writingMode: String +// var zIndex: String +// var zoom: String +// fun getPropertyPriority(property: String): String +// fun getPropertyValue(property: String): String +// fun item(index: Number): String +// fun removeProperty(property: String): String +// fun setProperty(property: String, value: String?, priority: String = definedExternally) +// @nativeGetter +// operator fun get(index: Number): String? +// @nativeSetter +// operator fun set(index: Number, value: String) +//} +// +//external interface CSSStyleSheet : StyleSheet { +// val cssRules: CSSRuleList +// val ownerRule: CSSRule? +// val rules: CSSRuleList +// fun addRule(selector: String = definedExternally, style: String = definedExternally, index: Number = definedExternally): Number +// fun deleteRule(index: Number) +// fun insertRule(rule: String, index: Number = definedExternally): Number +// fun removeRule(index: Number = definedExternally) +//} +// +//@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +//external interface Cache { +// fun addAll(requests: Iterable): Promise +// fun add(request: Request): Promise +// fun add(request: String): Promise +// fun addAll(requests: Array): Promise +// fun delete(request: Request, options: CacheQueryOptions = definedExternally): Promise +// fun delete(request: Request): Promise +// fun delete(request: String, options: CacheQueryOptions = definedExternally): Promise +// fun delete(request: String): Promise +// fun keys(request: Request = definedExternally, options: CacheQueryOptions = definedExternally): Promise> +// fun keys(): Promise> +// fun keys(request: Request = definedExternally): Promise> +// fun keys(request: String = definedExternally, options: CacheQueryOptions = definedExternally): Promise> +// fun keys(request: String = definedExternally): Promise> +// fun match(request: Request, options: CacheQueryOptions = definedExternally): Promise +// fun match(request: Request): Promise +// fun match(request: String, options: CacheQueryOptions = definedExternally): Promise +// fun match(request: String): Promise +// fun matchAll(request: Request = definedExternally, options: CacheQueryOptions = definedExternally): Promise> +// fun matchAll(): Promise> +// fun matchAll(request: Request = definedExternally): Promise> +// fun matchAll(request: String = definedExternally, options: CacheQueryOptions = definedExternally): Promise> +// fun matchAll(request: String = definedExternally): Promise> +// fun put(request: Request, response: Response): Promise +// fun put(request: String, response: Response): Promise +// +// companion object { +// var enabled: Boolean +// var files: Any +// fun add(key: String, file: Any) +// fun get(key: String): Any +// fun remove(key: String) +// fun clear() +// } +//} +// +//external interface CacheStorage { +// fun delete(cacheName: String): Promise +// fun has(cacheName: String): Promise +// fun keys(): Promise> +// fun match(request: Request, options: MultiCacheQueryOptions = definedExternally): Promise +// fun match(request: Request): Promise +// fun match(request: String, options: MultiCacheQueryOptions = definedExternally): Promise +// fun match(request: String): Promise +// fun open(cacheName: String): Promise +//} +// +//external interface CanvasCompositing { +// var globalAlpha: Number +// var globalCompositeOperation: String +//} +// +//external interface CanvasDrawImage { +// fun drawImage(image: HTMLImageElement, dx: Number, dy: Number) +// fun drawImage(image: SVGImageElement, dx: Number, dy: Number) +// fun drawImage(image: HTMLVideoElement, dx: Number, dy: Number) +// fun drawImage(image: HTMLCanvasElement, dx: Number, dy: Number) +// fun drawImage(image: ImageBitmap, dx: Number, dy: Number) +// fun drawImage(image: OffscreenCanvas, dx: Number, dy: Number) +// fun drawImage(image: HTMLImageElement, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: SVGImageElement, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: HTMLVideoElement, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: HTMLCanvasElement, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: ImageBitmap, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: OffscreenCanvas, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: HTMLImageElement, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: SVGImageElement, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: HTMLVideoElement, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: HTMLCanvasElement, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: ImageBitmap, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +// fun drawImage(image: OffscreenCanvas, sx: Number, sy: Number, sw: Number, sh: Number, dx: Number, dy: Number, dw: Number, dh: Number) +//} +// +//external interface CanvasDrawPath { +// fun beginPath() +// fun clip(fillRule: String /* "evenodd" | "nonzero" */ = definedExternally) +// fun clip() +// fun clip(path: Path2D, fillRule: String /* "evenodd" | "nonzero" */ = definedExternally) +// fun clip(path: Path2D) +// fun fill(fillRule: String /* "evenodd" | "nonzero" */ = definedExternally) +// fun fill() +// fun fill(path: Path2D, fillRule: String /* "evenodd" | "nonzero" */ = definedExternally) +// fun fill(path: Path2D) +// fun isPointInPath(x: Number, y: Number, fillRule: String /* "evenodd" | "nonzero" */ = definedExternally): Boolean +// fun isPointInPath(x: Number, y: Number): Boolean +// fun isPointInPath(path: Path2D, x: Number, y: Number, fillRule: String /* "evenodd" | "nonzero" */ = definedExternally): Boolean +// fun isPointInPath(path: Path2D, x: Number, y: Number): Boolean +// fun isPointInStroke(x: Number, y: Number): Boolean +// fun isPointInStroke(path: Path2D, x: Number, y: Number): Boolean +// fun stroke() +// fun stroke(path: Path2D) +//} +// +//external interface CanvasFillStrokeStyles { +// var fillStyle: dynamic /* String | CanvasGradient | CanvasPattern */ +// get() = definedExternally +// set(value) = definedExternally +// var strokeStyle: dynamic /* String | CanvasGradient | CanvasPattern */ +// get() = definedExternally +// set(value) = definedExternally +// fun createLinearGradient(x0: Number, y0: Number, x1: Number, y1: Number): CanvasGradient +// fun createPattern(image: HTMLImageElement, repetition: String?): CanvasPattern? +// fun createPattern(image: SVGImageElement, repetition: String?): CanvasPattern? +// fun createPattern(image: HTMLVideoElement, repetition: String?): CanvasPattern? +// fun createPattern(image: HTMLCanvasElement, repetition: String?): CanvasPattern? +// fun createPattern(image: ImageBitmap, repetition: String?): CanvasPattern? +// fun createPattern(image: OffscreenCanvas, repetition: String?): CanvasPattern? +// fun createRadialGradient(x0: Number, y0: Number, r0: Number, x1: Number, y1: Number, r1: Number): CanvasGradient +//} +// +//external interface CanvasFilters { +// var filter: String +//} +// +//external interface CanvasGradient { +// fun addColorStop(offset: Number, color: String) +//} +// +//external interface CanvasImageData { +// fun createImageData(sw: Number, sh: Number): ImageData +// fun createImageData(imagedata: ImageData): ImageData +// fun getImageData(sx: Number, sy: Number, sw: Number, sh: Number): ImageData +// fun putImageData(imagedata: ImageData, dx: Number, dy: Number) +// fun putImageData(imagedata: ImageData, dx: Number, dy: Number, dirtyX: Number, dirtyY: Number, dirtyWidth: Number, dirtyHeight: Number) +//} +// +//external interface CanvasImageSmoothing { +// var imageSmoothingEnabled: Boolean +// var imageSmoothingQuality: String /* "high" | "low" | "medium" */ +//} +// +//external interface CanvasPath { +// fun arc(x: Number, y: Number, radius: Number, startAngle: Number, endAngle: Number, anticlockwise: Boolean = definedExternally) +// fun arcTo(x1: Number, y1: Number, x2: Number, y2: Number, radius: Number) +// fun bezierCurveTo(cp1x: Number, cp1y: Number, cp2x: Number, cp2y: Number, x: Number, y: Number) +// fun closePath() +// fun ellipse(x: Number, y: Number, radiusX: Number, radiusY: Number, rotation: Number, startAngle: Number, endAngle: Number, anticlockwise: Boolean = definedExternally) +// fun lineTo(x: Number, y: Number) +// fun moveTo(x: Number, y: Number) +// fun quadraticCurveTo(cpx: Number, cpy: Number, x: Number, y: Number) +// fun rect(x: Number, y: Number, w: Number, h: Number) +//} +// +//external interface CanvasPathDrawingStyles { +// fun setLineDash(segments: Iterable) +// var lineCap: String /* "butt" | "round" | "square" */ +// var lineDashOffset: Number +// var lineJoin: String /* "bevel" | "miter" | "round" */ +// var lineWidth: Number +// var miterLimit: Number +// fun getLineDash(): Array +// fun setLineDash(segments: Array) +//} +// +//external interface CanvasPattern { +// fun setTransform(transform: DOMMatrix2DInit = definedExternally) +//} +// +//external interface CanvasRect { +// fun clearRect(x: Number, y: Number, w: Number, h: Number) +// fun fillRect(x: Number, y: Number, w: Number, h: Number) +// fun strokeRect(x: Number, y: Number, w: Number, h: Number) +//} +// +//external interface CanvasRenderingContext2D : CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface { +// val canvas: HTMLCanvasElement +//} +// +//external interface CanvasShadowStyles { +// var shadowBlur: Number +// var shadowColor: String +// var shadowOffsetX: Number +// var shadowOffsetY: Number +//} +// +//external interface CanvasState { +// fun restore() +// fun save() +//} +// +//external interface CanvasText { +// fun fillText(text: String, x: Number, y: Number, maxWidth: Number = definedExternally) +// fun measureText(text: String): TextMetrics +// fun strokeText(text: String, x: Number, y: Number, maxWidth: Number = definedExternally) +//} +// +//external interface CanvasTextDrawingStyles { +// var direction: String /* "inherit" | "ltr" | "rtl" */ +// var font: String +// var textAlign: String /* "center" | "end" | "left" | "right" | "start" */ +// var textBaseline: String /* "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top" */ +//} +// +//external interface CanvasTransform { +// fun getTransform(): DOMMatrix +// fun resetTransform() +// fun rotate(angle: Number) +// fun scale(x: Number, y: Number) +// fun setTransform(a: Number, b: Number, c: Number, d: Number, e: Number, f: Number) +// fun setTransform(transform: DOMMatrix2DInit = definedExternally) +// fun setTransform() +// fun transform(a: Number, b: Number, c: Number, d: Number, e: Number, f: Number) +// fun translate(x: Number, y: Number) +//} +// +//external interface CanvasUserInterface { +// fun drawFocusIfNeeded(element: Element) +// fun drawFocusIfNeeded(path: Path2D, element: Element) +// fun scrollPathIntoView() +// fun scrollPathIntoView(path: Path2D) +//} +// +//external interface CaretPosition { +// val offset: Number +// val offsetNode: Node +// fun getClientRect(): DOMRect? +//} +// +//external interface ChannelMergerNode : AudioNode +// +//external interface ChannelSplitterNode : AudioNode +// +//external interface CharacterData : Node, ChildNode, NonDocumentTypeChildNode { +// var data: String +// val length: Number +// fun appendData(data: String) +// fun deleteData(offset: Number, count: Number) +// fun insertData(offset: Number, data: String) +// fun replaceData(offset: Number, count: Number, data: String) +// fun substringData(offset: Number, count: Number): String +//} +// +//external interface ChildNode : Node { +// fun after(vararg nodes: Any /* Node | String */) +// fun before(vararg nodes: Any /* Node | String */) +// fun remove() +// fun replaceWith(vararg nodes: Any /* Node | String */) +//} +// +//external interface Clipboard : EventTarget { +// fun readText(): Promise +// fun writeText(data: String): Promise +//} +// +//external interface ClipboardEvent : Event { +// val clipboardData: DataTransfer? +//} +// +//external interface CloseEvent : Event { +// val code: Number +// val reason: String +// val wasClean: Boolean +//} +// +//external interface Comment : CharacterData +// +//external interface CompositionEvent : UIEvent { +// val data: String +//} +// +//external interface ConcatParams : Algorithm { +// var algorithmId: Uint8Array +// var hash: dynamic /* String? | Algorithm? */ +// get() = definedExternally +// set(value) = definedExternally +// var partyUInfo: Uint8Array +// var partyVInfo: Uint8Array +// var privateInfo: Uint8Array? +// get() = definedExternally +// set(value) = definedExternally +// var publicInfo: Uint8Array? +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface ConstantSourceNode : AudioScheduledSourceNode { +// val offset: AudioParam +// fun addEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ConstantSourceNode, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface ConvolverNode : AudioNode { +// var buffer: AudioBuffer? +// var normalize: Boolean +//} +// +//external interface Coordinates { +// val accuracy: Number +// val altitude: Number? +// val altitudeAccuracy: Number? +// val heading: Number? +// val latitude: Number +// val longitude: Number +// val speed: Number? +//} +// +//external interface Credential { +// val id: String +// val type: String +//} +// +//external interface CredentialsContainer { +// fun create(options: CredentialCreationOptions = definedExternally): Promise +// fun get(options: CredentialRequestOptions = definedExternally): Promise +// fun preventSilentAccess(): Promise +// fun store(credential: Credential): Promise +//} +// +//external interface Crypto { +// val subtle: SubtleCrypto +// fun getRandomValues(array: T): T +//} +// +//external interface CryptoKey { +// val algorithm: KeyAlgorithm +// val extractable: Boolean +// val type: String /* "private" | "public" | "secret" */ +// val usages: Array +//} +// +//external interface CryptoKeyPair { +// var privateKey: CryptoKey +// var publicKey: CryptoKey +//} +// +//external interface CustomElementRegistry { +// fun define(name: String, constructor: CustomElementConstructor, options: ElementDefinitionOptions = definedExternally) +// fun get(name: String): Any +// fun upgrade(root: Node) +// fun whenDefined(name: String): Promise +//} +// +//external interface CustomEvent : Event { +// val detail: T +// fun initCustomEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, detailArg: T) +//} +// +//external interface CustomEvent__0 : CustomEvent +// +//external interface DOMException { +// val code: Number +// val message: String +// val name: String +// val ABORT_ERR: Number +// val DATA_CLONE_ERR: Number +// val DOMSTRING_SIZE_ERR: Number +// val HIERARCHY_REQUEST_ERR: Number +// val INDEX_SIZE_ERR: Number +// val INUSE_ATTRIBUTE_ERR: Number +// val INVALID_ACCESS_ERR: Number +// val INVALID_CHARACTER_ERR: Number +// val INVALID_MODIFICATION_ERR: Number +// val INVALID_NODE_TYPE_ERR: Number +// val INVALID_STATE_ERR: Number +// val NAMESPACE_ERR: Number +// val NETWORK_ERR: Number +// val NOT_FOUND_ERR: Number +// val NOT_SUPPORTED_ERR: Number +// val NO_DATA_ALLOWED_ERR: Number +// val NO_MODIFICATION_ALLOWED_ERR: Number +// val QUOTA_EXCEEDED_ERR: Number +// val SECURITY_ERR: Number +// val SYNTAX_ERR: Number +// val TIMEOUT_ERR: Number +// val TYPE_MISMATCH_ERR: Number +// val URL_MISMATCH_ERR: Number +// val VALIDATION_ERR: Number +// val WRONG_DOCUMENT_ERR: Number +//} +// +//external interface DOMImplementation { +// fun createDocument(namespaceURI: String?, qualifiedName: String?, doctype: DocumentType?): Document +// fun createDocumentType(qualifiedName: String, publicId: String, systemId: String): DocumentType +// fun createHTMLDocument(title: String = definedExternally): Document +// fun hasFeature(vararg args: Any): Boolean +//} +// +//external interface DOML2DeprecatedColorProperty { +// var color: String +//} +// +//external interface DOMMatrix : DOMMatrixReadOnly { +// override var a: Number +// override var b: Number +// override var c: Number +// override var d: Number +// override var e: Number +// override var f: Number +// override var m11: Number +// override var m12: Number +// override var m13: Number +// override var m14: Number +// override var m21: Number +// override var m22: Number +// override var m23: Number +// override var m24: Number +// override var m31: Number +// override var m32: Number +// override var m33: Number +// override var m34: Number +// override var m41: Number +// override var m42: Number +// override var m43: Number +// override var m44: Number +// fun invertSelf(): DOMMatrix +// fun multiplySelf(other: DOMMatrixInit = definedExternally): DOMMatrix +// fun preMultiplySelf(other: DOMMatrixInit = definedExternally): DOMMatrix +// fun rotateAxisAngleSelf(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, angle: Number = definedExternally): DOMMatrix +// fun rotateFromVectorSelf(x: Number = definedExternally, y: Number = definedExternally): DOMMatrix +// fun rotateSelf(rotX: Number = definedExternally, rotY: Number = definedExternally, rotZ: Number = definedExternally): DOMMatrix +// fun scale3dSelf(scale: Number = definedExternally, originX: Number = definedExternally, originY: Number = definedExternally, originZ: Number = definedExternally): DOMMatrix +// fun scaleSelf(scaleX: Number = definedExternally, scaleY: Number = definedExternally, scaleZ: Number = definedExternally, originX: Number = definedExternally, originY: Number = definedExternally, originZ: Number = definedExternally): DOMMatrix +// fun setMatrixValue(transformList: String): DOMMatrix +// fun skewXSelf(sx: Number = definedExternally): DOMMatrix +// fun skewYSelf(sy: Number = definedExternally): DOMMatrix +// fun translateSelf(tx: Number = definedExternally, ty: Number = definedExternally, tz: Number = definedExternally): DOMMatrix +//} +// +//typealias SVGMatrix = DOMMatrix +// +//external interface DOMMatrixReadOnly { +// val a: Number +// val b: Number +// val c: Number +// val d: Number +// val e: Number +// val f: Number +// val is2D: Boolean +// val isIdentity: Boolean +// val m11: Number +// val m12: Number +// val m13: Number +// val m14: Number +// val m21: Number +// val m22: Number +// val m23: Number +// val m24: Number +// val m31: Number +// val m32: Number +// val m33: Number +// val m34: Number +// val m41: Number +// val m42: Number +// val m43: Number +// val m44: Number +// fun flipX(): DOMMatrix +// fun flipY(): DOMMatrix +// fun inverse(): DOMMatrix +// fun multiply(other: DOMMatrixInit = definedExternally): DOMMatrix +// fun rotate(rotX: Number = definedExternally, rotY: Number = definedExternally, rotZ: Number = definedExternally): DOMMatrix +// fun rotateAxisAngle(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, angle: Number = definedExternally): DOMMatrix +// fun rotateFromVector(x: Number = definedExternally, y: Number = definedExternally): DOMMatrix +// fun scale(scaleX: Number = definedExternally, scaleY: Number = definedExternally, scaleZ: Number = definedExternally, originX: Number = definedExternally, originY: Number = definedExternally, originZ: Number = definedExternally): DOMMatrix +// fun scale3d(scale: Number = definedExternally, originX: Number = definedExternally, originY: Number = definedExternally, originZ: Number = definedExternally): DOMMatrix +// fun scaleNonUniform(scaleX: Number = definedExternally, scaleY: Number = definedExternally): DOMMatrix +// fun skewX(sx: Number = definedExternally): DOMMatrix +// fun skewY(sy: Number = definedExternally): DOMMatrix +// fun toFloat32Array(): Float32Array +// fun toFloat64Array(): Float64Array +// fun toJSON(): Any +// fun transformPoint(point: DOMPointInit = definedExternally): DOMPoint +// fun translate(tx: Number = definedExternally, ty: Number = definedExternally, tz: Number = definedExternally): DOMMatrix +// override fun toString(): String +//} +// +//external interface DOMPoint : DOMPointReadOnly { +// override var w: Number +// override var x: Number +// override var y: Number +// override var z: Number +//} +// +//typealias SVGPoint = DOMPoint +// +//external interface DOMPointReadOnly { +// val w: Number +// val x: Number +// val y: Number +// val z: Number +// fun matrixTransform(matrix: DOMMatrixInit = definedExternally): DOMPoint +// fun toJSON(): Any +//} +// +//external interface DOMRect : DOMRectReadOnly { +// override var height: Number +// override var width: Number +// override var x: Number +// override var y: Number +//} +// +//typealias SVGRect = DOMRect +// +//external interface DOMRectList { +// val length: Number +// fun item(index: Number): DOMRect? +// @nativeGetter +// operator fun get(index: Number): DOMRect? +// @nativeSetter +// operator fun set(index: Number, value: DOMRect) +//} +// +//external interface DOMRectReadOnly { +// val bottom: Number +// val height: Number +// val left: Number +// val right: Number +// val top: Number +// val width: Number +// val x: Number +// val y: Number +// fun toJSON(): Any +//} +// +//external interface DOMStringList { +// val length: Number +// fun contains(string: String): Boolean +// fun item(index: Number): String? +// @nativeGetter +// operator fun get(index: Number): String? +// @nativeSetter +// operator fun set(index: Number, value: String) +//} +// +//external interface DOMStringMap { +// @nativeGetter +// operator fun get(name: String): String? +// @nativeSetter +// operator fun set(name: String, value: String?) +//} +// +//external interface DOMTokenList { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// val length: Number +// var value: String +// override fun toString(): String +// fun add(vararg tokens: String) +// fun contains(token: String): Boolean +// fun item(index: Number): String? +// fun remove(vararg tokens: String) +// fun replace(oldToken: String, newToken: String) +// fun supports(token: String): Boolean +// fun toggle(token: String, force: Boolean = definedExternally): Boolean +// fun forEach(callbackfn: (value: String, key: Number, parent: DOMTokenList) -> Unit, thisArg: Any = definedExternally) +// @nativeGetter +// operator fun get(index: Number): String? +// @nativeSetter +// operator fun set(index: Number, value: String) +//} +// +//external interface DataTransfer { +// var dropEffect: String +// var effectAllowed: String +// val files: FileList +// val items: DataTransferItemList +// val types: ReadonlyArray +// fun clearData(format: String = definedExternally) +// fun getData(format: String): String +// fun setData(format: String, data: String) +// fun setDragImage(image: Element, x: Number, y: Number) +//} +// +//external interface DataTransferItem { +// val kind: String +// val type: String +// fun getAsFile(): File? +// fun getAsString(callback: FunctionStringCallback?) +// fun webkitGetAsEntry(): Any +//} +// +//external interface DataTransferItemList { +// val length: Number +// fun add(data: String, type: String): DataTransferItem? +// fun add(data: File): DataTransferItem? +// fun clear() +// fun item(index: Number): DataTransferItem +// fun remove(index: Number) +// @nativeGetter +// operator fun get(name: Number): DataTransferItem? +// @nativeSetter +// operator fun set(name: Number, value: DataTransferItem) +//} +// +//external interface DeferredPermissionRequest { +// val id: Number +// val type: String /* "geolocation" | "media" | "pointerlock" | "unlimitedIndexedDBQuota" | "webnotifications" */ +// val uri: String +// fun allow() +// fun deny() +//} +// +//external interface DelayNode : AudioNode { +// val delayTime: AudioParam +//} +// +//external interface DeviceLightEvent : Event { +// val value: Number +//} +// +//external interface DeviceMotionEvent : Event { +// val acceleration: DeviceMotionEventAcceleration? +// val accelerationIncludingGravity: DeviceMotionEventAcceleration? +// val interval: Number +// val rotationRate: DeviceMotionEventRotationRate? +//} +// +//external interface DeviceMotionEventAcceleration { +// val x: Number? +// val y: Number? +// val z: Number? +//} +// +//external interface DeviceMotionEventRotationRate { +// val alpha: Number? +// val beta: Number? +// val gamma: Number? +//} +// +//external interface DeviceOrientationEvent : Event { +// val absolute: Boolean +// val alpha: Number? +// val beta: Number? +// val gamma: Number? +//} +// +//external interface DhImportKeyParams : Algorithm { +// var generator: Uint8Array +// var prime: Uint8Array +//} +// +//external interface DhKeyDeriveParams : Algorithm { +// var public: CryptoKey +//} +// +//external interface DhKeyGenParams : Algorithm { +// var generator: Uint8Array +// var prime: Uint8Array +//} +// +//external interface DocumentEventMap : GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { +// var fullscreenchange: Event +// var fullscreenerror: Event +// var pointerlockchange: Event +// var pointerlockerror: Event +// var readystatechange: Event +// var visibilitychange: Event +//} +// +//external interface Document : Node, DocumentAndElementEventHandlers, DocumentOrShadowRoot, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase { +// val URL: String +// var alinkColor: String +// val all: HTMLAllCollection +// val anchors: HTMLCollectionOf +// val applets: HTMLCollectionOf +// var bgColor: String +// var body: HTMLElement +// val characterSet: String +// val charset: String +// val compatMode: String +// val contentType: String +// var cookie: String +// val currentScript: dynamic /* HTMLScriptElement? | SVGScriptElement? */ +// get() = definedExternally +// val defaultView: dynamic /* typealias WindowProxy = dynamic */ +// get() = definedExternally +// var designMode: String +// var dir: String +// val doctype: DocumentType? +// val documentElement: HTMLElement +// val documentURI: String +// var domain: String +// val embeds: HTMLCollectionOf +// var fgColor: String +// val forms: HTMLCollectionOf +// val fullscreen: Boolean +// val fullscreenEnabled: Boolean +// val head: HTMLHeadElement +// val hidden: Boolean +// val images: HTMLCollectionOf +// val implementation: DOMImplementation +// val inputEncoding: String +// val lastModified: String +// var linkColor: String +// val links: HTMLCollectionOf +// var location: Location +// var onfullscreenchange: ((self: Document, ev: Event) -> Any)? +// var onfullscreenerror: ((self: Document, ev: Event) -> Any)? +// var onpointerlockchange: ((self: Document, ev: Event) -> Any)? +// var onpointerlockerror: ((self: Document, ev: Event) -> Any)? +// var onreadystatechange: ((self: Document, ev: Event) -> Any)? +// var onvisibilitychange: ((self: Document, ev: Event) -> Any)? +// val origin: String +// val plugins: HTMLCollectionOf +// val readyState: String /* "complete" | "interactive" | "loading" */ +// val referrer: String +// val scripts: HTMLCollectionOf +// val scrollingElement: Element? +// val timeline: DocumentTimeline +// var title: String +// val visibilityState: String /* "hidden" | "visible" */ +// var vlinkColor: String +// fun adoptNode(source: T): T +// fun captureEvents() +// override fun caretPositionFromPoint(x: Number, y: Number): CaretPosition? +// override fun caretRangeFromPoint(x: Number, y: Number): Range +// fun clear() +// fun close() +// fun createAttribute(localName: String): Attr +// fun createAttributeNS(namespace: String?, qualifiedName: String): Attr +// fun createCDATASection(data: String): CDATASection +// fun createComment(data: String): Comment +// fun createDocumentFragment(): DocumentFragment +// fun createElement(tagName: K, options: ElementCreationOptions = definedExternally): Any +// fun createElement(tagName: K): Any +// fun createElement(tagName: String, options: ElementCreationOptions = definedExternally): HTMLElement +// fun createElement(tagName: String): HTMLElement +// fun createElementNS(namespaceURI: String /* "http://www.w3.org/1999/xhtml" | "http://www.w3.org/2000/svg" */, qualifiedName: String): dynamic /* HTMLElement | SVGElement */ +// fun createElementNS(namespaceURI: String /* "http://www.w3.org/2000/svg" */, qualifiedName: K): Any +// fun createElementNS(namespaceURI: String?, qualifiedName: String, options: ElementCreationOptions = definedExternally): Element +// fun createElementNS(namespaceURI: String?, qualifiedName: String): Element +// fun createElementNS(namespace: String?, qualifiedName: String, options: String = definedExternally): Element +// fun createEvent(eventInterface: String /* "AnimationEvent" | "AnimationPlaybackEvent" | "AudioProcessingEvent" | "BeforeUnloadEvent" | "ClipboardEvent" | "CloseEvent" | "CompositionEvent" | "CustomEvent" | "DeviceLightEvent" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "DragEvent" | "ErrorEvent" | "Event" | "Events" | "FocusEvent" | "FocusNavigationEvent" | "GamepadEvent" | "HashChangeEvent" | "IDBVersionChangeEvent" | "InputEvent" | "KeyboardEvent" | "ListeningStateChangedEvent" | "MSGestureEvent" | "MSMediaKeyMessageEvent" | "MSMediaKeyNeededEvent" | "MSPointerEvent" | "MediaEncryptedEvent" | "MediaKeyMessageEvent" | "MediaQueryListEvent" | "MediaStreamErrorEvent" | "MediaStreamEvent" | "MediaStreamTrackEvent" | "MessageEvent" | "MouseEvent" | "MouseEvents" | "MutationEvent" | "MutationEvents" | "OfflineAudioCompletionEvent" | "OverflowEvent" | "PageTransitionEvent" | "PaymentRequestUpdateEvent" | "PermissionRequestedEvent" | "PointerEvent" | "PopStateEvent" | "ProgressEvent" | "PromiseRejectionEvent" | "RTCDTMFToneChangeEvent" | "RTCDataChannelEvent" | "RTCDtlsTransportStateChangedEvent" | "RTCErrorEvent" | "RTCIceCandidatePairChangedEvent" | "RTCIceGathererEvent" | "RTCIceTransportStateChangedEvent" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCSsrcConflictEvent" | "RTCStatsEvent" | "RTCTrackEvent" | "SVGZoomEvent" | "SVGZoomEvents" | "SecurityPolicyViolationEvent" | "ServiceWorkerMessageEvent" | "SpeechRecognitionEvent" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "StorageEvent" | "TextEvent" | "TouchEvent" | "TrackEvent" | "TransitionEvent" | "UIEvent" | "UIEvents" | "VRDisplayEvent" | "VRDisplayEvent " | "WebGLContextEvent" | "WheelEvent" */): dynamic /* Event */ +// fun createNodeIterator(root: Node, whatToShow: Number = definedExternally, filter: NodeFilter? = definedExternally): NodeIterator +// fun createProcessingInstruction(target: String, data: String): ProcessingInstruction +// fun createRange(): Range +// fun createTextNode(data: String): Text +// fun createTreeWalker(root: Node, whatToShow: Number = definedExternally, filter: NodeFilter? = definedExternally): TreeWalker +// fun createTreeWalker(root: Node): TreeWalker +// fun createTreeWalker(root: Node, whatToShow: Number = definedExternally): TreeWalker +// fun createTreeWalker(root: Node, whatToShow: Number, filter: NodeFilter?, entityReferenceExpansion: Boolean = definedExternally): TreeWalker +// override fun elementFromPoint(x: Number, y: Number): Element? +// override fun elementsFromPoint(x: Number, y: Number): Array +// fun execCommand(commandId: String, showUI: Boolean = definedExternally, value: String = definedExternally): Boolean +// fun exitFullscreen(): Promise +// fun exitPointerLock() +// fun getAnimations(): Array +// override fun getElementById(elementId: String): HTMLElement? +// fun getElementsByClassName(classNames: String): HTMLCollectionOf +// fun getElementsByName(elementName: String): NodeListOf +// fun getElementsByTagName(qualifiedName: K): HTMLCollectionOf +// fun getElementsByTagName(qualifiedName: String): HTMLCollectionOf +// fun getElementsByTagNameNS(namespaceURI: String /* "http://www.w3.org/1999/xhtml" | "http://www.w3.org/2000/svg" */, localName: String): dynamic /* HTMLCollectionOf */ +// override fun getSelection(): Selection? +// fun hasFocus(): Boolean +// fun importNode(importedNode: T, deep: Boolean): T +// fun open(url: String = definedExternally, name: String = definedExternally, features: String = definedExternally, replace: Boolean = definedExternally): Document +// fun queryCommandEnabled(commandId: String): Boolean +// fun queryCommandIndeterm(commandId: String): Boolean +// fun queryCommandState(commandId: String): Boolean +// fun queryCommandSupported(commandId: String): Boolean +// fun queryCommandValue(commandId: String): String +// fun releaseEvents() +// fun write(vararg text: String) +// fun writeln(vararg text: String) +// fun addEventListener(type: K, listener: (self: Document, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Document, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Document, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Document, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Document, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Document, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface DocumentAndElementEventHandlersEventMap { +// var copy: ClipboardEvent +// var cut: ClipboardEvent +// var paste: ClipboardEvent +//} +// +//external interface DocumentAndElementEventHandlers { +// var oncopy: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// var oncut: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// var onpaste: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// fun addEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListener) +// fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// fun removeEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: DocumentAndElementEventHandlers, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListener) +// fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +//} +// +//external interface DocumentEvent { +// fun createEvent(eventInterface: String /* "AnimationEvent" | "AnimationPlaybackEvent" | "AudioProcessingEvent" | "BeforeUnloadEvent" | "ClipboardEvent" | "CloseEvent" | "CompositionEvent" | "CustomEvent" | "DeviceLightEvent" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "DragEvent" | "ErrorEvent" | "Event" | "Events" | "FocusEvent" | "FocusNavigationEvent" | "GamepadEvent" | "HashChangeEvent" | "IDBVersionChangeEvent" | "InputEvent" | "KeyboardEvent" | "ListeningStateChangedEvent" | "MSGestureEvent" | "MSMediaKeyMessageEvent" | "MSMediaKeyNeededEvent" | "MSPointerEvent" | "MediaEncryptedEvent" | "MediaKeyMessageEvent" | "MediaQueryListEvent" | "MediaStreamErrorEvent" | "MediaStreamEvent" | "MediaStreamTrackEvent" | "MessageEvent" | "MouseEvent" | "MouseEvents" | "MutationEvent" | "MutationEvents" | "OfflineAudioCompletionEvent" | "OverflowEvent" | "PageTransitionEvent" | "PaymentRequestUpdateEvent" | "PermissionRequestedEvent" | "PointerEvent" | "PopStateEvent" | "ProgressEvent" | "PromiseRejectionEvent" | "RTCDTMFToneChangeEvent" | "RTCDataChannelEvent" | "RTCDtlsTransportStateChangedEvent" | "RTCErrorEvent" | "RTCIceCandidatePairChangedEvent" | "RTCIceGathererEvent" | "RTCIceTransportStateChangedEvent" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCSsrcConflictEvent" | "RTCStatsEvent" | "RTCTrackEvent" | "SVGZoomEvent" | "SVGZoomEvents" | "SecurityPolicyViolationEvent" | "ServiceWorkerMessageEvent" | "SpeechRecognitionEvent" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "StorageEvent" | "TextEvent" | "TouchEvent" | "TrackEvent" | "TransitionEvent" | "UIEvent" | "UIEvents" | "VRDisplayEvent" | "VRDisplayEvent " | "WebGLContextEvent" | "WheelEvent" */): dynamic /* Event */ +//} +// +//external interface DocumentFragment : Node, NonElementParentNode, ParentNode { +// override fun getElementById(elementId: String): HTMLElement? +//} +// +//external interface DocumentOrShadowRoot { +// val activeElement: Element? +// val fullscreenElement: Element? +// val pointerLockElement: Element? +// val styleSheets: StyleSheetList +// fun caretPositionFromPoint(x: Number, y: Number): CaretPosition? +// fun caretRangeFromPoint(x: Number, y: Number): Range +// fun elementFromPoint(x: Number, y: Number): Element? +// fun elementsFromPoint(x: Number, y: Number): Array +// fun getSelection(): Selection? +//} +// +//external interface DocumentTimeline : AnimationTimeline +// +//external interface DocumentType : Node, ChildNode { +// val name: String +// val publicId: String +// val systemId: String +//} +// +//external interface DragEvent : MouseEvent { +// val dataTransfer: DataTransfer? +//} +// +//external interface DynamicsCompressorNode : AudioNode { +// val attack: AudioParam +// val knee: AudioParam +// val ratio: AudioParam +// val reduction: Number +// val release: AudioParam +// val threshold: AudioParam +//} +// +//external interface EXT_blend_minmax { +// val MAX_EXT: GLenum +// val MIN_EXT: GLenum +//} +// +//external interface EXT_frag_depth +// +//external interface EXT_sRGB { +// val FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum +// val SRGB8_ALPHA8_EXT: GLenum +// val SRGB_ALPHA_EXT: GLenum +// val SRGB_EXT: GLenum +//} +// +//external interface EXT_shader_texture_lod +// +//external interface EXT_texture_filter_anisotropic { +// val MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum +// val TEXTURE_MAX_ANISOTROPY_EXT: GLenum +//} +// +//external interface ElementEventMap { +// var fullscreenchange: Event +// var fullscreenerror: Event +//} +// +//external interface Element : Node, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slotable { +// override val assignedSlot: HTMLSlotElement? +// val attributes: NamedNodeMap +// val classList: DOMTokenList +// var className: String +// val clientHeight: Number +// val clientLeft: Number +// val clientTop: Number +// val clientWidth: Number +// var id: String +// val localName: String +// override val namespaceURI: String? +// var onfullscreenchange: ((self: Element, ev: Event) -> Any)? +// var onfullscreenerror: ((self: Element, ev: Event) -> Any)? +// var outerHTML: String +// val prefix: String? +// val scrollHeight: Number +// var scrollLeft: Number +// var scrollTop: Number +// val scrollWidth: Number +// val shadowRoot: ShadowRoot? +// var slot: String +// val tagName: String +// fun attachShadow(init: ShadowRootInit): ShadowRoot +// fun closest(selector: K): Any +// fun closest(selector: String): E? +// fun getAttribute(qualifiedName: String): String? +// fun getAttributeNS(namespace: String?, localName: String): String? +// fun getAttributeNames(): Array +// fun getAttributeNode(name: String): Attr? +// fun getAttributeNodeNS(namespaceURI: String, localName: String): Attr? +// fun getBoundingClientRect(): DOMRect +// fun getClientRects(): DOMRectList +// fun getElementsByClassName(classNames: String): HTMLCollectionOf +// fun getElementsByTagName(qualifiedName: K): HTMLCollectionOf +// fun getElementsByTagName(qualifiedName: String): HTMLCollectionOf +// fun getElementsByTagNameNS(namespaceURI: String /* "http://www.w3.org/1999/xhtml" | "http://www.w3.org/2000/svg" */, localName: String): dynamic /* HTMLCollectionOf */ +// fun hasAttribute(qualifiedName: String): Boolean +// fun hasAttributeNS(namespace: String?, localName: String): Boolean +// fun hasAttributes(): Boolean +// fun hasPointerCapture(pointerId: Number): Boolean +// fun insertAdjacentElement(position: String /* "beforebegin" | "afterbegin" | "beforeend" | "afterend" */, insertedElement: Element): Element? +// fun insertAdjacentHTML(where: String /* "beforebegin" | "afterbegin" | "beforeend" | "afterend" */, html: String) +// fun insertAdjacentText(where: String /* "beforebegin" | "afterbegin" | "beforeend" | "afterend" */, text: String) +// fun matches(selectors: String): Boolean +// fun msGetRegionContent(): Any +// fun releasePointerCapture(pointerId: Number) +// fun removeAttribute(qualifiedName: String) +// fun removeAttributeNS(namespace: String?, localName: String) +// fun removeAttributeNode(attr: Attr): Attr +// fun requestFullscreen(options: FullscreenOptions = definedExternally): Promise +// fun requestPointerLock() +// fun scroll(options: ScrollToOptions = definedExternally) +// fun scroll() +// fun scroll(x: Number, y: Number) +// fun scrollBy(options: ScrollToOptions = definedExternally) +// fun scrollBy() +// fun scrollBy(x: Number, y: Number) +// fun scrollIntoView(arg: Boolean = definedExternally) +// fun scrollIntoView() +// fun scrollIntoView(arg: ScrollIntoViewOptions = definedExternally) +// fun scrollTo(options: ScrollToOptions = definedExternally) +// fun scrollTo() +// fun scrollTo(x: Number, y: Number) +// fun setAttribute(qualifiedName: String, value: String) +// fun setAttributeNS(namespace: String?, qualifiedName: String, value: String) +// fun setAttributeNode(attr: Attr): Attr? +// fun setAttributeNodeNS(attr: Attr): Attr? +// fun setPointerCapture(pointerId: Number) +// fun toggleAttribute(qualifiedName: String, force: Boolean = definedExternally): Boolean +// fun webkitMatchesSelector(selectors: String): Boolean +// fun addEventListener(type: K, listener: (self: Element, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Element, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Element, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Element, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Element, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Element, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface ElementCSSInlineStyle { +// val style: CSSStyleDeclaration +//} +// +//external interface ElementContentEditable { +// var contentEditable: String +// var inputMode: String +// val isContentEditable: Boolean +//} +// +//external interface ErrorEvent : Event { +// val colno: Number +// val error: Any +// val filename: String +// val lineno: Number +// val message: String +//} +// +//external interface Event { +// val bubbles: Boolean +// var cancelBubble: Boolean +// val cancelable: Boolean +// val composed: Boolean +// val currentTarget: EventTarget? +// val defaultPrevented: Boolean +// val eventPhase: Number +// val isTrusted: Boolean +// var returnValue: Boolean +// val srcElement: EventTarget? +// val target: EventTarget? +// val timeStamp: Number +// val type: String +// fun composedPath(): Array +// fun initEvent(type: String, bubbles: Boolean = definedExternally, cancelable: Boolean = definedExternally) +// fun preventDefault() +// fun stopImmediatePropagation() +// fun stopPropagation() +// val AT_TARGET: Number +// val BUBBLING_PHASE: Number +// val CAPTURING_PHASE: Number +// val NONE: Number +//} +// +//external interface EventListenerObject { +// fun handleEvent(evt: Event) +//} +// +//external interface EventTarget { +// fun addEventListener(type: String, listener: EventListener?, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListener?) +// fun addEventListener(type: String, listener: EventListener?, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions = definedExternally) +// fun dispatchEvent(event: Event): Boolean +// fun removeEventListener(type: String, callback: EventListener?, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, callback: EventListener?) +// fun removeEventListener(type: String, callback: EventListener?, options: Boolean = definedExternally) +// fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean = definedExternally) +//} +// +//external interface ExtensionScriptApis { +// fun extensionIdToShortId(extensionId: String): Number +// fun fireExtensionApiTelemetry(functionName: String, isSucceeded: Boolean, isSupported: Boolean, errorString: String) +// fun genericFunction(routerAddress: Any, parameters: String = definedExternally, callbackId: Number = definedExternally) +// fun genericSynchronousFunction(functionId: Number, parameters: String = definedExternally): String +// fun genericWebRuntimeCallout(to: Any, from: Any, payload: String) +// fun getExtensionId(): String +// fun registerGenericFunctionCallbackHandler(callbackHandler: Function<*>) +// fun registerGenericPersistentCallbackHandler(callbackHandler: Function<*>) +// fun registerWebRuntimeCallbackHandler(handler: Function<*>): Any +//} +// +//external interface External { +// fun AddSearchProvider() +// fun IsSearchProviderInstalled() +//} +// +//external interface File : Blob { +// val lastModified: Number +// val name: String +//} +// +//external interface FileList { +// val length: Number +// fun item(index: Number): File? +// @nativeGetter +// operator fun get(index: Number): File? +// @nativeSetter +// operator fun set(index: Number, value: File) +//} +// +//external interface FocusEvent : UIEvent { +// val relatedTarget: EventTarget? +//} +// +//external interface FocusNavigationEvent : Event { +// val navigationReason: String /* "down" | "left" | "right" | "up" */ +// val originHeight: Number +// val originLeft: Number +// val originTop: Number +// val originWidth: Number +// fun requestFocus() +//} +// +//external interface FormData { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// fun append(name: String, value: String, fileName: String = definedExternally) +// fun append(name: String, value: String) +// fun append(name: String, value: Blob, fileName: String = definedExternally) +// fun append(name: String, value: Blob) +// fun delete(name: String) +// fun get(name: String): dynamic /* File? | String? */ +// fun getAll(name: String): Array +// fun has(name: String): Boolean +// fun set(name: String, value: String, fileName: String = definedExternally) +// fun set(name: String, value: String) +// fun set(name: String, value: Blob, fileName: String = definedExternally) +// fun set(name: String, value: Blob) +// fun forEach(callbackfn: (value: Any /* File | String */, key: String, parent: FormData) -> Unit, thisArg: Any = definedExternally) +//} +// +//external interface GainNode : AudioNode { +// val gain: AudioParam +//} +// +//external interface Gamepad { +// val hapticActuators: Array +// val axes: ReadonlyArray +// val buttons: ReadonlyArray +// val connected: Boolean +// val hand: String /* "" | "left" | "right" */ +// val hapticActuators: ReadonlyArray +// val id: String +// val index: Number +// val mapping: String /* "" | "standard" */ +// val pose: GamepadPose? +// val timestamp: Number +//} +// +//external interface GamepadButton { +// val pressed: Boolean +// val touched: Boolean +// val value: Number +//} +// +//external interface GamepadEvent : Event { +// val gamepad: Gamepad +//} +// +//external interface GamepadHapticActuator { +// fun pulse(value: Number, duration: Number): Promise +// val type: String /* "vibration" */ +//} +// +//external interface GamepadPose { +// val angularAcceleration: Float32Array? +// val angularVelocity: Float32Array? +// val hasOrientation: Boolean +// val hasPosition: Boolean +// val linearAcceleration: Float32Array? +// val linearVelocity: Float32Array? +// val orientation: Float32Array? +// val position: Float32Array? +//} +// +//external interface Geolocation { +// fun clearWatch(watchId: Number) +// fun getCurrentPosition(successCallback: PositionCallback, errorCallback: PositionErrorCallback = definedExternally, options: PositionOptions = definedExternally) +// fun watchPosition(successCallback: PositionCallback, errorCallback: PositionErrorCallback = definedExternally, options: PositionOptions = definedExternally): Number +//} +// +//external interface GlobalEventHandlersEventMap { +// var beforexrselect: XRSessionEvent +// var abort: UIEvent +// var animationcancel: AnimationEvent +// var animationend: AnimationEvent +// var animationiteration: AnimationEvent +// var animationstart: AnimationEvent +// var auxclick: MouseEvent +// var blur: FocusEvent +// var cancel: Event +// var canplay: Event +// var canplaythrough: Event +// var change: Event +// var click: MouseEvent +// var close: Event +// var contextmenu: MouseEvent +// var cuechange: Event +// var dblclick: MouseEvent +// var drag: DragEvent +// var dragend: DragEvent +// var dragenter: DragEvent +// var dragexit: Event +// var dragleave: DragEvent +// var dragover: DragEvent +// var dragstart: DragEvent +// var drop: DragEvent +// var durationchange: Event +// var emptied: Event +// var ended: Event +// var error: ErrorEvent +// var focus: FocusEvent +// var focusin: FocusEvent +// var focusout: FocusEvent +// var gotpointercapture: PointerEvent +// var input: Event +// var invalid: Event +// var keydown: KeyboardEvent +// var keypress: KeyboardEvent +// var keyup: KeyboardEvent +// var load: Event +// var loadeddata: Event +// var loadedmetadata: Event +// var loadstart: Event +// var lostpointercapture: PointerEvent +// var mousedown: MouseEvent +// var mouseenter: MouseEvent +// var mouseleave: MouseEvent +// var mousemove: MouseEvent +// var mouseout: MouseEvent +// var mouseover: MouseEvent +// var mouseup: MouseEvent +// var pause: Event +// var play: Event +// var playing: Event +// var pointercancel: PointerEvent +// var pointerdown: PointerEvent +// var pointerenter: PointerEvent +// var pointerleave: PointerEvent +// var pointermove: PointerEvent +// var pointerout: PointerEvent +// var pointerover: PointerEvent +// var pointerup: PointerEvent +// var progress: ProgressEvent +// var ratechange: Event +// var reset: Event +// var resize: UIEvent +// var scroll: Event +// var securitypolicyviolation: SecurityPolicyViolationEvent +// var seeked: Event +// var seeking: Event +// var select: Event +// var selectionchange: Event +// var selectstart: Event +// var stalled: Event +// var submit: Event +// var suspend: Event +// var timeupdate: Event +// var toggle: Event +// var touchcancel: TouchEvent +// var touchend: TouchEvent +// var touchmove: TouchEvent +// var touchstart: TouchEvent +// var transitioncancel: TransitionEvent +// var transitionend: TransitionEvent +// var transitionrun: TransitionEvent +// var transitionstart: TransitionEvent +// var volumechange: Event +// var waiting: Event +// var wheel: WheelEvent +//} +// +//external interface GlobalEventHandlers { +// var onbeforexrselect: ((self: GlobalEventHandlers, ev: XRSessionEvent) -> Any)? +// var onabort: ((self: GlobalEventHandlers, ev: UIEvent) -> Any)? +// var onanimationcancel: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// var onanimationend: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// var onanimationiteration: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// var onanimationstart: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// var onauxclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onblur: ((self: GlobalEventHandlers, ev: FocusEvent) -> Any)? +// var oncancel: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var oncanplay: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var oncanplaythrough: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onclose: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var oncontextmenu: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var oncuechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var ondblclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var ondrag: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondragend: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondragenter: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondragexit: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var ondragleave: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondragover: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondragstart: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondrop: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// var ondurationchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onemptied: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onended: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onerror: OnErrorEventHandlerNonNull? +// var onfocus: ((self: GlobalEventHandlers, ev: FocusEvent) -> Any)? +// var ongotpointercapture: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var oninput: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var oninvalid: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onkeydown: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// var onkeypress: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// var onkeyup: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// var onload: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onloadeddata: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onloadedmetadata: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onloadstart: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onlostpointercapture: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onmousedown: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmouseenter: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmouseleave: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmousemove: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmouseout: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmouseover: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onmouseup: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// var onpause: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onplay: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onplaying: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onpointercancel: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerdown: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerenter: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerleave: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointermove: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerout: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerover: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onpointerup: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// var onprogress: ((self: GlobalEventHandlers, ev: ProgressEvent) -> Any)? +// var onratechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onreset: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onresize: ((self: GlobalEventHandlers, ev: UIEvent) -> Any)? +// var onscroll: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onsecuritypolicyviolation: ((self: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) -> Any)? +// var onseeked: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onseeking: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onselect: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onselectionchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onselectstart: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onstalled: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onsubmit: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onsuspend: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var ontimeupdate: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var ontoggle: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var ontouchcancel: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// var ontouchend: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// var ontouchmove: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// var ontouchstart: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// var ontransitioncancel: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// var ontransitionend: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// var ontransitionrun: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// var ontransitionstart: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// var onvolumechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onwaiting: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// var onwheel: ((self: GlobalEventHandlers, ev: WheelEvent) -> Any)? +// fun addEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListener) +// fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// fun removeEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: GlobalEventHandlers, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListener) +// fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +//} +// +//external interface HTMLAllCollection { +// val length: Number +// fun item(nameOrIndex: String = definedExternally): dynamic /* HTMLCollection? | Element? */ +// fun namedItem(name: String): dynamic /* HTMLCollection? | Element? */ +// @nativeGetter +// operator fun get(index: Number): Element? +// @nativeSetter +// operator fun set(index: Number, value: Element) +//} +// +//external interface HTMLAnchorElement : HTMLElement, HTMLHyperlinkElementUtils { +// var charset: String +// var coords: String +// var download: String +// var hreflang: String +// var name: String +// var ping: String +// var referrerPolicy: String +// var rel: String +// val relList: DOMTokenList +// var rev: String +// var shape: String +// var target: String +// var text: String +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLAnchorElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLAppletElement : HTMLElement { +// var align: String +// var alt: String +// var archive: String +// var code: String +// var codeBase: String +// val form: HTMLFormElement? +// var height: String +// var hspace: Number +// var name: String +// var `object`: String +// var vspace: Number +// var width: String +// fun addEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLAppletElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLAreaElement : HTMLElement, HTMLHyperlinkElementUtils { +// var alt: String +// var coords: String +// var download: String +// var noHref: Boolean +// var ping: String +// var referrerPolicy: String +// var rel: String +// val relList: DOMTokenList +// var shape: String +// var target: String +// fun addEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLAreaElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLAudioElement : HTMLMediaElement { +// fun addEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLAudioElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLBRElement : HTMLElement { +// var clear: String +// fun addEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLBRElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLBaseElement : HTMLElement { +// var href: String +// var target: String +// fun addEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLBaseElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLBaseFontElement : HTMLElement, DOML2DeprecatedColorProperty { +// var face: String +// var size: Number +// fun addEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLBaseFontElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLBodyElementEventMap : HTMLElementEventMap, WindowEventHandlersEventMap { +// var orientationchange: Event +//} +// +//external interface HTMLBodyElement : HTMLElement, WindowEventHandlers { +// var aLink: String +// var background: String +// var bgColor: String +// var link: String +// var onorientationchange: ((self: HTMLBodyElement, ev: Event) -> Any)? +// var text: String +// var vLink: String +// fun addEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLBodyElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLButtonElement : HTMLElement { +// var disabled: Boolean +// val form: HTMLFormElement? +// var formAction: String +// var formEnctype: String +// var formMethod: String +// var formNoValidate: Boolean +// var formTarget: String +// val labels: NodeListOf +// var name: String +// var type: String +// val validationMessage: String +// val validity: ValidityState +// var value: String +// val willValidate: Boolean +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun setCustomValidity(error: String) +// fun addEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLButtonElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLCanvasElement : HTMLElement { +// var height: Number +// var width: Number +// fun getContext(contextId: String /* "2d" */, options: CanvasRenderingContext2DSettings = definedExternally): CanvasRenderingContext2D? +// fun getContext(contextId: String /* "2d" | "bitmaprenderer" | "webgl" | "webgl2" */): dynamic /* WebGL2RenderingContext | CanvasRenderingContext2D? | ImageBitmapRenderingContext? | WebGLRenderingContext? | WebGL2RenderingContext? */ +// fun getContext(contextId: String /* "bitmaprenderer" */, options: ImageBitmapRenderingContextSettings = definedExternally): ImageBitmapRenderingContext? +// fun getContext(contextId: String /* "webgl" | "webgl2" */, options: WebGLContextAttributes = definedExternally): dynamic /* WebGLRenderingContext | WebGL2RenderingContext */ +// fun getContext(contextId: String, options: Any = definedExternally): dynamic /* CanvasRenderingContext2D? | ImageBitmapRenderingContext? | WebGLRenderingContext? | WebGL2RenderingContext? */ +// fun toBlob(callback: BlobCallback, type: String = definedExternally, quality: Any = definedExternally) +// fun toDataURL(type: String = definedExternally, quality: Any = definedExternally): String +// fun transferControlToOffscreen(): OffscreenCanvas +// fun addEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLCanvasElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLCollectionBase { +// val length: Number +// fun item(index: Number): Element? +// @nativeGetter +// operator fun get(index: Number): Element? +// @nativeSetter +// operator fun set(index: Number, value: Element) +//} +// +//external interface HTMLCollection : HTMLCollectionBase { +// fun namedItem(name: String): Element? +//} +// +//external interface HTMLCollectionOf : HTMLCollectionBase { +// fun item(index: Number): T? +// fun namedItem(name: String): T? +// @nativeGetter +// operator fun get(index: Number): T? +// @nativeSetter +// override operator fun set(index: Number, value: T) +//} +// +//external interface HTMLDListElement : HTMLElement { +// var compact: Boolean +// fun addEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDListElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDataElement : HTMLElement { +// var value: String +// fun addEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDataElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDataListElement : HTMLElement { +// val options: HTMLCollectionOf +// fun addEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDataListElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDetailsElement : HTMLElement { +// var open: Boolean +// fun addEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDetailsElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDialogElement : HTMLElement { +// var open: Boolean +// var returnValue: String +// fun close(returnValue: String = definedExternally) +// fun show() +// fun showModal() +// fun addEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDialogElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDirectoryElement : HTMLElement { +// var compact: Boolean +// fun addEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDirectoryElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLDivElement : HTMLElement { +// var align: String +// fun addEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLDivElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLElementEventMap : ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap +// +//external interface HTMLElement : Element, DocumentAndElementEventHandlers, ElementCSSInlineStyle, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement { +// var accessKey: String +// val accessKeyLabel: String +// var autocapitalize: String +// var dir: String +// var draggable: Boolean +// var hidden: Boolean +// var innerText: String +// var lang: String +// val offsetHeight: Number +// val offsetLeft: Number +// val offsetParent: Element? +// val offsetTop: Number +// val offsetWidth: Number +// var spellcheck: Boolean +// var title: String +// var translate: Boolean +// fun click() +// fun addEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// override val style: CSSStyleDeclaration +//} +// +//external interface HTMLEmbedElement : HTMLElement { +// var align: String +// var height: String +// var name: String +// var src: String +// var type: String +// var width: String +// fun getSVGDocument(): Document? +// fun addEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLEmbedElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLFieldSetElement : HTMLElement { +// var disabled: Boolean +// val elements: HTMLCollection +// val form: HTMLFormElement? +// var name: String +// val type: String +// val validationMessage: String +// val validity: ValidityState +// val willValidate: Boolean +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun setCustomValidity(error: String) +// fun addEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLFieldSetElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLFontElement : HTMLElement { +// var color: String +// var face: String +// var size: String +// fun addEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLFontElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLFormControlsCollection : HTMLCollectionBase { +// fun namedItem(name: String): dynamic /* RadioNodeList? | Element? */ +//} +// +//external interface HTMLFormElement : HTMLElement { +// var acceptCharset: String +// var action: String +// var autocomplete: String +// val elements: HTMLFormControlsCollection +// var encoding: String +// var enctype: String +// val length: Number +// var method: String +// var name: String +// var noValidate: Boolean +// var target: String +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun reset() +// fun submit() +// fun addEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLFormElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// @nativeGetter +// operator fun get(index: Number): Element? +// @nativeSetter +// operator fun set(index: Number, value: Element) +// @nativeGetter +// operator fun get(name: String): Any? +// @nativeSetter +// operator fun set(name: String, value: Any) +//} +// +//external interface HTMLFrameElement : HTMLElement { +// val contentDocument: Document? +// val contentWindow: dynamic /* typealias WindowProxy = dynamic */ +// get() = definedExternally +// var frameBorder: String +// var longDesc: String +// var marginHeight: String +// var marginWidth: String +// var name: String +// var noResize: Boolean +// var scrolling: String +// var src: String +// fun addEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLFrameElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLFrameSetElementEventMap : HTMLElementEventMap, WindowEventHandlersEventMap +// +//external interface HTMLFrameSetElement : HTMLElement, WindowEventHandlers { +// var cols: String +// var rows: String +// fun addEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLFrameSetElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLHRElement : HTMLElement { +// var align: String +// var color: String +// var noShade: Boolean +// var size: String +// var width: String +// fun addEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLHRElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLHeadElement : HTMLElement { +// fun addEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLHeadElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLHeadingElement : HTMLElement { +// var align: String +// fun addEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLHeadingElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLHtmlElement : HTMLElement { +// var version: String +// fun addEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLHtmlElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLHyperlinkElementUtils { +// var hash: String +// var host: String +// var hostname: String +// var href: String +// override fun toString(): String +// val origin: String +// var password: String +// var pathname: String +// var port: String +// var protocol: String +// var search: String +// var username: String +//} +// +//external interface HTMLIFrameElement : HTMLElement { +// var align: String +// var allow: String +// var allowFullscreen: Boolean +// var allowPaymentRequest: Boolean +// val contentDocument: Document? +// val contentWindow: dynamic /* typealias WindowProxy = dynamic */ +// get() = definedExternally +// var frameBorder: String +// var height: String +// var longDesc: String +// var marginHeight: String +// var marginWidth: String +// var name: String +// var referrerPolicy: String /* "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" */ +// val sandbox: DOMTokenList +// var scrolling: String +// var src: String +// var srcdoc: String +// var width: String +// fun getSVGDocument(): Document? +// fun addEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLIFrameElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLImageElement : HTMLElement { +// var align: String +// var alt: String +// var border: String +// val complete: Boolean +// var crossOrigin: String? +// val currentSrc: String +// var decoding: String /* "async" | "sync" | "auto" */ +// var height: Number +// var hspace: Number +// var isMap: Boolean +// var longDesc: String +// var lowsrc: String +// var name: String +// val naturalHeight: Number +// val naturalWidth: Number +// var referrerPolicy: String +// var sizes: String +// var src: String +// var srcset: String +// var useMap: String +// var vspace: Number +// var width: Number +// val x: Number +// val y: Number +// fun decode(): Promise +// fun addEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLImageElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLInputElement : HTMLElement { +// var accept: String +// var align: String +// var alt: String +// var autocomplete: String +// var checked: Boolean +// var defaultChecked: Boolean +// var defaultValue: String +// var dirName: String +// var disabled: Boolean +// var files: FileList? +// val form: HTMLFormElement? +// var formAction: String +// var formEnctype: String +// var formMethod: String +// var formNoValidate: Boolean +// var formTarget: String +// var height: Number +// var indeterminate: Boolean +// val labels: NodeListOf? +// val list: HTMLElement? +// var max: String +// var maxLength: Number +// var min: String +// var minLength: Number +// var multiple: Boolean +// var name: String +// var pattern: String +// var placeholder: String +// var readOnly: Boolean +// var required: Boolean +// var selectionDirection: String /* "forward" | "backward" | "none" */ +// var selectionEnd: Number? +// var selectionStart: Number? +// var size: Number +// var src: String +// var step: String +// var type: String +// var useMap: String +// val validationMessage: String +// val validity: ValidityState +// var value: String +// var valueAsDate: Date? +// var valueAsNumber: Number +// var width: Number +// val willValidate: Boolean +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun select() +// fun setCustomValidity(error: String) +// fun setRangeText(replacement: String) +// fun setRangeText(replacement: String, start: Number, end: Number, selectionMode: String /* "end" | "preserve" | "select" | "start" */ = definedExternally) +// fun setRangeText(replacement: String, start: Number, end: Number) +// fun setSelectionRange(start: Number, end: Number, direction: String /* "forward" | "backward" | "none" */ = definedExternally) +// fun stepDown(n: Number = definedExternally) +// fun stepUp(n: Number = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLInputElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLLIElement : HTMLElement { +// var type: String +// var value: Number +// fun addEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLLIElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLLabelElement : HTMLElement { +// val control: HTMLElement? +// val form: HTMLFormElement? +// var htmlFor: String +// fun addEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLLabelElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLLegendElement : HTMLElement { +// var align: String +// val form: HTMLFormElement? +// fun addEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLLegendElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLLinkElement : HTMLElement, LinkStyle { +// var `as`: String +// var charset: String +// var crossOrigin: String? +// var disabled: Boolean +// var href: String +// var hreflang: String +// var imageSizes: String +// var imageSrcset: String +// var integrity: String +// var media: String +// var referrerPolicy: String +// var rel: String +// val relList: DOMTokenList +// var rev: String +// val sizes: DOMTokenList +// var target: String +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLLinkElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMapElement : HTMLElement { +// val areas: HTMLCollection +// var name: String +// fun addEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMapElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMarqueeElementEventMap : HTMLElementEventMap { +// var bounce: Event +// var finish: Event +// var start: Event +//} +// +//external interface HTMLMarqueeElement : HTMLElement { +// var behavior: String +// var bgColor: String +// var direction: String +// var height: String +// var hspace: Number +// var loop: Number +// var onbounce: ((self: HTMLMarqueeElement, ev: Event) -> Any)? +// var onfinish: ((self: HTMLMarqueeElement, ev: Event) -> Any)? +// var onstart: ((self: HTMLMarqueeElement, ev: Event) -> Any)? +// var scrollAmount: Number +// var scrollDelay: Number +// var trueSpeed: Boolean +// var vspace: Number +// var width: String +// fun start() +// fun stop() +// fun addEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMarqueeElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMediaElementEventMap : HTMLElementEventMap { +// var encrypted: MediaEncryptedEvent +// var waitingforkey: Event +//} +// +//external interface HTMLMediaElement : HTMLElement { +// var autoplay: Boolean +// val buffered: TimeRanges +// var controls: Boolean +// var crossOrigin: String? +// val currentSrc: String +// var currentTime: Number +// var defaultMuted: Boolean +// var defaultPlaybackRate: Number +// val duration: Number +// val ended: Boolean +// val error: MediaError? +// var loop: Boolean +// val mediaKeys: MediaKeys? +// var muted: Boolean +// val networkState: Number +// var onencrypted: ((self: HTMLMediaElement, ev: MediaEncryptedEvent) -> Any)? +// var onwaitingforkey: ((self: HTMLMediaElement, ev: Event) -> Any)? +// val paused: Boolean +// var playbackRate: Number +// val played: TimeRanges +// var preload: String +// val readyState: Number +// val seekable: TimeRanges +// val seeking: Boolean +// var src: String +// var srcObject: dynamic /* MediaStream? | MediaSource? | Blob? */ +// get() = definedExternally +// set(value) = definedExternally +// val textTracks: TextTrackList +// var volume: Number +// fun addTextTrack(kind: String /* "captions" | "chapters" | "descriptions" | "metadata" | "subtitles" */, label: String = definedExternally, language: String = definedExternally): TextTrack +// fun canPlayType(type: String): String /* "" | "maybe" | "probably" */ +// fun fastSeek(time: Number) +// fun load() +// fun pause() +// fun play(): Promise +// fun setMediaKeys(mediaKeys: MediaKeys?): Promise +// val HAVE_CURRENT_DATA: Number +// val HAVE_ENOUGH_DATA: Number +// val HAVE_FUTURE_DATA: Number +// val HAVE_METADATA: Number +// val HAVE_NOTHING: Number +// val NETWORK_EMPTY: Number +// val NETWORK_IDLE: Number +// val NETWORK_LOADING: Number +// val NETWORK_NO_SOURCE: Number +// fun addEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMediaElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMenuElement : HTMLElement { +// var compact: Boolean +// fun addEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMenuElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMetaElement : HTMLElement { +// var content: String +// var httpEquiv: String +// var name: String +// var scheme: String +// fun addEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMetaElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLMeterElement : HTMLElement { +// var high: Number +// val labels: NodeListOf +// var low: Number +// var max: Number +// var min: Number +// var optimum: Number +// var value: Number +// fun addEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLMeterElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLModElement : HTMLElement { +// var cite: String +// var dateTime: String +// fun addEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLModElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLOListElement : HTMLElement { +// var compact: Boolean +// var reversed: Boolean +// var start: Number +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLOListElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLObjectElement : HTMLElement { +// var align: String +// var archive: String +// var border: String +// var code: String +// var codeBase: String +// var codeType: String +// val contentDocument: Document? +// val contentWindow: dynamic /* typealias WindowProxy = dynamic */ +// get() = definedExternally +// var data: String +// var declare: Boolean +// val form: HTMLFormElement? +// var height: String +// var hspace: Number +// var name: String +// var standby: String +// var type: String +// var useMap: String +// val validationMessage: String +// val validity: ValidityState +// var vspace: Number +// var width: String +// val willValidate: Boolean +// fun checkValidity(): Boolean +// fun getSVGDocument(): Document? +// fun reportValidity(): Boolean +// fun setCustomValidity(error: String) +// fun addEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLObjectElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLOptGroupElement : HTMLElement { +// var disabled: Boolean +// val form: HTMLFormElement? +// var label: String +// fun addEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLOptGroupElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLOptionElement : HTMLElement { +// var defaultSelected: Boolean +// var disabled: Boolean +// val form: HTMLFormElement? +// val index: Number +// var label: String +// var selected: Boolean +// var text: String +// var value: String +// fun addEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLOptionElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLOptionsCollection : HTMLCollectionOf { +// override var length: Number +// var selectedIndex: Number +// fun add(element: HTMLOptionElement, before: HTMLElement? = definedExternally) +// fun add(element: HTMLOptionElement) +// fun add(element: HTMLOptionElement, before: Number? = definedExternally) +// fun add(element: HTMLOptGroupElement, before: HTMLElement? = definedExternally) +// fun add(element: HTMLOptGroupElement) +// fun add(element: HTMLOptGroupElement, before: Number? = definedExternally) +// fun remove(index: Number) +//} +// +//external interface HTMLOrSVGElement { +// var autofocus: Boolean +// val dataset: DOMStringMap +// var nonce: String? +// get() = definedExternally +// set(value) = definedExternally +// var tabIndex: Number +// fun blur() +// fun focus(options: FocusOptions = definedExternally) +//} +// +//external interface HTMLOutputElement : HTMLElement { +// var defaultValue: String +// val form: HTMLFormElement? +// val htmlFor: DOMTokenList +// val labels: NodeListOf +// var name: String +// val type: String +// val validationMessage: String +// val validity: ValidityState +// var value: String +// val willValidate: Boolean +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun setCustomValidity(error: String) +// fun addEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLOutputElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLParagraphElement : HTMLElement { +// var align: String +// fun addEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLParagraphElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLParamElement : HTMLElement { +// var name: String +// var type: String +// var value: String +// var valueType: String +// fun addEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLParamElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLPictureElement : HTMLElement { +// fun addEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLPictureElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLPreElement : HTMLElement { +// var width: Number +// fun addEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLPreElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLProgressElement : HTMLElement { +// val labels: NodeListOf +// var max: Number +// val position: Number +// var value: Number +// fun addEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLProgressElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLQuoteElement : HTMLElement { +// var cite: String +// fun addEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLQuoteElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLScriptElement : HTMLElement { +// var async: Boolean +// var charset: String +// var crossOrigin: String? +// var defer: Boolean +// var event: String +// var htmlFor: String +// var integrity: String +// var noModule: Boolean +// var referrerPolicy: String +// var src: String +// var text: String +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLScriptElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLSelectElement : HTMLElement { +// var autocomplete: String +// var disabled: Boolean +// val form: HTMLFormElement? +// val labels: NodeListOf +// var length: Number +// var multiple: Boolean +// var name: String +// val options: HTMLOptionsCollection +// var required: Boolean +// var selectedIndex: Number +// val selectedOptions: HTMLCollectionOf +// var size: Number +// val type: String +// val validationMessage: String +// val validity: ValidityState +// var value: String +// val willValidate: Boolean +// fun add(element: HTMLOptionElement, before: HTMLElement? = definedExternally) +// fun add(element: HTMLOptionElement) +// fun add(element: HTMLOptionElement, before: Number? = definedExternally) +// fun add(element: HTMLOptGroupElement, before: HTMLElement? = definedExternally) +// fun add(element: HTMLOptGroupElement) +// fun add(element: HTMLOptGroupElement, before: Number? = definedExternally) +// fun checkValidity(): Boolean +// fun item(index: Number): Element? +// fun namedItem(name: String): HTMLOptionElement? +// override fun remove() +// fun remove(index: Number) +// fun reportValidity(): Boolean +// fun setCustomValidity(error: String) +// fun addEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLSelectElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// @nativeGetter +// operator fun get(name: Number): dynamic /* HTMLOptionElement? | HTMLOptGroupElement? */ +// @nativeSetter +// operator fun set(name: Number, value: HTMLOptionElement) +// @nativeSetter +// operator fun set(name: Number, value: HTMLOptGroupElement) +//} +// +//external interface HTMLSlotElement : HTMLElement { +// var name: String +// fun assignedElements(options: AssignedNodesOptions = definedExternally): Array +// fun assignedNodes(options: AssignedNodesOptions = definedExternally): Array +// fun addEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLSlotElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLSourceElement : HTMLElement { +// var media: String +// var sizes: String +// var src: String +// var srcset: String +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLSourceElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLSpanElement : HTMLElement { +// fun addEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLSpanElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLStyleElement : HTMLElement, LinkStyle { +// var media: String +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLStyleElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableCaptionElement : HTMLElement { +// var align: String +// fun addEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableCaptionElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableCellElement : HTMLElement { +// var abbr: String +// var align: String +// var axis: String +// var bgColor: String +// val cellIndex: Number +// var ch: String +// var chOff: String +// var colSpan: Number +// var headers: String +// var height: String +// var noWrap: Boolean +// var rowSpan: Number +// var scope: String +// var vAlign: String +// var width: String +// fun addEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableCellElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableColElement : HTMLElement { +// var align: String +// var ch: String +// var chOff: String +// var span: Number +// var vAlign: String +// var width: String +// fun addEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableColElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableDataCellElement : HTMLTableCellElement { +// fun addEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableDataCellElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableElement : HTMLElement { +// var align: String +// var bgColor: String +// var border: String +// var caption: HTMLTableCaptionElement? +// var cellPadding: String +// var cellSpacing: String +// var frame: String +// val rows: HTMLCollectionOf +// var rules: String +// var summary: String +// val tBodies: HTMLCollectionOf +// var tFoot: HTMLTableSectionElement? +// var tHead: HTMLTableSectionElement? +// var width: String +// fun createCaption(): HTMLTableCaptionElement +// fun createTBody(): HTMLTableSectionElement +// fun createTFoot(): HTMLTableSectionElement +// fun createTHead(): HTMLTableSectionElement +// fun deleteCaption() +// fun deleteRow(index: Number) +// fun deleteTFoot() +// fun deleteTHead() +// fun insertRow(index: Number = definedExternally): HTMLTableRowElement +// fun addEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableHeaderCellElement : HTMLTableCellElement { +// override var scope: String +// fun addEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableHeaderCellElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableRowElement : HTMLElement { +// var align: String +// var bgColor: String +// val cells: HTMLCollectionOf +// var ch: String +// var chOff: String +// val rowIndex: Number +// val sectionRowIndex: Number +// var vAlign: String +// fun deleteCell(index: Number) +// fun insertCell(index: Number = definedExternally): HTMLTableDataCellElement +// fun addEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableRowElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTableSectionElement : HTMLElement { +// var align: String +// var ch: String +// var chOff: String +// val rows: HTMLCollectionOf +// var vAlign: String +// fun deleteRow(index: Number) +// fun insertRow(index: Number = definedExternally): HTMLTableRowElement +// fun addEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTableSectionElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTemplateElement : HTMLElement { +// val content: DocumentFragment +// fun addEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTemplateElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTextAreaElement : HTMLElement { +// var autocomplete: String +// var cols: Number +// var defaultValue: String +// var dirName: String +// var disabled: Boolean +// val form: HTMLFormElement? +// val labels: NodeListOf +// var maxLength: Number +// var minLength: Number +// var name: String +// var placeholder: String +// var readOnly: Boolean +// var required: Boolean +// var rows: Number +// var selectionDirection: String /* "forward" | "backward" | "none" */ +// var selectionEnd: Number +// var selectionStart: Number +// val textLength: Number +// val type: String +// val validationMessage: String +// val validity: ValidityState +// var value: String +// val willValidate: Boolean +// var wrap: String +// fun checkValidity(): Boolean +// fun reportValidity(): Boolean +// fun select() +// fun setCustomValidity(error: String) +// fun setRangeText(replacement: String) +// fun setRangeText(replacement: String, start: Number, end: Number, selectionMode: String /* "end" | "preserve" | "select" | "start" */ = definedExternally) +// fun setRangeText(replacement: String, start: Number, end: Number) +// fun setSelectionRange(start: Number, end: Number, direction: String /* "forward" | "backward" | "none" */ = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTextAreaElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTimeElement : HTMLElement { +// var dateTime: String +// fun addEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTimeElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTitleElement : HTMLElement { +// var text: String +// fun addEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTitleElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLTrackElement : HTMLElement { +// var default: Boolean +// var kind: String +// var label: String +// val readyState: Number +// var src: String +// var srclang: String +// val track: TextTrack +// val ERROR: Number +// val LOADED: Number +// val LOADING: Number +// val NONE: Number +// fun addEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLTrackElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLUListElement : HTMLElement { +// var compact: Boolean +// var type: String +// fun addEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLUListElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HTMLVideoElement : HTMLMediaElement { +// var height: Number +// var poster: String +// val videoHeight: Number +// val videoWidth: Number +// var width: Number +// fun getVideoPlaybackQuality(): VideoPlaybackQuality +// fun addEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: HTMLVideoElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface HashChangeEvent : Event { +// val newURL: String +// val oldURL: String +//} +// +//external interface Headers { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// fun append(name: String, value: String) +// fun delete(name: String) +// fun get(name: String): String? +// fun has(name: String): Boolean +// fun set(name: String, value: String) +// fun forEach(callbackfn: (value: String, key: String, parent: Headers) -> Unit, thisArg: Any = definedExternally) +//} +// +//external interface History { +// val length: Number +// var scrollRestoration: String /* "auto" | "manual" */ +// val state: Any +// fun back() +// fun forward() +// fun go(delta: Number = definedExternally) +// fun pushState(data: Any, title: String, url: String? = definedExternally) +// fun replaceState(data: Any, title: String, url: String? = definedExternally) +//} +// +//external interface HkdfCtrParams : Algorithm { +// var context: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +// var hash: dynamic /* String | Algorithm */ +// get() = definedExternally +// set(value) = definedExternally +// var label: dynamic /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */ +// get() = definedExternally +// set(value) = definedExternally +//} +// +//external interface IDBArrayKey : Array +// +//external interface IDBCursor { +// val direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ +// val key: dynamic /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */ +// get() = definedExternally +// val primaryKey: dynamic /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */ +// get() = definedExternally +// val source: dynamic /* IDBObjectStore | IDBIndex */ +// get() = definedExternally +// fun advance(count: Number) +// fun `continue`(key: Number = definedExternally) +// fun `continue`() +// fun `continue`(key: String = definedExternally) +// fun `continue`(key: Date = definedExternally) +// fun `continue`(key: ArrayBufferView = definedExternally) +// fun `continue`(key: ArrayBuffer = definedExternally) +// fun `continue`(key: IDBArrayKey = definedExternally) +// fun continuePrimaryKey(key: Number, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun continuePrimaryKey(key: String, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun continuePrimaryKey(key: Date, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun continuePrimaryKey(key: ArrayBufferView, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun continuePrimaryKey(key: ArrayBuffer, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun continuePrimaryKey(key: IDBArrayKey, primaryKey: Any /* Number | String | Date | ArrayBufferView | ArrayBuffer | IDBArrayKey */) +// fun delete(): IDBRequest +// fun update(value: Any): IDBRequest +//} +// +//external interface IDBCursorWithValue : IDBCursor { +// val value: Any +//} +// +//external interface IDBDatabaseEventMap { +// var abort: Event +// var close: Event +// var error: Event +// var versionchange: IDBVersionChangeEvent +//} +// +//external interface IDBDatabase : EventTarget { +// val name: String +// val objectStoreNames: DOMStringList +// var onabort: ((self: IDBDatabase, ev: Event) -> Any)? +// var onclose: ((self: IDBDatabase, ev: Event) -> Any)? +// var onerror: ((self: IDBDatabase, ev: Event) -> Any)? +// var onversionchange: ((self: IDBDatabase, ev: IDBVersionChangeEvent) -> Any)? +// val version: Number +// fun close() +// fun createObjectStore(name: String, optionalParameters: IDBObjectStoreParameters = definedExternally): IDBObjectStore +// fun deleteObjectStore(name: String) +// fun transaction(storeNames: String, mode: String /* "readonly" | "readwrite" | "versionchange" */ = definedExternally): IDBTransaction +// fun transaction(storeNames: String): IDBTransaction +// fun transaction(storeNames: Array, mode: String /* "readonly" | "readwrite" | "versionchange" */ = definedExternally): IDBTransaction +// fun transaction(storeNames: Array): IDBTransaction +// fun addEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: IDBDatabase, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface IDBFactory { +// fun cmp(first: Any, second: Any): Number +// fun deleteDatabase(name: String): IDBOpenDBRequest +// fun open(name: String, version: Number = definedExternally): IDBOpenDBRequest +//} +// +//external interface IDBIndex { +// val keyPath: dynamic /* String | Array */ +// get() = definedExternally +// val multiEntry: Boolean +// var name: String +// val objectStore: IDBObjectStore +// val unique: Boolean +// fun count(key: Number = definedExternally): IDBRequest +// fun count(): IDBRequest +// fun count(key: String = definedExternally): IDBRequest +// fun count(key: Date = definedExternally): IDBRequest +// fun count(key: ArrayBufferView = definedExternally): IDBRequest +// fun count(key: ArrayBuffer = definedExternally): IDBRequest +// fun count(key: IDBArrayKey = definedExternally): IDBRequest +// fun count(key: IDBKeyRange = definedExternally): IDBRequest +// fun get(key: Number): IDBRequest +// fun get(key: String): IDBRequest +// fun get(key: Date): IDBRequest +// fun get(key: ArrayBufferView): IDBRequest +// fun get(key: ArrayBuffer): IDBRequest +// fun get(key: IDBArrayKey): IDBRequest +// fun get(key: IDBKeyRange): IDBRequest +// fun getAll(query: Number? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(): IDBRequest> +// fun getAll(query: Number? = definedExternally): IDBRequest> +// fun getAll(query: String? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: String? = definedExternally): IDBRequest> +// fun getAll(query: Date? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: Date? = definedExternally): IDBRequest> +// fun getAll(query: ArrayBufferView? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: ArrayBufferView? = definedExternally): IDBRequest> +// fun getAll(query: ArrayBuffer? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: ArrayBuffer? = definedExternally): IDBRequest> +// fun getAll(query: IDBArrayKey? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: IDBArrayKey? = definedExternally): IDBRequest> +// fun getAll(query: IDBKeyRange? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: IDBKeyRange? = definedExternally): IDBRequest> +// fun getAllKeys(query: Number? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(): IDBRequest> +// fun getAllKeys(query: Number? = definedExternally): IDBRequest> +// fun getAllKeys(query: String? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: String? = definedExternally): IDBRequest> +// fun getAllKeys(query: Date? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: Date? = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBufferView? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBufferView? = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBuffer? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBuffer? = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBArrayKey? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBArrayKey? = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBKeyRange? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBKeyRange? = definedExternally): IDBRequest> +// fun getKey(key: Number): IDBRequest +// fun getKey(key: String): IDBRequest +// fun getKey(key: Date): IDBRequest +// fun getKey(key: ArrayBufferView): IDBRequest +// fun getKey(key: ArrayBuffer): IDBRequest +// fun getKey(key: IDBArrayKey): IDBRequest +// fun getKey(key: IDBKeyRange): IDBRequest +// fun openCursor(query: Number? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(): IDBRequest +// fun openCursor(query: Number? = definedExternally): IDBRequest +// fun openCursor(query: String? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: String? = definedExternally): IDBRequest +// fun openCursor(query: Date? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: Date? = definedExternally): IDBRequest +// fun openCursor(query: ArrayBufferView? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: ArrayBufferView? = definedExternally): IDBRequest +// fun openCursor(query: ArrayBuffer? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: ArrayBuffer? = definedExternally): IDBRequest +// fun openCursor(query: IDBArrayKey? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: IDBArrayKey? = definedExternally): IDBRequest +// fun openCursor(query: IDBKeyRange? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: IDBKeyRange? = definedExternally): IDBRequest +// fun openKeyCursor(query: Number? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(): IDBRequest +// fun openKeyCursor(query: Number? = definedExternally): IDBRequest +// fun openKeyCursor(query: String? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: String? = definedExternally): IDBRequest +// fun openKeyCursor(query: Date? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: Date? = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBufferView? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBufferView? = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBuffer? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBuffer? = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBArrayKey? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBArrayKey? = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBKeyRange? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBKeyRange? = definedExternally): IDBRequest +//} +// +//external interface IDBKeyRange { +// val lower: Any +// val lowerOpen: Boolean +// val upper: Any +// val upperOpen: Boolean +// fun includes(key: Any): Boolean +//} +// +//external interface IDBObjectStore { +// fun createIndex(name: String, keyPath: String, options: IDBIndexParameters = definedExternally): IDBIndex +// fun createIndex(name: String, keyPath: String): IDBIndex +// fun createIndex(name: String, keyPath: Iterable, options: IDBIndexParameters = definedExternally): IDBIndex +// fun createIndex(name: String, keyPath: Iterable): IDBIndex +// val autoIncrement: Boolean +// val indexNames: DOMStringList +// val keyPath: dynamic /* String | Array */ +// get() = definedExternally +// var name: String +// val transaction: IDBTransaction +// fun add(value: Any, key: Number = definedExternally): IDBRequest +// fun add(value: Any): IDBRequest +// fun add(value: Any, key: String = definedExternally): IDBRequest +// fun add(value: Any, key: Date = definedExternally): IDBRequest +// fun add(value: Any, key: ArrayBufferView = definedExternally): IDBRequest +// fun add(value: Any, key: ArrayBuffer = definedExternally): IDBRequest +// fun add(value: Any, key: IDBArrayKey = definedExternally): IDBRequest +// fun clear(): IDBRequest +// fun count(key: Number = definedExternally): IDBRequest +// fun count(): IDBRequest +// fun count(key: String = definedExternally): IDBRequest +// fun count(key: Date = definedExternally): IDBRequest +// fun count(key: ArrayBufferView = definedExternally): IDBRequest +// fun count(key: ArrayBuffer = definedExternally): IDBRequest +// fun count(key: IDBArrayKey = definedExternally): IDBRequest +// fun count(key: IDBKeyRange = definedExternally): IDBRequest +// fun createIndex(name: String, keyPath: Array, options: IDBIndexParameters = definedExternally): IDBIndex +// fun createIndex(name: String, keyPath: Array): IDBIndex +// fun delete(key: Number): IDBRequest +// fun delete(key: String): IDBRequest +// fun delete(key: Date): IDBRequest +// fun delete(key: ArrayBufferView): IDBRequest +// fun delete(key: ArrayBuffer): IDBRequest +// fun delete(key: IDBArrayKey): IDBRequest +// fun delete(key: IDBKeyRange): IDBRequest +// fun deleteIndex(name: String) +// fun get(query: Number): IDBRequest +// fun get(query: String): IDBRequest +// fun get(query: Date): IDBRequest +// fun get(query: ArrayBufferView): IDBRequest +// fun get(query: ArrayBuffer): IDBRequest +// fun get(query: IDBArrayKey): IDBRequest +// fun get(query: IDBKeyRange): IDBRequest +// fun getAll(query: Number? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(): IDBRequest> +// fun getAll(query: Number? = definedExternally): IDBRequest> +// fun getAll(query: String? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: String? = definedExternally): IDBRequest> +// fun getAll(query: Date? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: Date? = definedExternally): IDBRequest> +// fun getAll(query: ArrayBufferView? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: ArrayBufferView? = definedExternally): IDBRequest> +// fun getAll(query: ArrayBuffer? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: ArrayBuffer? = definedExternally): IDBRequest> +// fun getAll(query: IDBArrayKey? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: IDBArrayKey? = definedExternally): IDBRequest> +// fun getAll(query: IDBKeyRange? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAll(query: IDBKeyRange? = definedExternally): IDBRequest> +// fun getAllKeys(query: Number? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(): IDBRequest> +// fun getAllKeys(query: Number? = definedExternally): IDBRequest> +// fun getAllKeys(query: String? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: String? = definedExternally): IDBRequest> +// fun getAllKeys(query: Date? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: Date? = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBufferView? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBufferView? = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBuffer? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: ArrayBuffer? = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBArrayKey? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBArrayKey? = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBKeyRange? = definedExternally, count: Number = definedExternally): IDBRequest> +// fun getAllKeys(query: IDBKeyRange? = definedExternally): IDBRequest> +// fun getKey(query: Number): IDBRequest +// fun getKey(query: String): IDBRequest +// fun getKey(query: Date): IDBRequest +// fun getKey(query: ArrayBufferView): IDBRequest +// fun getKey(query: ArrayBuffer): IDBRequest +// fun getKey(query: IDBArrayKey): IDBRequest +// fun getKey(query: IDBKeyRange): IDBRequest +// fun index(name: String): IDBIndex +// fun openCursor(query: Number? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(): IDBRequest +// fun openCursor(query: Number? = definedExternally): IDBRequest +// fun openCursor(query: String? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: String? = definedExternally): IDBRequest +// fun openCursor(query: Date? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: Date? = definedExternally): IDBRequest +// fun openCursor(query: ArrayBufferView? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: ArrayBufferView? = definedExternally): IDBRequest +// fun openCursor(query: ArrayBuffer? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: ArrayBuffer? = definedExternally): IDBRequest +// fun openCursor(query: IDBArrayKey? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: IDBArrayKey? = definedExternally): IDBRequest +// fun openCursor(query: IDBKeyRange? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openCursor(query: IDBKeyRange? = definedExternally): IDBRequest +// fun openKeyCursor(query: Number? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(): IDBRequest +// fun openKeyCursor(query: Number? = definedExternally): IDBRequest +// fun openKeyCursor(query: String? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: String? = definedExternally): IDBRequest +// fun openKeyCursor(query: Date? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: Date? = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBufferView? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBufferView? = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBuffer? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: ArrayBuffer? = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBArrayKey? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBArrayKey? = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBKeyRange? = definedExternally, direction: String /* "next" | "nextunique" | "prev" | "prevunique" */ = definedExternally): IDBRequest +// fun openKeyCursor(query: IDBKeyRange? = definedExternally): IDBRequest +// fun put(value: Any, key: Number = definedExternally): IDBRequest +// fun put(value: Any): IDBRequest +// fun put(value: Any, key: String = definedExternally): IDBRequest +// fun put(value: Any, key: Date = definedExternally): IDBRequest +// fun put(value: Any, key: ArrayBufferView = definedExternally): IDBRequest +// fun put(value: Any, key: ArrayBuffer = definedExternally): IDBRequest +// fun put(value: Any, key: IDBArrayKey = definedExternally): IDBRequest +//} +// +//external interface IDBOpenDBRequestEventMap : IDBRequestEventMap { +// var blocked: Event +// var upgradeneeded: IDBVersionChangeEvent +//} +// +//external interface IDBOpenDBRequest : IDBRequest { +// var onblocked: ((self: IDBOpenDBRequest, ev: Event) -> Any)? +// var onupgradeneeded: ((self: IDBOpenDBRequest, ev: IDBVersionChangeEvent) -> Any)? +// fun addEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: IDBOpenDBRequest, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface IDBRequestEventMap { +// var error: Event +// var success: Event +//} +// +//external interface IDBRequest : EventTarget { +// val error: DOMException? +// var onerror: ((self: IDBRequest, ev: Event) -> Any)? +// var onsuccess: ((self: IDBRequest, ev: Event) -> Any)? +// val readyState: String /* "done" | "pending" */ +// val result: T +// val source: dynamic /* IDBObjectStore | IDBIndex | IDBCursor */ +// get() = definedExternally +// val transaction: IDBTransaction? +// fun addEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: IDBRequest, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface IDBTransactionEventMap { +// var abort: Event +// var complete: Event +// var error: Event +//} +// +//external interface IDBTransaction : EventTarget { +// val db: IDBDatabase +// val error: DOMException +// val mode: String /* "readonly" | "readwrite" | "versionchange" */ +// val objectStoreNames: DOMStringList +// var onabort: ((self: IDBTransaction, ev: Event) -> Any)? +// var oncomplete: ((self: IDBTransaction, ev: Event) -> Any)? +// var onerror: ((self: IDBTransaction, ev: Event) -> Any)? +// fun abort() +// fun objectStore(name: String): IDBObjectStore +// fun addEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: IDBTransaction, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface IDBVersionChangeEvent : Event { +// val newVersion: Number? +// val oldVersion: Number +//} +// +//external interface IIRFilterNode : AudioNode { +// fun getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) +//} +// +//external interface ImageBitmap { +// val height: Number +// val width: Number +// fun close() +//} +// +//external interface ImageBitmapRenderingContext { +// val canvas: dynamic /* HTMLCanvasElement | OffscreenCanvas */ +// get() = definedExternally +// fun transferFromImageBitmap(bitmap: ImageBitmap?) +//} +// +//external interface ImageData { +// val data: Uint8ClampedArray +// val height: Number +// val width: Number +//} +// +//external interface InnerHTML { +// var innerHTML: String +//} +// +//external interface InputEvent : UIEvent { +// val data: String? +// val inputType: String +// val isComposing: Boolean +//} +// +//external interface KeyboardEvent : UIEvent { +// val altKey: Boolean +// var char: String +// val charCode: Number +// val code: String +// val ctrlKey: Boolean +// val isComposing: Boolean +// val key: String +// val keyCode: Number +// val location: Number +// val metaKey: Boolean +// val repeat: Boolean +// val shiftKey: Boolean +// fun getModifierState(keyArg: String): Boolean +// val DOM_KEY_LOCATION_LEFT: Number +// val DOM_KEY_LOCATION_NUMPAD: Number +// val DOM_KEY_LOCATION_RIGHT: Number +// val DOM_KEY_LOCATION_STANDARD: Number +//} +// +//external interface LinkStyle { +// val sheet: CSSStyleSheet? +//} +// +//external interface ListeningStateChangedEvent : Event { +// val label: String +// val state: String /* "active" | "disambiguation" | "inactive" */ +//} +// +//external interface Location { +// val ancestorOrigins: DOMStringList +// var hash: String +// var host: String +// var hostname: String +// var href: String +// override fun toString(): String +// val origin: String +// var pathname: String +// var port: String +// var protocol: String +// var search: String +// fun assign(url: String) +// fun reload() +// fun reload(forcedReload: Boolean) +// fun replace(url: String) +//} +// +//external interface MSFileSaver { +// fun msSaveBlob(blob: Any, defaultName: String = definedExternally): Boolean +// fun msSaveOrOpenBlob(blob: Any, defaultName: String = definedExternally): Boolean +//} +// +//external interface MSGestureEvent : UIEvent { +// val clientX: Number +// val clientY: Number +// val expansion: Number +// val gestureObject: Any +// val hwTimestamp: Number +// val offsetX: Number +// val offsetY: Number +// val rotation: Number +// val scale: Number +// val screenX: Number +// val screenY: Number +// val translationX: Number +// val translationY: Number +// val velocityAngular: Number +// val velocityExpansion: Number +// val velocityX: Number +// val velocityY: Number +// fun initGestureEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, viewArg: Window, detailArg: Number, screenXArg: Number, screenYArg: Number, clientXArg: Number, clientYArg: Number, offsetXArg: Number, offsetYArg: Number, translationXArg: Number, translationYArg: Number, scaleArg: Number, expansionArg: Number, rotationArg: Number, velocityXArg: Number, velocityYArg: Number, velocityExpansionArg: Number, velocityAngularArg: Number, hwTimestampArg: Number) +// val MSGESTURE_FLAG_BEGIN: Number +// val MSGESTURE_FLAG_CANCEL: Number +// val MSGESTURE_FLAG_END: Number +// val MSGESTURE_FLAG_INERTIA: Number +// val MSGESTURE_FLAG_NONE: Number +//} +// +//external interface MSMediaKeyMessageEvent : Event { +// val destinationURL: String? +// val message: Uint8Array +//} +// +//external interface MSMediaKeyNeededEvent : Event { +// val initData: Uint8Array? +//} +// +//external interface MSNavigatorDoNotTrack { +// fun confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): Boolean +// fun confirmWebWideTrackingException(args: ExceptionInformation): Boolean +// fun removeSiteSpecificTrackingException(args: ExceptionInformation) +// fun removeWebWideTrackingException(args: ExceptionInformation) +// fun storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation) +// fun storeWebWideTrackingException(args: StoreExceptionsInformation) +//} +// +//external interface MSPointerEvent : MouseEvent { +// val currentPoint: Any +// val height: Number +// val hwTimestamp: Number +// val intermediatePoints: Any +// val isPrimary: Boolean +// val pointerId: Number +// val pointerType: Any +// val pressure: Number +// val rotation: Number +// val tiltX: Number +// val tiltY: Number +// val width: Number +// fun getCurrentPoint(element: Element) +// fun getIntermediatePoints(element: Element) +// fun initPointerEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, viewArg: Window, detailArg: Number, screenXArg: Number, screenYArg: Number, clientXArg: Number, clientYArg: Number, ctrlKeyArg: Boolean, altKeyArg: Boolean, shiftKeyArg: Boolean, metaKeyArg: Boolean, buttonArg: Number, relatedTargetArg: EventTarget, offsetXArg: Number, offsetYArg: Number, widthArg: Number, heightArg: Number, pressure: Number, rotation: Number, tiltX: Number, tiltY: Number, pointerIdArg: Number, pointerType: Any, hwTimestampArg: Number, isPrimary: Boolean) +//} +// +//external interface MediaDeviceInfo { +// val deviceId: String +// val groupId: String +// val kind: String /* "audioinput" | "audiooutput" | "videoinput" */ +// val label: String +// fun toJSON(): Any +//} +// +//external interface MediaDevicesEventMap { +// var devicechange: Event +//} +// +//external interface MediaDevices : EventTarget { +// var ondevicechange: ((self: MediaDevices, ev: Event) -> Any)? +// fun enumerateDevices(): Promise> +// fun getSupportedConstraints(): MediaTrackSupportedConstraints +// fun getUserMedia(constraints: MediaStreamConstraints = definedExternally): Promise +// fun addEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaDevices, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaElementAudioSourceNode : AudioNode { +// val mediaElement: HTMLMediaElement +//} +// +//external interface MediaEncryptedEvent : Event { +// val initData: ArrayBuffer? +// val initDataType: String +//} +// +//external interface MediaError { +// val code: Number +// val message: String +// val MEDIA_ERR_ABORTED: Number +// val MEDIA_ERR_DECODE: Number +// val MEDIA_ERR_NETWORK: Number +// val MEDIA_ERR_SRC_NOT_SUPPORTED: Number +//} +// +//external interface MediaKeyMessageEvent : Event { +// val message: ArrayBuffer +// val messageType: String /* "individualization-request" | "license-release" | "license-renewal" | "license-request" */ +//} +// +//external interface MediaKeySessionEventMap { +// var keystatuseschange: Event +// var message: MediaKeyMessageEvent +//} +// +//external interface MediaKeySession : EventTarget { +// val closed: Promise +// val expiration: Number +// val keyStatuses: MediaKeyStatusMap +// var onkeystatuseschange: ((self: MediaKeySession, ev: Event) -> Any)? +// var onmessage: ((self: MediaKeySession, ev: MediaKeyMessageEvent) -> Any)? +// val sessionId: String +// fun close(): Promise +// fun generateRequest(initDataType: String, initData: ArrayBufferView): Promise +// fun generateRequest(initDataType: String, initData: ArrayBuffer): Promise +// fun load(sessionId: String): Promise +// fun remove(): Promise +// fun update(response: ArrayBufferView): Promise +// fun update(response: ArrayBuffer): Promise +// fun addEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaKeySession, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaKeyStatusMap { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// val size: Number +// fun get(keyId: ArrayBufferView): String /* "expired" | "internal-error" | "output-downscaled" | "output-restricted" | "released" | "status-pending" | "usable" */ +// fun get(keyId: ArrayBuffer): String /* "expired" | "internal-error" | "output-downscaled" | "output-restricted" | "released" | "status-pending" | "usable" */ +// fun has(keyId: ArrayBufferView): Boolean +// fun has(keyId: ArrayBuffer): Boolean +// fun forEach(callbackfn: (value: String /* "expired" | "internal-error" | "output-downscaled" | "output-restricted" | "released" | "status-pending" | "usable" */, key: Any /* ArrayBufferView | ArrayBuffer */, parent: MediaKeyStatusMap) -> Unit, thisArg: Any = definedExternally) +//} +// +//external interface MediaKeySystemAccess { +// val keySystem: String +// fun createMediaKeys(): Promise +// fun getConfiguration(): MediaKeySystemConfiguration +//} +// +//external interface MediaKeys { +// fun createSession(sessionType: String /* "persistent-license" | "temporary" */ = definedExternally): MediaKeySession +// fun setServerCertificate(serverCertificate: ArrayBufferView): Promise +// fun setServerCertificate(serverCertificate: ArrayBuffer): Promise +//} +// +//external interface MediaList { +// val length: Number +// var mediaText: String +// override fun toString(): String +// fun appendMedium(medium: String) +// fun deleteMedium(medium: String) +// fun item(index: Number): String? +// @nativeGetter +// operator fun get(index: Number): String? +// @nativeSetter +// operator fun set(index: Number, value: String) +//} +// +//external interface MediaQueryListEventMap { +// var change: MediaQueryListEvent +//} +// +//external interface MediaQueryList : EventTarget { +// val matches: Boolean +// val media: String +// var onchange: ((self: MediaQueryList, ev: MediaQueryListEvent) -> Any)? +// fun addListener(listener: ((self: MediaQueryList, ev: MediaQueryListEvent) -> Any)?) +// fun removeListener(listener: ((self: MediaQueryList, ev: MediaQueryListEvent) -> Any)?) +// fun addEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaQueryList, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaQueryListEvent : Event { +// val matches: Boolean +// val media: String +//} +// +//external interface MediaSourceEventMap { +// var sourceclose: Event +// var sourceended: Event +// var sourceopen: Event +//} +// +//external interface MediaSource : EventTarget { +// val activeSourceBuffers: SourceBufferList +// var duration: Number +// var onsourceclose: ((self: MediaSource, ev: Event) -> Any)? +// var onsourceended: ((self: MediaSource, ev: Event) -> Any)? +// var onsourceopen: ((self: MediaSource, ev: Event) -> Any)? +// val readyState: String /* "closed" | "ended" | "open" */ +// val sourceBuffers: SourceBufferList +// fun addSourceBuffer(type: String): SourceBuffer +// fun clearLiveSeekableRange() +// fun endOfStream(error: String /* "decode" | "network" */ = definedExternally) +// fun removeSourceBuffer(sourceBuffer: SourceBuffer) +// fun setLiveSeekableRange(start: Number, end: Number) +// fun addEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaSource, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaStreamEventMap { +// var addtrack: MediaStreamTrackEvent +// var removetrack: MediaStreamTrackEvent +//} +// +//external interface MediaStream : EventTarget { +// val active: Boolean +// val id: String +// var onaddtrack: ((self: MediaStream, ev: MediaStreamTrackEvent) -> Any)? +// var onremovetrack: ((self: MediaStream, ev: MediaStreamTrackEvent) -> Any)? +// fun addTrack(track: MediaStreamTrack) +// fun clone(): MediaStream +// fun getAudioTracks(): Array +// fun getTrackById(trackId: String): MediaStreamTrack? +// fun getTracks(): Array +// fun getVideoTracks(): Array +// fun removeTrack(track: MediaStreamTrack) +// fun addEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaStream, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaStreamAudioDestinationNode : AudioNode { +// val stream: MediaStream +//} +// +//external interface MediaStreamAudioSourceNode : AudioNode { +// val mediaStream: MediaStream +//} +// +//external interface MediaStreamError { +// val constraintName: String? +// val message: String? +// val name: String +//} +// +//external interface MediaStreamErrorEvent : Event { +// val error: MediaStreamError? +//} +// +//external interface MediaStreamEvent : Event { +// val stream: MediaStream? +//} +// +//external interface MediaStreamTrackEventMap { +// var ended: Event +// var isolationchange: Event +// var mute: Event +// var unmute: Event +//} +// +//external interface MediaStreamTrack : EventTarget { +// var enabled: Boolean +// val id: String +// val isolated: Boolean +// val kind: String +// val label: String +// val muted: Boolean +// var onended: ((self: MediaStreamTrack, ev: Event) -> Any)? +// var onisolationchange: ((self: MediaStreamTrack, ev: Event) -> Any)? +// var onmute: ((self: MediaStreamTrack, ev: Event) -> Any)? +// var onunmute: ((self: MediaStreamTrack, ev: Event) -> Any)? +// val readyState: String /* "ended" | "live" */ +// fun applyConstraints(constraints: MediaTrackConstraints = definedExternally): Promise +// fun clone(): MediaStreamTrack +// fun getCapabilities(): MediaTrackCapabilities +// fun getConstraints(): MediaTrackConstraints +// fun getSettings(): MediaTrackSettings +// fun stop() +// fun addEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MediaStreamTrack, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MediaStreamTrackAudioSourceNode : AudioNode +// +//external interface MediaStreamTrackEvent : Event { +// val track: MediaStreamTrack +//} +// +//external interface MessageEvent : Event { +// val data: Any +// val lastEventId: String +// val origin: String +// val ports: ReadonlyArray +// val source: dynamic /* typealias WindowProxy = dynamic | MessagePort? | ServiceWorker? */ +// get() = definedExternally +//} +// +//external interface MessagePortEventMap { +// var message: MessageEvent +// var messageerror: MessageEvent +//} +// +//external interface MessagePort : EventTarget { +// var onmessage: ((self: MessagePort, ev: MessageEvent) -> Any)? +// var onmessageerror: ((self: MessagePort, ev: MessageEvent) -> Any)? +// fun close() +// fun postMessage(message: Any, transfer: Array) +// fun postMessage(message: Any, options: PostMessageOptions = definedExternally) +// fun postMessage(message: Any) +// fun start() +// fun addEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: MessagePort, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface MimeType { +// val description: String +// val enabledPlugin: Plugin +// val suffixes: String +// val type: String +//} +// +//external interface MimeTypeArray { +// val length: Number +// fun item(index: Number): MimeType? +// fun namedItem(name: String): MimeType? +// @nativeGetter +// operator fun get(index: Number): MimeType? +// @nativeSetter +// operator fun set(index: Number, value: MimeType) +//} +// +//external interface MouseEvent : UIEvent { +// val altKey: Boolean +// val button: Number +// val buttons: Number +// val clientX: Number +// val clientY: Number +// val ctrlKey: Boolean +// val metaKey: Boolean +// val movementX: Number +// val movementY: Number +// val offsetX: Number +// val offsetY: Number +// val pageX: Number +// val pageY: Number +// val relatedTarget: EventTarget? +// val screenX: Number +// val screenY: Number +// val shiftKey: Boolean +// val x: Number +// val y: Number +// fun getModifierState(keyArg: String): Boolean +// fun initMouseEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, viewArg: Window, detailArg: Number, screenXArg: Number, screenYArg: Number, clientXArg: Number, clientYArg: Number, ctrlKeyArg: Boolean, altKeyArg: Boolean, shiftKeyArg: Boolean, metaKeyArg: Boolean, buttonArg: Number, relatedTargetArg: EventTarget?) +//} +// +//external interface MutationEvent : Event { +// val attrChange: Number +// val attrName: String +// val newValue: String +// val prevValue: String +// val relatedNode: Node +// fun initMutationEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, relatedNodeArg: Node, prevValueArg: String, newValueArg: String, attrNameArg: String, attrChangeArg: Number) +// val ADDITION: Number +// val MODIFICATION: Number +// val REMOVAL: Number +//} +// +//external interface NamedNodeMap { +// val length: Number +// fun getNamedItem(qualifiedName: String): Attr? +// fun getNamedItemNS(namespace: String?, localName: String): Attr? +// fun item(index: Number): Attr? +// fun removeNamedItem(qualifiedName: String): Attr +// fun removeNamedItemNS(namespace: String?, localName: String): Attr +// fun setNamedItem(attr: Attr): Attr? +// fun setNamedItemNS(attr: Attr): Attr? +// @nativeGetter +// operator fun get(index: Number): Attr? +// @nativeSetter +// operator fun set(index: Number, value: Attr) +//} +// +//external interface NavigationPreloadManager { +// fun disable(): Promise +// fun enable(): Promise +// fun getState(): Promise +// fun setHeaderValue(value: String): Promise +//} +// +//external interface Navigator : MSFileSaver, MSNavigatorDoNotTrack, NavigatorAutomationInformation, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorCookies, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorPlugins, NavigatorStorage { +// var xr: XRSystem? +// get() = definedExternally +// set(value) = definedExternally +// fun requestMediaKeySystemAccess(keySystem: String, supportedConfigurations: Iterable): Promise +// val activeVRDisplays: ReadonlyArray +// val clipboard: Clipboard +// val credentials: CredentialsContainer +// val doNotTrack: String? +// val geolocation: Geolocation +// val maxTouchPoints: Number +// val mediaDevices: MediaDevices +// val msManipulationViewsEnabled: Boolean +// val msMaxTouchPoints: Number +// val msPointerEnabled: Boolean +// val permissions: Permissions +// val pointerEnabled: Boolean +// val serviceWorker: ServiceWorkerContainer +// fun getGamepads(): Array +// fun getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback) +// fun getVRDisplays(): Promise> +// fun msLaunchUri(uri: String, successCallback: MSLaunchUriCallback = definedExternally, noHandlerCallback: MSLaunchUriCallback = definedExternally) +// fun requestMediaKeySystemAccess(keySystem: String, supportedConfigurations: Array): Promise +// override fun sendBeacon(url: String, data: Blob?): Boolean +// override fun sendBeacon(url: String): Boolean +// fun sendBeacon(url: String, data: ArrayBufferView? = definedExternally): Boolean +// override fun sendBeacon(url: String, data: ArrayBuffer?): Boolean +// override fun sendBeacon(url: String, data: FormData?): Boolean +// fun sendBeacon(url: String, data: URLSearchParams? = definedExternally): Boolean +// fun sendBeacon(url: String, data: ReadableStream? = definedExternally): Boolean +// override fun sendBeacon(url: String, data: String?): Boolean +// fun share(data: ShareData = definedExternally): Promise +// fun vibrate(pattern: Number): Boolean +// fun vibrate(pattern: Array): Boolean +//} +// +//external interface NavigatorAutomationInformation { +// val webdriver: Boolean +//} +// +//external interface NavigatorBeacon { +// fun sendBeacon(url: String, data: Blob? = definedExternally): Boolean +// fun sendBeacon(url: String): Boolean +// fun sendBeacon(url: String, data: Int8Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Int16Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Int32Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Uint8Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Uint16Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Uint32Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Uint8ClampedArray? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Float32Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: Float64Array? = definedExternally): Boolean +// fun sendBeacon(url: String, data: DataView? = definedExternally): Boolean +// fun sendBeacon(url: String, data: ArrayBuffer? = definedExternally): Boolean +// fun sendBeacon(url: String, data: FormData? = definedExternally): Boolean +// fun sendBeacon(url: String, data: String? = definedExternally): Boolean +//} +// +//external interface NavigatorConcurrentHardware { +// val hardwareConcurrency: Number +//} +// +//external interface NavigatorContentUtils { +// fun registerProtocolHandler(scheme: String, url: String, title: String) +// fun unregisterProtocolHandler(scheme: String, url: String) +//} +// +//external interface NavigatorCookies { +// val cookieEnabled: Boolean +//} +// +//external interface NavigatorID { +// val appCodeName: String +// val appName: String +// val appVersion: String +// val platform: String +// val product: String +// val productSub: String +// val userAgent: String +// val vendor: String +// val vendorSub: String +//} +// +//external interface NavigatorLanguage { +// val language: String +// val languages: ReadonlyArray +//} +// +//external interface NavigatorOnLine { +// val onLine: Boolean +//} +// +//external interface NavigatorPlugins { +// val mimeTypes: MimeTypeArray +// val plugins: PluginArray +// fun javaEnabled(): Boolean +//} +// +//external interface NavigatorStorage { +// val storage: StorageManager +//} +// +//external interface Node : EventTarget { +// val baseURI: String +// val childNodes: NodeListOf +// val firstChild: ChildNode? +// val isConnected: Boolean +// val lastChild: ChildNode? +// val namespaceURI: String? +// val nextSibling: ChildNode? +// val nodeName: String +// val nodeType: Number +// var nodeValue: String? +// val ownerDocument: Document? +// val parentElement: HTMLElement? +// val parentNode: Node /* Node & ParentNode */ +// val previousSibling: ChildNode? +// var textContent: String? +// fun appendChild(newChild: T): T +// fun cloneNode(deep: Boolean = definedExternally): Node +// fun compareDocumentPosition(other: Node): Number +// fun contains(other: Node?): Boolean +// fun getRootNode(options: GetRootNodeOptions = definedExternally): Node +// fun hasChildNodes(): Boolean +// fun insertBefore(newChild: T, refChild: Node?): T +// fun isDefaultNamespace(namespace: String?): Boolean +// fun isEqualNode(otherNode: Node?): Boolean +// fun isSameNode(otherNode: Node?): Boolean +// fun lookupNamespaceURI(prefix: String?): String? +// fun lookupPrefix(namespace: String?): String? +// fun normalize() +// fun removeChild(oldChild: T): T +// fun replaceChild(newChild: Node, oldChild: T): T +// val ATTRIBUTE_NODE: Number +// val CDATA_SECTION_NODE: Number +// val COMMENT_NODE: Number +// val DOCUMENT_FRAGMENT_NODE: Number +// val DOCUMENT_NODE: Number +// val DOCUMENT_POSITION_CONTAINED_BY: Number +// val DOCUMENT_POSITION_CONTAINS: Number +// val DOCUMENT_POSITION_DISCONNECTED: Number +// val DOCUMENT_POSITION_FOLLOWING: Number +// val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Number +// val DOCUMENT_POSITION_PRECEDING: Number +// val DOCUMENT_TYPE_NODE: Number +// val ELEMENT_NODE: Number +// val ENTITY_NODE: Number +// val ENTITY_REFERENCE_NODE: Number +// val NOTATION_NODE: Number +// val PROCESSING_INSTRUCTION_NODE: Number +// val TEXT_NODE: Number +//} +// +//external interface NodeFilter { +// fun acceptNode(node: Node): Number +//} +// +//external interface NodeIterator { +// val filter: NodeFilter? +// val pointerBeforeReferenceNode: Boolean +// val referenceNode: Node +// val root: Node +// val whatToShow: Number +// fun detach() +// fun nextNode(): Node? +// fun previousNode(): Node? +//} +// +//external interface NodeList { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// val length: Number +// fun item(index: Number): Node? +// fun forEach(callbackfn: (value: Node, key: Number, parent: NodeList) -> Unit, thisArg: Any = definedExternally) +// @nativeGetter +// operator fun get(index: Number): Node? +// @nativeSetter +// operator fun set(index: Number, value: Node) +//} +// +//external interface NodeListOf : NodeList { +// override fun entries(): IterableIterator */> +// override fun keys(): IterableIterator +// override fun values(): IterableIterator +// override var length: Number +// fun item(index: Number): TNode +// fun forEach(callbackfn: (value: TNode, key: Number, parent: NodeListOf) -> Unit, thisArg: Any = definedExternally) +// @nativeGetter +// operator fun get(index: Number): TNode? +// @nativeSetter +// override operator fun set(index: Number, value: TNode) +//} +// +//external interface NonDocumentTypeChildNode { +// val nextElementSibling: Element? +// val previousElementSibling: Element? +//} +// +//external interface NonElementParentNode { +// fun getElementById(elementId: String): Element? +//} +// +//external interface NotificationEventMap { +// var click: Event +// var close: Event +// var error: Event +// var show: Event +//} +// +//external interface Notification : EventTarget { +// val actions: ReadonlyArray +// val badge: String +// val body: String +// val data: Any +// val dir: String /* "auto" | "ltr" | "rtl" */ +// val icon: String +// val image: String +// val lang: String +// var onclick: ((self: Notification, ev: Event) -> Any)? +// var onclose: ((self: Notification, ev: Event) -> Any)? +// var onerror: ((self: Notification, ev: Event) -> Any)? +// var onshow: ((self: Notification, ev: Event) -> Any)? +// val renotify: Boolean +// val requireInteraction: Boolean +// val silent: Boolean +// val tag: String +// val timestamp: Number +// val title: String +// val vibrate: ReadonlyArray +// fun close() +// fun addEventListener(type: K, listener: (self: Notification, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Notification, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Notification, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Notification, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Notification, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Notification, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface OES_element_index_uint +// +//external interface OES_standard_derivatives { +// val FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum +//} +// +//external interface OES_texture_float +// +//external interface OES_texture_float_linear +// +//external interface OES_texture_half_float { +// val HALF_FLOAT_OES: GLenum +//} +// +//external interface OES_texture_half_float_linear +// +//external interface OES_vertex_array_object { +// fun bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES?) +// fun createVertexArrayOES(): WebGLVertexArrayObjectOES? +// fun deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES?) +// fun isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES?): GLboolean +// val VERTEX_ARRAY_BINDING_OES: GLenum +//} +// +//external interface OfflineAudioCompletionEvent : Event { +// val renderedBuffer: AudioBuffer +//} +// +//external interface OffscreenCanvas : EventTarget { +// var height: Number +// var width: Number +// fun convertToBlob(options: ImageEncodeOptions = definedExternally): Promise +// fun getContext(contextId: String /* "2d" */, options: CanvasRenderingContext2DSettings = definedExternally): OffscreenCanvasRenderingContext2D? +// fun getContext(contextId: String /* "2d" | "bitmaprenderer" | "webgl" | "webgl2" */): dynamic /* WebGL2RenderingContext | OffscreenCanvasRenderingContext2D? | ImageBitmapRenderingContext? | WebGLRenderingContext? | WebGL2RenderingContext? */ +// fun getContext(contextId: String /* "bitmaprenderer" */, options: ImageBitmapRenderingContextSettings = definedExternally): ImageBitmapRenderingContext? +// fun getContext(contextId: String /* "webgl" | "webgl2" */, options: WebGLContextAttributes = definedExternally): dynamic /* WebGLRenderingContext | WebGL2RenderingContext */ +// fun getContext(contextId: String /* "2d" | "bitmaprenderer" | "webgl" | "webgl2" */, options: Any = definedExternally): dynamic /* OffscreenCanvasRenderingContext2D? | ImageBitmapRenderingContext? | WebGLRenderingContext? | WebGL2RenderingContext? */ +// fun transferToImageBitmap(): ImageBitmap +//} +// +//external interface OffscreenCanvasRenderingContext2D : CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { +// val canvas: OffscreenCanvas +// fun commit() +//} +// +//external interface OscillatorNode : AudioScheduledSourceNode { +// val detune: AudioParam +// val frequency: AudioParam +// var type: String /* "custom" | "sawtooth" | "sine" | "square" | "triangle" */ +// fun setPeriodicWave(periodicWave: PeriodicWave) +// fun addEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: OscillatorNode, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface OverflowEvent : UIEvent { +// val horizontalOverflow: Boolean +// val orient: Number +// val verticalOverflow: Boolean +// val BOTH: Number +// val HORIZONTAL: Number +// val VERTICAL: Number +//} +// +//external interface PageTransitionEvent : Event { +// val persisted: Boolean +//} +// +//external interface PannerNode : AudioNode { +// var coneInnerAngle: Number +// var coneOuterAngle: Number +// var coneOuterGain: Number +// var distanceModel: String /* "exponential" | "inverse" | "linear" */ +// var maxDistance: Number +// val orientationX: AudioParam +// val orientationY: AudioParam +// val orientationZ: AudioParam +// var panningModel: String /* "HRTF" | "equalpower" */ +// val positionX: AudioParam +// val positionY: AudioParam +// val positionZ: AudioParam +// var refDistance: Number +// var rolloffFactor: Number +// fun setOrientation(x: Number, y: Number, z: Number) +// fun setPosition(x: Number, y: Number, z: Number) +//} +// +//external interface ParentNode { +// val childElementCount: Number +// val children: HTMLCollection +// val firstElementChild: Element? +// val lastElementChild: Element? +// fun append(vararg nodes: Any /* Node | String */) +// fun prepend(vararg nodes: Any /* Node | String */) +// fun querySelector(selectors: K): Any +// fun querySelector(selectors: String): E? +// fun querySelectorAll(selectors: K): NodeListOf +// fun querySelectorAll(selectors: String): NodeListOf +//} +// +//external interface Path2D : CanvasPath { +// fun addPath(path: Path2D, transform: DOMMatrix2DInit = definedExternally) +//} +// +//external interface PaymentRequestUpdateEvent : Event { +// fun updateWith(detailsPromise: PaymentDetailsUpdate) +// fun updateWith(detailsPromise: Promise) +//} +// +//external interface PerformanceEventMap { +// var resourcetimingbufferfull: Event +//} +// +//external interface Performance : EventTarget { +// val navigation: PerformanceNavigation +// var onresourcetimingbufferfull: ((self: Performance, ev: Event) -> Any)? +// val timeOrigin: Number +// val timing: PerformanceTiming +// fun clearMarks(markName: String = definedExternally) +// fun clearMeasures(measureName: String = definedExternally) +// fun clearResourceTimings() +// fun getEntries(): PerformanceEntryList +// fun getEntriesByName(name: String, type: String = definedExternally): PerformanceEntryList +// fun getEntriesByType(type: String): PerformanceEntryList +// fun mark(markName: String) +// fun measure(measureName: String, startMark: String = definedExternally, endMark: String = definedExternally) +// fun now(): Number +// fun setResourceTimingBufferSize(maxSize: Number) +// fun toJSON(): Any +// fun addEventListener(type: K, listener: (self: Performance, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Performance, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Performance, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Performance, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Performance, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Performance, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface PerformanceEntry { +// val duration: Number +// val entryType: String +// val name: String +// val startTime: Number +// fun toJSON(): Any +//} +// +//external interface PerformanceNavigation { +// val redirectCount: Number +// val type: Number +// fun toJSON(): Any +// val TYPE_BACK_FORWARD: Number +// val TYPE_NAVIGATE: Number +// val TYPE_RELOAD: Number +// val TYPE_RESERVED: Number +//} +// +//external interface PerformanceTiming { +// val connectEnd: Number +// val connectStart: Number +// val domComplete: Number +// val domContentLoadedEventEnd: Number +// val domContentLoadedEventStart: Number +// val domInteractive: Number +// val domLoading: Number +// val domainLookupEnd: Number +// val domainLookupStart: Number +// val fetchStart: Number +// val loadEventEnd: Number +// val loadEventStart: Number +// val navigationStart: Number +// val redirectEnd: Number +// val redirectStart: Number +// val requestStart: Number +// val responseEnd: Number +// val responseStart: Number +// val secureConnectionStart: Number +// val unloadEventEnd: Number +// val unloadEventStart: Number +// fun toJSON(): Any +//} +// +//external interface PeriodicWave +// +//external interface PermissionRequest : DeferredPermissionRequest { +// val state: String /* "allow" | "defer" | "deny" | "unknown" */ +// fun defer() +//} +// +//external interface PermissionRequestedEvent : Event { +// val permissionRequest: PermissionRequest +//} +// +//external interface PermissionStatusEventMap { +// var change: Event +//} +// +//external interface PermissionStatus : EventTarget { +// var onchange: ((self: PermissionStatus, ev: Event) -> Any)? +// val state: String /* "denied" | "granted" | "prompt" */ +// fun addEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: PermissionStatus, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface Permissions { +// fun query(permissionDesc: PermissionDescriptor): Promise +// fun query(permissionDesc: DevicePermissionDescriptor): Promise +// fun query(permissionDesc: MidiPermissionDescriptor): Promise +// fun query(permissionDesc: PushPermissionDescriptor): Promise +//} +// +//external interface Plugin { +// val description: String +// val filename: String +// val length: Number +// val name: String +// fun item(index: Number): MimeType? +// fun namedItem(name: String): MimeType? +// @nativeGetter +// operator fun get(index: Number): MimeType? +// @nativeSetter +// operator fun set(index: Number, value: MimeType) +//} +// +//external interface PluginArray { +// val length: Number +// fun item(index: Number): Plugin? +// fun namedItem(name: String): Plugin? +// fun refresh(reload: Boolean = definedExternally) +// @nativeGetter +// operator fun get(index: Number): Plugin? +// @nativeSetter +// operator fun set(index: Number, value: Plugin) +//} +// +//external interface PointerEvent : MouseEvent { +// val height: Number +// val isPrimary: Boolean +// val pointerId: Number +// val pointerType: String +// val pressure: Number +// val tangentialPressure: Number +// val tiltX: Number +// val tiltY: Number +// val twist: Number +// val width: Number +//} +// +//external interface PopStateEvent : Event { +// val state: Any +//} +// +//external interface Position { +// val coords: Coordinates +// val timestamp: Number +//} +// +//external interface PositionError { +// val code: Number +// val message: String +// val PERMISSION_DENIED: Number +// val POSITION_UNAVAILABLE: Number +// val TIMEOUT: Number +//} +// +//external interface ProcessingInstruction : CharacterData, LinkStyle { +// override val ownerDocument: Document +// val target: String +//} +// +//external interface ProgressEvent : Event { +// val lengthComputable: Boolean +// val loaded: Number +// val total: Number +//} +// +//external interface ProgressEvent__0 : ProgressEvent +// +//external interface PromiseRejectionEvent : Event { +// val promise: Promise +// val reason: Any +//} +// +//external interface PushManager { +// fun getSubscription(): Promise +// fun permissionState(options: PushSubscriptionOptionsInit = definedExternally): Promise +// fun subscribe(options: PushSubscriptionOptionsInit = definedExternally): Promise +//} +// +//external interface PushSubscription { +// val endpoint: String +// val expirationTime: Number? +// val options: PushSubscriptionOptions +// fun getKey(name: String /* "auth" | "p256dh" */): ArrayBuffer? +// fun toJSON(): PushSubscriptionJSON +// fun unsubscribe(): Promise +//} +// +//external interface PushSubscriptionOptions { +// val applicationServerKey: ArrayBuffer? +// val userVisibleOnly: Boolean +//} +// +//external interface RTCDTMFSenderEventMap { +// var tonechange: RTCDTMFToneChangeEvent +//} +// +//external interface RTCDTMFSender : EventTarget { +// val canInsertDTMF: Boolean +// var ontonechange: ((self: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) -> Any)? +// val toneBuffer: String +// fun insertDTMF(tones: String, duration: Number = definedExternally, interToneGap: Number = definedExternally) +// fun addEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: RTCDTMFSender, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface RTCDTMFToneChangeEvent : Event { +// val tone: String +//} +// +//external interface RTCDataChannelEventMap { +// var bufferedamountlow: Event +// var close: Event +// var error: RTCErrorEvent +// var message: MessageEvent +// var open: Event +//} +// +//external interface RTCDataChannel : EventTarget { +// var binaryType: String +// val bufferedAmount: Number +// var bufferedAmountLowThreshold: Number +// val id: Number? +// val label: String +// val maxPacketLifeTime: Number? +// val maxRetransmits: Number? +// val negotiated: Boolean +// var onbufferedamountlow: ((self: RTCDataChannel, ev: Event) -> Any)? +// var onclose: ((self: RTCDataChannel, ev: Event) -> Any)? +// var onerror: ((self: RTCDataChannel, ev: RTCErrorEvent) -> Any)? +// var onmessage: ((self: RTCDataChannel, ev: MessageEvent) -> Any)? +// var onopen: ((self: RTCDataChannel, ev: Event) -> Any)? +// val ordered: Boolean +// val priority: String /* "high" | "low" | "medium" | "very-low" */ +// val protocol: String +// val readyState: String /* "closed" | "closing" | "connecting" | "open" */ +// fun close() +// fun send(data: String) +// fun send(data: Blob) +// fun send(data: ArrayBuffer) +// fun send(data: ArrayBufferView) +// fun addEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: RTCDataChannel, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface RTCDataChannelEvent : Event { +// val channel: RTCDataChannel +//} +// +//external interface RTCDtlsTransportEventMap { +// var error: RTCErrorEvent +// var statechange: Event +//} +// +//external interface RTCDtlsTransport : EventTarget { +// val iceTransport: RTCIceTransport +// var onerror: ((self: RTCDtlsTransport, ev: RTCErrorEvent) -> Any)? +// var onstatechange: ((self: RTCDtlsTransport, ev: Event) -> Any)? +// val state: String /* "closed" | "connected" | "connecting" | "failed" | "new" */ +// fun getRemoteCertificates(): Array +// fun addEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: RTCDtlsTransport, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface RTCDtlsTransportStateChangedEvent : Event { +// val state: String /* "closed" | "connected" | "connecting" | "failed" | "new" */ +//} +// +//external interface RTCError : DOMException { +// val errorDetail: String /* "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error" */ +// val httpRequestStatusCode: Number? +// val receivedAlert: Number? +// val sctpCauseCode: Number? +// val sdpLineNumber: Number? +// val sentAlert: Number? +//} +// +//external interface RTCErrorEvent : Event { +// val error: RTCError +//} +// +//external interface RTCIceCandidate { +// val candidate: String +// val component: String /* "rtcp" | "rtp" */ +// val foundation: String? +// val port: Number? +// val priority: Number? +// val protocol: String /* "tcp" | "udp" */ +// val relatedAddress: String? +// val relatedPort: Number? +// val sdpMLineIndex: Number? +// val sdpMid: String? +// val tcpType: String /* "active" | "passive" | "so" */ +// val type: String /* "host" | "prflx" | "relay" | "srflx" */ +// val usernameFragment: String? +// fun toJSON(): RTCIceCandidateInit +//} +// +//external interface RTCIceCandidatePairChangedEvent : Event { +// val pair: RTCIceCandidatePair +//} +// +//external interface RTCIceGathererEvent : Event { +// val candidate: dynamic /* RTCIceCandidateDictionary | RTCIceCandidateComplete */ +// get() = definedExternally +//} +// +//external interface RTCIceTransportEventMap { +// var gatheringstatechange: Event +// var selectedcandidatepairchange: Event +// var statechange: Event +//} +// +//external interface RTCIceTransport : EventTarget { +// val component: String /* "rtcp" | "rtp" */ +// val gatheringState: String /* "complete" | "gathering" | "new" */ +// var ongatheringstatechange: ((self: RTCIceTransport, ev: Event) -> Any)? +// var onselectedcandidatepairchange: ((self: RTCIceTransport, ev: Event) -> Any)? +// var onstatechange: ((self: RTCIceTransport, ev: Event) -> Any)? +// val role: String /* "controlled" | "controlling" | "unknown" */ +// val state: String /* "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new" */ +// fun getLocalCandidates(): Array +// fun getLocalParameters(): RTCIceParameters? +// fun getRemoteCandidates(): Array +// fun getRemoteParameters(): RTCIceParameters? +// fun getSelectedCandidatePair(): RTCIceCandidatePair? +// fun addEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: RTCIceTransport, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface RTCIceTransportStateChangedEvent : Event { +// val state: String /* "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new" */ +//} +// +//external interface RTCPeerConnectionIceErrorEvent : Event { +// val errorCode: Number +// val errorText: String +// val hostCandidate: String +// val url: String +//} +// +//external interface RTCPeerConnectionIceEvent : Event { +// val candidate: RTCIceCandidate? +// val url: String? +//} +// +//external interface RTCRtpReceiver { +// val rtcpTransport: RTCDtlsTransport? +// val track: MediaStreamTrack +// val transport: RTCDtlsTransport? +// fun getContributingSources(): Array +// fun getParameters(): RTCRtpReceiveParameters +// fun getStats(): Promise +// fun getSynchronizationSources(): Array +//} +// +//external interface RTCRtpSender { +// val dtmf: RTCDTMFSender? +// val rtcpTransport: RTCDtlsTransport? +// val track: MediaStreamTrack? +// val transport: RTCDtlsTransport? +// fun getParameters(): RTCRtpSendParameters +// fun getStats(): Promise +// fun replaceTrack(withTrack: MediaStreamTrack?): Promise +// fun setParameters(parameters: RTCRtpSendParameters): Promise +// fun setStreams(vararg streams: MediaStream) +//} +// +//external interface RTCRtpTransceiver { +// fun setCodecPreferences(codecs: Iterable) +// val currentDirection: String /* "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped" */ +// var direction: String /* "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped" */ +// val mid: String? +// val receiver: RTCRtpReceiver +// val sender: RTCRtpSender +// fun setCodecPreferences(codecs: Array) +// fun stop() +//} +// +//external interface RTCSsrcConflictEvent : Event { +// val ssrc: Number +//} +// +//external interface RTCStatsEvent : Event { +// val report: RTCStatsReport +//} +// +//external interface RTCTrackEvent : Event { +// val receiver: RTCRtpReceiver +// val streams: ReadonlyArray +// val track: MediaStreamTrack +// val transceiver: RTCRtpTransceiver +//} +// +//external interface RadioNodeList : NodeList { +// var value: String +//} +// +//external interface Range : AbstractRange { +// val commonAncestorContainer: Node +// fun cloneContents(): DocumentFragment +// fun cloneRange(): Range +// fun collapse(toStart: Boolean = definedExternally) +// fun compareBoundaryPoints(how: Number, sourceRange: Range): Number +// fun comparePoint(node: Node, offset: Number): Number +// fun createContextualFragment(fragment: String): DocumentFragment +// fun deleteContents() +// fun detach() +// fun extractContents(): DocumentFragment +// fun getBoundingClientRect(): DOMRect +// fun getClientRects(): DOMRectList +// fun insertNode(node: Node) +// fun intersectsNode(node: Node): Boolean +// fun isPointInRange(node: Node, offset: Number): Boolean +// fun selectNode(node: Node) +// fun selectNodeContents(node: Node) +// fun setEnd(node: Node, offset: Number) +// fun setEndAfter(node: Node) +// fun setEndBefore(node: Node) +// fun setStart(node: Node, offset: Number) +// fun setStartAfter(node: Node) +// fun setStartBefore(node: Node) +// fun surroundContents(newParent: Node) +// override fun toString(): String +// val END_TO_END: Number +// val END_TO_START: Number +// val START_TO_END: Number +// val START_TO_START: Number +//} +// +//external interface ReadableByteStreamController { +// val byobRequest: ReadableStreamBYOBRequest? +// val desiredSize: Number? +// fun close() +// fun enqueue(chunk: ArrayBufferView) +// fun error(error: Any = definedExternally) +//} +// +//external interface `T$13` { +// var mode: String /* "byob" */ +//} +// +//external interface `T$14` { +// var writable: WritableStream +// var readable: ReadableStream +//} +// +//external interface ReadableStream { +// val locked: Boolean +// fun cancel(reason: Any = definedExternally): Promise +// fun getReader(options: `T$13`): ReadableStreamBYOBReader +// fun getReader(): ReadableStreamDefaultReader +// fun pipeThrough(__0: `T$14`, options: PipeOptions = definedExternally): ReadableStream +// fun pipeTo(dest: WritableStream, options: PipeOptions = definedExternally): Promise +// fun tee(): dynamic /* JsTuple, ReadableStream> */ +//} +// +//external interface ReadableStream__0 : ReadableStream +// +//external interface ReadableStreamBYOBReader { +// val closed: Promise +// fun cancel(reason: Any = definedExternally): Promise +// fun read(view: T): Promise | ReadableStreamReadDoneResult */> +// fun releaseLock() +//} +// +//external interface ReadableStreamBYOBRequest { +// val view: ArrayBufferView +// fun respond(bytesWritten: Number) +// fun respondWithNewView(view: ArrayBufferView) +//} +// +//external interface ReadableStreamDefaultController { +// val desiredSize: Number? +// fun close() +// fun enqueue(chunk: R) +// fun error(error: Any = definedExternally) +//} +// +//external interface ReadableStreamDefaultReader { +// val closed: Promise +// fun cancel(reason: Any = definedExternally): Promise +// fun read(): Promise | ReadableStreamReadDoneResult */> +// fun releaseLock() +//} +// +//external interface Request : Body { +// val cache: String /* "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload" */ +// val credentials: String /* "include" | "omit" | "same-origin" */ +// val destination: String /* "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt" */ +// val headers: Headers +// val integrity: String +// val isHistoryNavigation: Boolean +// val isReloadNavigation: Boolean +// val keepalive: Boolean +// val method: String +// val mode: String /* "cors" | "navigate" | "no-cors" | "same-origin" */ +// val redirect: String /* "error" | "follow" | "manual" */ +// val referrer: String +// val referrerPolicy: String /* "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" */ +// val signal: AbortSignal +// val url: String +// fun clone(): Request +//} +// +//external interface Response : Body { +// val headers: Headers +// val ok: Boolean +// val redirected: Boolean +// val status: Number +// val statusText: String +// val trailer: Promise +// val type: String /* "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect" */ +// val url: String +// fun clone(): Response +//} +// +//external interface SVGAElement : SVGGraphicsElement, SVGURIReference { +// val target: SVGAnimatedString +// fun addEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGAElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGAngle { +// val unitType: Number +// var value: Number +// var valueAsString: String +// var valueInSpecifiedUnits: Number +// fun convertToSpecifiedUnits(unitType: Number) +// fun newValueSpecifiedUnits(unitType: Number, valueInSpecifiedUnits: Number) +// val SVG_ANGLETYPE_DEG: Number +// val SVG_ANGLETYPE_GRAD: Number +// val SVG_ANGLETYPE_RAD: Number +// val SVG_ANGLETYPE_UNKNOWN: Number +// val SVG_ANGLETYPE_UNSPECIFIED: Number +//} +// +//external interface SVGAnimatedAngle { +// val animVal: SVGAngle +// val baseVal: SVGAngle +//} +// +//external interface SVGAnimatedBoolean { +// val animVal: Boolean +// var baseVal: Boolean +//} +// +//external interface SVGAnimatedEnumeration { +// val animVal: Number +// var baseVal: Number +//} +// +//external interface SVGAnimatedInteger { +// val animVal: Number +// var baseVal: Number +//} +// +//external interface SVGAnimatedLength { +// val animVal: SVGLength +// val baseVal: SVGLength +//} +// +//external interface SVGAnimatedLengthList { +// val animVal: SVGLengthList +// val baseVal: SVGLengthList +//} +// +//external interface SVGAnimatedNumber { +// val animVal: Number +// var baseVal: Number +//} +// +//external interface SVGAnimatedNumberList { +// val animVal: SVGNumberList +// val baseVal: SVGNumberList +//} +// +//external interface SVGAnimatedPoints { +// val animatedPoints: SVGPointList +// val points: SVGPointList +//} +// +//external interface SVGAnimatedPreserveAspectRatio { +// val animVal: SVGPreserveAspectRatio +// val baseVal: SVGPreserveAspectRatio +//} +// +//external interface SVGAnimatedRect { +// val animVal: DOMRectReadOnly +// val baseVal: DOMRect +//} +// +//external interface SVGAnimatedString { +// val animVal: String +// var baseVal: String +//} +// +//external interface SVGAnimatedTransformList { +// val animVal: SVGTransformList +// val baseVal: SVGTransformList +//} +// +//external interface SVGCircleElement : SVGGeometryElement { +// val cx: SVGAnimatedLength +// val cy: SVGAnimatedLength +// val r: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGCircleElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGClipPathElement : SVGElement { +// val clipPathUnits: SVGAnimatedEnumeration +// val transform: SVGAnimatedTransformList +// fun addEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGClipPathElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGComponentTransferFunctionElement : SVGElement { +// val amplitude: SVGAnimatedNumber +// val exponent: SVGAnimatedNumber +// val intercept: SVGAnimatedNumber +// val offset: SVGAnimatedNumber +// val slope: SVGAnimatedNumber +// val tableValues: SVGAnimatedNumberList +// val type: SVGAnimatedEnumeration +// val SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: Number +// val SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: Number +// val SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: Number +// val SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: Number +// val SVG_FECOMPONENTTRANSFER_TYPE_TABLE: Number +// val SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGComponentTransferFunctionElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGDefsElement : SVGGraphicsElement { +// fun addEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGDefsElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGDescElement : SVGElement { +// fun addEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGDescElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGElementEventMap : ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap +// +//external interface SVGElement : Element, DocumentAndElementEventHandlers, DocumentAndElementEventHandlers, ElementCSSInlineStyle, GlobalEventHandlers, GlobalEventHandlers, HTMLOrSVGElement, SVGElementInstance { +// val ownerSVGElement: SVGSVGElement? +// val viewportElement: SVGElement? +// fun addEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// override var oncopy: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// override var oncut: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// override var onpaste: ((self: DocumentAndElementEventHandlers, ev: ClipboardEvent) -> Any)? +// override var onbeforexrselect: ((self: GlobalEventHandlers, ev: XRSessionEvent) -> Any)? +// override var onabort: ((self: GlobalEventHandlers, ev: UIEvent) -> Any)? +// override var onanimationcancel: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// override var onanimationend: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// override var onanimationiteration: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// override var onanimationstart: ((self: GlobalEventHandlers, ev: AnimationEvent) -> Any)? +// override var onauxclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onblur: ((self: GlobalEventHandlers, ev: FocusEvent) -> Any)? +// override var oncancel: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var oncanplay: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var oncanplaythrough: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onclose: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var oncontextmenu: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var oncuechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var ondblclick: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var ondrag: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondragend: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondragenter: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondragexit: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var ondragleave: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondragover: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondragstart: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondrop: ((self: GlobalEventHandlers, ev: DragEvent) -> Any)? +// override var ondurationchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onemptied: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onended: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onerror: OnErrorEventHandlerNonNull? +// override var onfocus: ((self: GlobalEventHandlers, ev: FocusEvent) -> Any)? +// override var ongotpointercapture: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var oninput: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var oninvalid: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onkeydown: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// override var onkeypress: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// override var onkeyup: ((self: GlobalEventHandlers, ev: KeyboardEvent) -> Any)? +// override var onload: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onloadeddata: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onloadedmetadata: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onloadstart: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onlostpointercapture: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onmousedown: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmouseenter: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmouseleave: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmousemove: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmouseout: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmouseover: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onmouseup: ((self: GlobalEventHandlers, ev: MouseEvent) -> Any)? +// override var onpause: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onplay: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onplaying: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onpointercancel: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerdown: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerenter: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerleave: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointermove: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerout: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerover: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onpointerup: ((self: GlobalEventHandlers, ev: PointerEvent) -> Any)? +// override var onprogress: ((self: GlobalEventHandlers, ev: ProgressEvent) -> Any)? +// override var onratechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onreset: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onresize: ((self: GlobalEventHandlers, ev: UIEvent) -> Any)? +// override var onscroll: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onsecuritypolicyviolation: ((self: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) -> Any)? +// override var onseeked: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onseeking: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onselect: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onselectionchange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onselectstart: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onstalled: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onsubmit: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onsuspend: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var ontimeupdate: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var ontoggle: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var ontouchcancel: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// override var ontouchend: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// override var ontouchmove: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// override var ontouchstart: ((self: GlobalEventHandlers, ev: TouchEvent) -> Any)? +// get() = definedExternally +// set(value) = definedExternally +// override var ontransitioncancel: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// override var ontransitionend: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// override var ontransitionrun: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// override var ontransitionstart: ((self: GlobalEventHandlers, ev: TransitionEvent) -> Any)? +// override var onvolumechange: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onwaiting: ((self: GlobalEventHandlers, ev: Event) -> Any)? +// override var onwheel: ((self: GlobalEventHandlers, ev: WheelEvent) -> Any)? +//} +// +//external interface SVGElementInstance : EventTarget { +// val correspondingElement: SVGElement +// val correspondingUseElement: SVGUseElement +//} +// +//external interface SVGEllipseElement : SVGGeometryElement { +// val cx: SVGAnimatedLength +// val cy: SVGAnimatedLength +// val rx: SVGAnimatedLength +// val ry: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGEllipseElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEBlendElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val in2: SVGAnimatedString +// val mode: SVGAnimatedEnumeration +// val SVG_FEBLEND_MODE_COLOR: Number +// val SVG_FEBLEND_MODE_COLOR_BURN: Number +// val SVG_FEBLEND_MODE_COLOR_DODGE: Number +// val SVG_FEBLEND_MODE_DARKEN: Number +// val SVG_FEBLEND_MODE_DIFFERENCE: Number +// val SVG_FEBLEND_MODE_EXCLUSION: Number +// val SVG_FEBLEND_MODE_HARD_LIGHT: Number +// val SVG_FEBLEND_MODE_HUE: Number +// val SVG_FEBLEND_MODE_LIGHTEN: Number +// val SVG_FEBLEND_MODE_LUMINOSITY: Number +// val SVG_FEBLEND_MODE_MULTIPLY: Number +// val SVG_FEBLEND_MODE_NORMAL: Number +// val SVG_FEBLEND_MODE_OVERLAY: Number +// val SVG_FEBLEND_MODE_SATURATION: Number +// val SVG_FEBLEND_MODE_SCREEN: Number +// val SVG_FEBLEND_MODE_SOFT_LIGHT: Number +// val SVG_FEBLEND_MODE_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEBlendElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEColorMatrixElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val type: SVGAnimatedEnumeration +// val values: SVGAnimatedNumberList +// val SVG_FECOLORMATRIX_TYPE_HUEROTATE: Number +// val SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: Number +// val SVG_FECOLORMATRIX_TYPE_MATRIX: Number +// val SVG_FECOLORMATRIX_TYPE_SATURATE: Number +// val SVG_FECOLORMATRIX_TYPE_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEColorMatrixElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEComponentTransferElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// fun addEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEComponentTransferElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFECompositeElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val in2: SVGAnimatedString +// val k1: SVGAnimatedNumber +// val k2: SVGAnimatedNumber +// val k3: SVGAnimatedNumber +// val k4: SVGAnimatedNumber +// val operator: SVGAnimatedEnumeration +// val SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: Number +// val SVG_FECOMPOSITE_OPERATOR_ATOP: Number +// val SVG_FECOMPOSITE_OPERATOR_IN: Number +// val SVG_FECOMPOSITE_OPERATOR_OUT: Number +// val SVG_FECOMPOSITE_OPERATOR_OVER: Number +// val SVG_FECOMPOSITE_OPERATOR_UNKNOWN: Number +// val SVG_FECOMPOSITE_OPERATOR_XOR: Number +// fun addEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFECompositeElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEConvolveMatrixElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val bias: SVGAnimatedNumber +// val divisor: SVGAnimatedNumber +// val edgeMode: SVGAnimatedEnumeration +// val in1: SVGAnimatedString +// val kernelMatrix: SVGAnimatedNumberList +// val kernelUnitLengthX: SVGAnimatedNumber +// val kernelUnitLengthY: SVGAnimatedNumber +// val orderX: SVGAnimatedInteger +// val orderY: SVGAnimatedInteger +// val preserveAlpha: SVGAnimatedBoolean +// val targetX: SVGAnimatedInteger +// val targetY: SVGAnimatedInteger +// val SVG_EDGEMODE_DUPLICATE: Number +// val SVG_EDGEMODE_NONE: Number +// val SVG_EDGEMODE_UNKNOWN: Number +// val SVG_EDGEMODE_WRAP: Number +// fun addEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEConvolveMatrixElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEDiffuseLightingElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val diffuseConstant: SVGAnimatedNumber +// val in1: SVGAnimatedString +// val kernelUnitLengthX: SVGAnimatedNumber +// val kernelUnitLengthY: SVGAnimatedNumber +// val surfaceScale: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEDiffuseLightingElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEDisplacementMapElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val in2: SVGAnimatedString +// val scale: SVGAnimatedNumber +// val xChannelSelector: SVGAnimatedEnumeration +// val yChannelSelector: SVGAnimatedEnumeration +// val SVG_CHANNEL_A: Number +// val SVG_CHANNEL_B: Number +// val SVG_CHANNEL_G: Number +// val SVG_CHANNEL_R: Number +// val SVG_CHANNEL_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEDisplacementMapElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEDistantLightElement : SVGElement { +// val azimuth: SVGAnimatedNumber +// val elevation: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEDistantLightElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEFloodElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// fun addEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEFloodElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEFuncAElement : SVGComponentTransferFunctionElement { +// fun addEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncAElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEFuncBElement : SVGComponentTransferFunctionElement { +// fun addEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncBElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEFuncGElement : SVGComponentTransferFunctionElement { +// fun addEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncGElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEFuncRElement : SVGComponentTransferFunctionElement { +// fun addEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEFuncRElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEGaussianBlurElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val stdDeviationX: SVGAnimatedNumber +// val stdDeviationY: SVGAnimatedNumber +// fun setStdDeviation(stdDeviationX: Number, stdDeviationY: Number) +// fun addEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEGaussianBlurElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEImageElement : SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { +// val preserveAspectRatio: SVGAnimatedPreserveAspectRatio +// fun addEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEImageElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEMergeElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// fun addEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEMergeNodeElement : SVGElement { +// val in1: SVGAnimatedString +// fun addEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEMergeNodeElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEMorphologyElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val operator: SVGAnimatedEnumeration +// val radiusX: SVGAnimatedNumber +// val radiusY: SVGAnimatedNumber +// val SVG_MORPHOLOGY_OPERATOR_DILATE: Number +// val SVG_MORPHOLOGY_OPERATOR_ERODE: Number +// val SVG_MORPHOLOGY_OPERATOR_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEMorphologyElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEOffsetElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val dx: SVGAnimatedNumber +// val dy: SVGAnimatedNumber +// val in1: SVGAnimatedString +// fun addEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEOffsetElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFEPointLightElement : SVGElement { +// val x: SVGAnimatedNumber +// val y: SVGAnimatedNumber +// val z: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFEPointLightElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFESpecularLightingElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// val kernelUnitLengthX: SVGAnimatedNumber +// val kernelUnitLengthY: SVGAnimatedNumber +// val specularConstant: SVGAnimatedNumber +// val specularExponent: SVGAnimatedNumber +// val surfaceScale: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFESpecularLightingElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFESpotLightElement : SVGElement { +// val limitingConeAngle: SVGAnimatedNumber +// val pointsAtX: SVGAnimatedNumber +// val pointsAtY: SVGAnimatedNumber +// val pointsAtZ: SVGAnimatedNumber +// val specularExponent: SVGAnimatedNumber +// val x: SVGAnimatedNumber +// val y: SVGAnimatedNumber +// val z: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFESpotLightElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFETileElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val in1: SVGAnimatedString +// fun addEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFETileElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFETurbulenceElement : SVGElement, SVGFilterPrimitiveStandardAttributes { +// val baseFrequencyX: SVGAnimatedNumber +// val baseFrequencyY: SVGAnimatedNumber +// val numOctaves: SVGAnimatedInteger +// val seed: SVGAnimatedNumber +// val stitchTiles: SVGAnimatedEnumeration +// val type: SVGAnimatedEnumeration +// val SVG_STITCHTYPE_NOSTITCH: Number +// val SVG_STITCHTYPE_STITCH: Number +// val SVG_STITCHTYPE_UNKNOWN: Number +// val SVG_TURBULENCE_TYPE_FRACTALNOISE: Number +// val SVG_TURBULENCE_TYPE_TURBULENCE: Number +// val SVG_TURBULENCE_TYPE_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFETurbulenceElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFilterElement : SVGElement, SVGURIReference { +// val filterUnits: SVGAnimatedEnumeration +// val height: SVGAnimatedLength +// val primitiveUnits: SVGAnimatedEnumeration +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGFilterElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGFilterPrimitiveStandardAttributes { +// val height: SVGAnimatedLength +// val result: SVGAnimatedString +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +//} +// +//external interface SVGFitToViewBox { +// val preserveAspectRatio: SVGAnimatedPreserveAspectRatio +// val viewBox: SVGAnimatedRect +//} +// +//external interface SVGForeignObjectElement : SVGGraphicsElement { +// val height: SVGAnimatedLength +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGForeignObjectElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGGElement : SVGGraphicsElement { +// fun addEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGGElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGGeometryElement : SVGGraphicsElement { +// val pathLength: SVGAnimatedNumber +// fun getPointAtLength(distance: Number): DOMPoint +// fun getTotalLength(): Number +// fun isPointInFill(point: DOMPointInit = definedExternally): Boolean +// fun isPointInStroke(point: DOMPointInit = definedExternally): Boolean +// fun addEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGGeometryElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGGradientElement : SVGElement, SVGURIReference { +// val gradientTransform: SVGAnimatedTransformList +// val gradientUnits: SVGAnimatedEnumeration +// val spreadMethod: SVGAnimatedEnumeration +// val SVG_SPREADMETHOD_PAD: Number +// val SVG_SPREADMETHOD_REFLECT: Number +// val SVG_SPREADMETHOD_REPEAT: Number +// val SVG_SPREADMETHOD_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGGradientElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGGraphicsElement : SVGElement, SVGTests { +// val transform: SVGAnimatedTransformList +// fun getBBox(options: SVGBoundingBoxOptions = definedExternally): DOMRect +// fun getCTM(): DOMMatrix? +// fun getScreenCTM(): DOMMatrix? +// fun addEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGGraphicsElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGImageElement : SVGGraphicsElement, SVGURIReference { +// val height: SVGAnimatedLength +// val preserveAspectRatio: SVGAnimatedPreserveAspectRatio +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGImageElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGLength { +// val unitType: Number +// var value: Number +// var valueAsString: String +// var valueInSpecifiedUnits: Number +// fun convertToSpecifiedUnits(unitType: Number) +// fun newValueSpecifiedUnits(unitType: Number, valueInSpecifiedUnits: Number) +// val SVG_LENGTHTYPE_CM: Number +// val SVG_LENGTHTYPE_EMS: Number +// val SVG_LENGTHTYPE_EXS: Number +// val SVG_LENGTHTYPE_IN: Number +// val SVG_LENGTHTYPE_MM: Number +// val SVG_LENGTHTYPE_NUMBER: Number +// val SVG_LENGTHTYPE_PC: Number +// val SVG_LENGTHTYPE_PERCENTAGE: Number +// val SVG_LENGTHTYPE_PT: Number +// val SVG_LENGTHTYPE_PX: Number +// val SVG_LENGTHTYPE_UNKNOWN: Number +//} +// +//external interface SVGLengthList { +// val length: Number +// val numberOfItems: Number +// fun appendItem(newItem: SVGLength): SVGLength +// fun clear() +// fun getItem(index: Number): SVGLength +// fun initialize(newItem: SVGLength): SVGLength +// fun insertItemBefore(newItem: SVGLength, index: Number): SVGLength +// fun removeItem(index: Number): SVGLength +// fun replaceItem(newItem: SVGLength, index: Number): SVGLength +// @nativeGetter +// operator fun get(index: Number): SVGLength? +// @nativeSetter +// operator fun set(index: Number, value: SVGLength) +//} +// +//external interface SVGLineElement : SVGGeometryElement { +// val x1: SVGAnimatedLength +// val x2: SVGAnimatedLength +// val y1: SVGAnimatedLength +// val y2: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGLineElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGLinearGradientElement : SVGGradientElement { +// val x1: SVGAnimatedLength +// val x2: SVGAnimatedLength +// val y1: SVGAnimatedLength +// val y2: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGLinearGradientElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGMarkerElement : SVGElement, SVGFitToViewBox { +// val markerHeight: SVGAnimatedLength +// val markerUnits: SVGAnimatedEnumeration +// val markerWidth: SVGAnimatedLength +// val orientAngle: SVGAnimatedAngle +// val orientType: SVGAnimatedEnumeration +// val refX: SVGAnimatedLength +// val refY: SVGAnimatedLength +// fun setOrientToAngle(angle: SVGAngle) +// fun setOrientToAuto() +// val SVG_MARKERUNITS_STROKEWIDTH: Number +// val SVG_MARKERUNITS_UNKNOWN: Number +// val SVG_MARKERUNITS_USERSPACEONUSE: Number +// val SVG_MARKER_ORIENT_ANGLE: Number +// val SVG_MARKER_ORIENT_AUTO: Number +// val SVG_MARKER_ORIENT_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGMarkerElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGMaskElement : SVGElement { +// val height: SVGAnimatedLength +// val maskContentUnits: SVGAnimatedEnumeration +// val maskUnits: SVGAnimatedEnumeration +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGMaskElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGMetadataElement : SVGElement { +// fun addEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGMetadataElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGNumber { +// var value: Number +//} +// +//external interface SVGNumberList { +// val length: Number +// val numberOfItems: Number +// fun appendItem(newItem: SVGNumber): SVGNumber +// fun clear() +// fun getItem(index: Number): SVGNumber +// fun initialize(newItem: SVGNumber): SVGNumber +// fun insertItemBefore(newItem: SVGNumber, index: Number): SVGNumber +// fun removeItem(index: Number): SVGNumber +// fun replaceItem(newItem: SVGNumber, index: Number): SVGNumber +// @nativeGetter +// operator fun get(index: Number): SVGNumber? +// @nativeSetter +// operator fun set(index: Number, value: SVGNumber) +//} +// +//external interface SVGPathElement : SVGGraphicsElement { +// val pathSegList: SVGPathSegList +// fun createSVGPathSegArcAbs(x: Number, y: Number, r1: Number, r2: Number, angle: Number, largeArcFlag: Boolean, sweepFlag: Boolean): SVGPathSegArcAbs +// fun createSVGPathSegArcRel(x: Number, y: Number, r1: Number, r2: Number, angle: Number, largeArcFlag: Boolean, sweepFlag: Boolean): SVGPathSegArcRel +// fun createSVGPathSegClosePath(): SVGPathSegClosePath +// fun createSVGPathSegCurvetoCubicAbs(x: Number, y: Number, x1: Number, y1: Number, x2: Number, y2: Number): SVGPathSegCurvetoCubicAbs +// fun createSVGPathSegCurvetoCubicRel(x: Number, y: Number, x1: Number, y1: Number, x2: Number, y2: Number): SVGPathSegCurvetoCubicRel +// fun createSVGPathSegCurvetoCubicSmoothAbs(x: Number, y: Number, x2: Number, y2: Number): SVGPathSegCurvetoCubicSmoothAbs +// fun createSVGPathSegCurvetoCubicSmoothRel(x: Number, y: Number, x2: Number, y2: Number): SVGPathSegCurvetoCubicSmoothRel +// fun createSVGPathSegCurvetoQuadraticAbs(x: Number, y: Number, x1: Number, y1: Number): SVGPathSegCurvetoQuadraticAbs +// fun createSVGPathSegCurvetoQuadraticRel(x: Number, y: Number, x1: Number, y1: Number): SVGPathSegCurvetoQuadraticRel +// fun createSVGPathSegCurvetoQuadraticSmoothAbs(x: Number, y: Number): SVGPathSegCurvetoQuadraticSmoothAbs +// fun createSVGPathSegCurvetoQuadraticSmoothRel(x: Number, y: Number): SVGPathSegCurvetoQuadraticSmoothRel +// fun createSVGPathSegLinetoAbs(x: Number, y: Number): SVGPathSegLinetoAbs +// fun createSVGPathSegLinetoHorizontalAbs(x: Number): SVGPathSegLinetoHorizontalAbs +// fun createSVGPathSegLinetoHorizontalRel(x: Number): SVGPathSegLinetoHorizontalRel +// fun createSVGPathSegLinetoRel(x: Number, y: Number): SVGPathSegLinetoRel +// fun createSVGPathSegLinetoVerticalAbs(y: Number): SVGPathSegLinetoVerticalAbs +// fun createSVGPathSegLinetoVerticalRel(y: Number): SVGPathSegLinetoVerticalRel +// fun createSVGPathSegMovetoAbs(x: Number, y: Number): SVGPathSegMovetoAbs +// fun createSVGPathSegMovetoRel(x: Number, y: Number): SVGPathSegMovetoRel +// fun getPathSegAtLength(distance: Number): Number +// fun getPointAtLength(distance: Number): SVGPoint +// fun getTotalLength(): Number +// fun addEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGPathElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGPathSeg { +// val pathSegType: Number +// val pathSegTypeAsLetter: String +// val PATHSEG_ARC_ABS: Number +// val PATHSEG_ARC_REL: Number +// val PATHSEG_CLOSEPATH: Number +// val PATHSEG_CURVETO_CUBIC_ABS: Number +// val PATHSEG_CURVETO_CUBIC_REL: Number +// val PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: Number +// val PATHSEG_CURVETO_CUBIC_SMOOTH_REL: Number +// val PATHSEG_CURVETO_QUADRATIC_ABS: Number +// val PATHSEG_CURVETO_QUADRATIC_REL: Number +// val PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: Number +// val PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: Number +// val PATHSEG_LINETO_ABS: Number +// val PATHSEG_LINETO_HORIZONTAL_ABS: Number +// val PATHSEG_LINETO_HORIZONTAL_REL: Number +// val PATHSEG_LINETO_REL: Number +// val PATHSEG_LINETO_VERTICAL_ABS: Number +// val PATHSEG_LINETO_VERTICAL_REL: Number +// val PATHSEG_MOVETO_ABS: Number +// val PATHSEG_MOVETO_REL: Number +// val PATHSEG_UNKNOWN: Number +//} +// +//external interface SVGPathSegArcAbs : SVGPathSeg { +// var angle: Number +// var largeArcFlag: Boolean +// var r1: Number +// var r2: Number +// var sweepFlag: Boolean +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegArcRel : SVGPathSeg { +// var angle: Number +// var largeArcFlag: Boolean +// var r1: Number +// var r2: Number +// var sweepFlag: Boolean +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegClosePath : SVGPathSeg +// +//external interface SVGPathSegCurvetoCubicAbs : SVGPathSeg { +// var x: Number +// var x1: Number +// var x2: Number +// var y: Number +// var y1: Number +// var y2: Number +//} +// +//external interface SVGPathSegCurvetoCubicRel : SVGPathSeg { +// var x: Number +// var x1: Number +// var x2: Number +// var y: Number +// var y1: Number +// var y2: Number +//} +// +//external interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg { +// var x: Number +// var x2: Number +// var y: Number +// var y2: Number +//} +// +//external interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg { +// var x: Number +// var x2: Number +// var y: Number +// var y2: Number +//} +// +//external interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg { +// var x: Number +// var x1: Number +// var y: Number +// var y1: Number +//} +// +//external interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg { +// var x: Number +// var x1: Number +// var y: Number +// var y1: Number +//} +// +//external interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegLinetoAbs : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg { +// var x: Number +//} +// +//external interface SVGPathSegLinetoHorizontalRel : SVGPathSeg { +// var x: Number +//} +// +//external interface SVGPathSegLinetoRel : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegLinetoVerticalAbs : SVGPathSeg { +// var y: Number +//} +// +//external interface SVGPathSegLinetoVerticalRel : SVGPathSeg { +// var y: Number +//} +// +//external interface SVGPathSegList { +// val numberOfItems: Number +// fun appendItem(newItem: SVGPathSeg): SVGPathSeg +// fun clear() +// fun getItem(index: Number): SVGPathSeg +// fun initialize(newItem: SVGPathSeg): SVGPathSeg +// fun insertItemBefore(newItem: SVGPathSeg, index: Number): SVGPathSeg +// fun removeItem(index: Number): SVGPathSeg +// fun replaceItem(newItem: SVGPathSeg, index: Number): SVGPathSeg +//} +// +//external interface SVGPathSegMovetoAbs : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPathSegMovetoRel : SVGPathSeg { +// var x: Number +// var y: Number +//} +// +//external interface SVGPatternElement : SVGElement, SVGFitToViewBox, SVGURIReference { +// val height: SVGAnimatedLength +// val patternContentUnits: SVGAnimatedEnumeration +// val patternTransform: SVGAnimatedTransformList +// val patternUnits: SVGAnimatedEnumeration +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGPatternElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGPointList { +// val length: Number +// val numberOfItems: Number +// fun appendItem(newItem: DOMPoint): DOMPoint +// fun clear() +// fun getItem(index: Number): DOMPoint +// fun initialize(newItem: DOMPoint): DOMPoint +// fun insertItemBefore(newItem: DOMPoint, index: Number): DOMPoint +// fun removeItem(index: Number): DOMPoint +// fun replaceItem(newItem: DOMPoint, index: Number): DOMPoint +// @nativeGetter +// operator fun get(index: Number): DOMPoint? +// @nativeSetter +// operator fun set(index: Number, value: DOMPoint) +//} +// +//external interface SVGPolygonElement : SVGGeometryElement, SVGAnimatedPoints { +// fun addEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGPolygonElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGPolylineElement : SVGGeometryElement, SVGAnimatedPoints { +// fun addEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGPolylineElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGPreserveAspectRatio { +// var align: Number +// var meetOrSlice: Number +// val SVG_MEETORSLICE_MEET: Number +// val SVG_MEETORSLICE_SLICE: Number +// val SVG_MEETORSLICE_UNKNOWN: Number +// val SVG_PRESERVEASPECTRATIO_NONE: Number +// val SVG_PRESERVEASPECTRATIO_UNKNOWN: Number +// val SVG_PRESERVEASPECTRATIO_XMAXYMAX: Number +// val SVG_PRESERVEASPECTRATIO_XMAXYMID: Number +// val SVG_PRESERVEASPECTRATIO_XMAXYMIN: Number +// val SVG_PRESERVEASPECTRATIO_XMIDYMAX: Number +// val SVG_PRESERVEASPECTRATIO_XMIDYMID: Number +// val SVG_PRESERVEASPECTRATIO_XMIDYMIN: Number +// val SVG_PRESERVEASPECTRATIO_XMINYMAX: Number +// val SVG_PRESERVEASPECTRATIO_XMINYMID: Number +// val SVG_PRESERVEASPECTRATIO_XMINYMIN: Number +//} +// +//external interface SVGRadialGradientElement : SVGGradientElement { +// val cx: SVGAnimatedLength +// val cy: SVGAnimatedLength +// val fr: SVGAnimatedLength +// val fx: SVGAnimatedLength +// val fy: SVGAnimatedLength +// val r: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGRadialGradientElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGRectElement : SVGGeometryElement { +// val height: SVGAnimatedLength +// val rx: SVGAnimatedLength +// val ry: SVGAnimatedLength +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGRectElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGSVGElementEventMap : SVGElementEventMap { +// var SVGUnload: Event +// var SVGZoom: SVGZoomEvent +//} +// +//external interface SVGSVGElement : SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan { +// var contentScriptType: String +// var contentStyleType: String +// var currentScale: Number +// val currentTranslate: SVGPoint +// val height: SVGAnimatedLength +// var onunload: ((self: SVGSVGElement, ev: Event) -> Any)? +// var onzoom: ((self: SVGSVGElement, ev: SVGZoomEvent) -> Any)? +// val pixelUnitToMillimeterX: Number +// val pixelUnitToMillimeterY: Number +// val screenPixelToMillimeterX: Number +// val screenPixelToMillimeterY: Number +// val viewport: SVGRect +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun animationsPaused(): Boolean +// fun checkEnclosure(element: SVGElement, rect: SVGRect): Boolean +// fun checkIntersection(element: SVGElement, rect: SVGRect): Boolean +// fun createSVGAngle(): SVGAngle +// fun createSVGLength(): SVGLength +// fun createSVGMatrix(): SVGMatrix +// fun createSVGNumber(): SVGNumber +// fun createSVGPoint(): SVGPoint +// fun createSVGRect(): SVGRect +// fun createSVGTransform(): SVGTransform +// fun createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform +// fun deselectAll() +// fun forceRedraw() +// fun getComputedStyle(elt: Element, pseudoElt: String? = definedExternally): CSSStyleDeclaration +// fun getCurrentTime(): Number +// fun getElementById(elementId: String): Element +// fun getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf +// fun getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf +// fun pauseAnimations() +// fun setCurrentTime(seconds: Number) +// fun suspendRedraw(maxWaitMilliseconds: Number): Number +// fun unpauseAnimations() +// fun unsuspendRedraw(suspendHandleID: Number) +// fun unsuspendRedrawAll() +// fun addEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGSVGElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGScriptElement : SVGElement, SVGURIReference { +// var type: String +// fun addEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGScriptElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGStopElement : SVGElement { +// val offset: SVGAnimatedNumber +// fun addEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGStopElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGStringList { +// val length: Number +// val numberOfItems: Number +// fun appendItem(newItem: String): String +// fun clear() +// fun getItem(index: Number): String +// fun initialize(newItem: String): String +// fun insertItemBefore(newItem: String, index: Number): String +// fun removeItem(index: Number): String +// fun replaceItem(newItem: String, index: Number): String +// @nativeGetter +// operator fun get(index: Number): String? +// @nativeSetter +// operator fun set(index: Number, value: String) +//} +// +//external interface SVGStyleElement : SVGElement { +// var disabled: Boolean +// var media: String +// var title: String +// var type: String +// fun addEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGStyleElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGSwitchElement : SVGGraphicsElement { +// fun addEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGSwitchElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGSymbolElement : SVGElement, SVGFitToViewBox { +// fun addEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGSymbolElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTSpanElement : SVGTextPositioningElement { +// fun addEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTSpanElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTests { +// val requiredExtensions: SVGStringList +// val systemLanguage: SVGStringList +//} +// +//external interface SVGTextContentElement : SVGGraphicsElement { +// val lengthAdjust: SVGAnimatedEnumeration +// val textLength: SVGAnimatedLength +// fun getCharNumAtPosition(point: DOMPointInit = definedExternally): Number +// fun getComputedTextLength(): Number +// fun getEndPositionOfChar(charnum: Number): DOMPoint +// fun getExtentOfChar(charnum: Number): DOMRect +// fun getNumberOfChars(): Number +// fun getRotationOfChar(charnum: Number): Number +// fun getStartPositionOfChar(charnum: Number): DOMPoint +// fun getSubStringLength(charnum: Number, nchars: Number): Number +// fun selectSubString(charnum: Number, nchars: Number) +// val LENGTHADJUST_SPACING: Number +// val LENGTHADJUST_SPACINGANDGLYPHS: Number +// val LENGTHADJUST_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTextContentElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTextElement : SVGTextPositioningElement { +// fun addEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTextElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTextPathElement : SVGTextContentElement, SVGURIReference { +// val method: SVGAnimatedEnumeration +// val spacing: SVGAnimatedEnumeration +// val startOffset: SVGAnimatedLength +// val TEXTPATH_METHODTYPE_ALIGN: Number +// val TEXTPATH_METHODTYPE_STRETCH: Number +// val TEXTPATH_METHODTYPE_UNKNOWN: Number +// val TEXTPATH_SPACINGTYPE_AUTO: Number +// val TEXTPATH_SPACINGTYPE_EXACT: Number +// val TEXTPATH_SPACINGTYPE_UNKNOWN: Number +// fun addEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTextPathElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTextPositioningElement : SVGTextContentElement { +// val dx: SVGAnimatedLengthList +// val dy: SVGAnimatedLengthList +// val rotate: SVGAnimatedNumberList +// val x: SVGAnimatedLengthList +// val y: SVGAnimatedLengthList +// fun addEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTextPositioningElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTitleElement : SVGElement { +// fun addEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGTitleElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGTransform { +// val angle: Number +// val matrix: SVGMatrix +// val type: Number +// fun setMatrix(matrix: SVGMatrix) +// fun setRotate(angle: Number, cx: Number, cy: Number) +// fun setScale(sx: Number, sy: Number) +// fun setSkewX(angle: Number) +// fun setSkewY(angle: Number) +// fun setTranslate(tx: Number, ty: Number) +// val SVG_TRANSFORM_MATRIX: Number +// val SVG_TRANSFORM_ROTATE: Number +// val SVG_TRANSFORM_SCALE: Number +// val SVG_TRANSFORM_SKEWX: Number +// val SVG_TRANSFORM_SKEWY: Number +// val SVG_TRANSFORM_TRANSLATE: Number +// val SVG_TRANSFORM_UNKNOWN: Number +//} +// +//external interface SVGTransformList { +// val numberOfItems: Number +// fun appendItem(newItem: SVGTransform): SVGTransform +// fun clear() +// fun consolidate(): SVGTransform +// fun createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform +// fun getItem(index: Number): SVGTransform +// fun initialize(newItem: SVGTransform): SVGTransform +// fun insertItemBefore(newItem: SVGTransform, index: Number): SVGTransform +// fun removeItem(index: Number): SVGTransform +// fun replaceItem(newItem: SVGTransform, index: Number): SVGTransform +//} +// +//external interface SVGURIReference { +// val href: SVGAnimatedString +//} +// +//external interface SVGUseElement : SVGGraphicsElement, SVGURIReference { +// val animatedInstanceRoot: SVGElementInstance? +// val height: SVGAnimatedLength +// val instanceRoot: SVGElementInstance? +// val width: SVGAnimatedLength +// val x: SVGAnimatedLength +// val y: SVGAnimatedLength +// fun addEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGUseElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGViewElement : SVGElement, SVGFitToViewBox, SVGZoomAndPan { +// val viewTarget: SVGStringList +// fun addEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SVGViewElement, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface SVGZoomAndPan { +// val zoomAndPan: Number +//} +// +//external interface SVGZoomEvent : UIEvent { +// val newScale: Number +// val newTranslate: SVGPoint +// val previousScale: Number +// val previousTranslate: SVGPoint +// val zoomRectScreen: SVGRect +//} +// +//external interface Screen { +// val availHeight: Number +// val availWidth: Number +// val colorDepth: Number +// val height: Number +// val orientation: ScreenOrientation +// val pixelDepth: Number +// val width: Number +//} +// +//external interface ScreenOrientationEventMap { +// var change: Event +//} +// +//external interface ScreenOrientation : EventTarget { +// val angle: Number +// var onchange: ((self: ScreenOrientation, ev: Event) -> Any)? +// val type: String /* "landscape-primary" | "landscape-secondary" | "portrait-primary" | "portrait-secondary" */ +// fun lock(orientation: String /* "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary" */): Promise +// fun unlock() +// fun addEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ScreenOrientation, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface ScriptProcessorNodeEventMap { +// var audioprocess: AudioProcessingEvent +//} +// +//external interface ScriptProcessorNode : AudioNode { +// val bufferSize: Number +// var onaudioprocess: ((self: ScriptProcessorNode, ev: AudioProcessingEvent) -> Any)? +// fun addEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ScriptProcessorNode, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface SecurityPolicyViolationEvent : Event { +// val blockedURI: String +// val columnNumber: Number +// val documentURI: String +// val effectiveDirective: String +// val lineNumber: Number +// val originalPolicy: String +// val referrer: String +// val sourceFile: String +// val statusCode: Number +// val violatedDirective: String +//} +// +//external interface Selection { +// val anchorNode: Node? +// val anchorOffset: Number +// val focusNode: Node? +// val focusOffset: Number +// val isCollapsed: Boolean +// val rangeCount: Number +// val type: String +// fun addRange(range: Range) +// fun collapse(node: Node?, offset: Number = definedExternally) +// fun collapseToEnd() +// fun collapseToStart() +// fun containsNode(node: Node, allowPartialContainment: Boolean = definedExternally): Boolean +// fun deleteFromDocument() +// fun empty() +// fun extend(node: Node, offset: Number = definedExternally) +// fun getRangeAt(index: Number): Range +// fun removeAllRanges() +// fun removeRange(range: Range) +// fun selectAllChildren(node: Node) +// fun setBaseAndExtent(anchorNode: Node, anchorOffset: Number, focusNode: Node, focusOffset: Number) +// fun setPosition(node: Node?, offset: Number = definedExternally) +// override fun toString(): String +//} +// +//external interface ServiceWorkerEventMap : AbstractWorkerEventMap { +// var statechange: Event +//} +// +//external interface ServiceWorker : EventTarget, AbstractWorker { +// var onstatechange: ((self: ServiceWorker, ev: Event) -> Any)? +// val scriptURL: String +// val state: String /* "activated" | "activating" | "installed" | "installing" | "parsed" | "redundant" */ +// fun postMessage(message: Any, transfer: Array) +// fun postMessage(message: Any, options: PostMessageOptions = definedExternally) +// fun postMessage(message: Any) +// fun addEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ServiceWorker, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +//} +// +//external interface ServiceWorkerContainerEventMap { +// var controllerchange: Event +// var message: MessageEvent +// var messageerror: MessageEvent +//} +// +//external interface ServiceWorkerContainer : EventTarget { +// val controller: ServiceWorker? +// var oncontrollerchange: ((self: ServiceWorkerContainer, ev: Event) -> Any)? +// var onmessage: ((self: ServiceWorkerContainer, ev: MessageEvent) -> Any)? +// var onmessageerror: ((self: ServiceWorkerContainer, ev: MessageEvent) -> Any)? +// val ready: Promise +// fun getRegistration(clientURL: String = definedExternally): Promise +// fun getRegistrations(): Promise> +// fun register(scriptURL: String, options: RegistrationOptions = definedExternally): Promise +// fun startMessages() +// fun addEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerContainer, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface ServiceWorkerMessageEvent : Event { +// val data: Any +// val lastEventId: String +// val origin: String +// val ports: ReadonlyArray? +// val source: dynamic /* ServiceWorker? | MessagePort? */ +// get() = definedExternally +//} +// +//external interface ServiceWorkerRegistrationEventMap { +// var updatefound: Event +//} +// +//external interface ServiceWorkerRegistration : EventTarget { +// val active: ServiceWorker? +// val installing: ServiceWorker? +// val navigationPreload: NavigationPreloadManager +// var onupdatefound: ((self: ServiceWorkerRegistration, ev: Event) -> Any)? +// val pushManager: PushManager +// val scope: String +// val sync: SyncManager +// val updateViaCache: String /* "all" | "imports" | "none" */ +// val waiting: ServiceWorker? +// fun getNotifications(filter: GetNotificationOptions = definedExternally): Promise> +// fun showNotification(title: String, options: NotificationOptions = definedExternally): Promise +// fun unregister(): Promise +// fun update(): Promise +// fun addEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: ServiceWorkerRegistration, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface ShadowRoot : DocumentFragment, DocumentOrShadowRoot, InnerHTML { +// val host: Element +// val mode: String /* "closed" | "open" */ +//} +// +//external interface Slotable { +// val assignedSlot: HTMLSlotElement? +//} +// +//external interface SourceBufferEventMap { +// var abort: Event +// var error: Event +// var update: Event +// var updateend: Event +// var updatestart: Event +//} +// +//external interface SourceBuffer : EventTarget { +// var appendWindowEnd: Number +// var appendWindowStart: Number +// val buffered: TimeRanges +// var mode: String /* "segments" | "sequence" */ +// var onabort: ((self: SourceBuffer, ev: Event) -> Any)? +// var onerror: ((self: SourceBuffer, ev: Event) -> Any)? +// var onupdate: ((self: SourceBuffer, ev: Event) -> Any)? +// var onupdateend: ((self: SourceBuffer, ev: Event) -> Any)? +// var onupdatestart: ((self: SourceBuffer, ev: Event) -> Any)? +// var timestampOffset: Number +// val updating: Boolean +// fun abort() +// fun appendBuffer(data: ArrayBufferView) +// fun appendBuffer(data: ArrayBuffer) +// fun remove(start: Number, end: Number) +// fun addEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SourceBuffer, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface SourceBufferListEventMap { +// var addsourcebuffer: Event +// var removesourcebuffer: Event +//} +// +//external interface SourceBufferList : EventTarget { +// val length: Number +// var onaddsourcebuffer: ((self: SourceBufferList, ev: Event) -> Any)? +// var onremovesourcebuffer: ((self: SourceBufferList, ev: Event) -> Any)? +// fun addEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SourceBufferList, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// @nativeGetter +// operator fun get(index: Number): SourceBuffer? +// @nativeSetter +// operator fun set(index: Number, value: SourceBuffer) +//} +// +//external interface SpeechRecognitionAlternative { +// val confidence: Number +// val transcript: String +//} +// +//external interface SpeechRecognitionEvent : Event { +// val resultIndex: Number +// val results: SpeechRecognitionResultList +//} +// +//external interface SpeechRecognitionResult { +// val isFinal: Boolean +// val length: Number +// fun item(index: Number): SpeechRecognitionAlternative +// @nativeGetter +// operator fun get(index: Number): SpeechRecognitionAlternative? +// @nativeSetter +// operator fun set(index: Number, value: SpeechRecognitionAlternative) +//} +// +//external interface SpeechRecognitionResultList { +// val length: Number +// fun item(index: Number): SpeechRecognitionResult +// @nativeGetter +// operator fun get(index: Number): SpeechRecognitionResult? +// @nativeSetter +// operator fun set(index: Number, value: SpeechRecognitionResult) +//} +// +//external interface SpeechSynthesisEventMap { +// var voiceschanged: Event +//} +// +//external interface SpeechSynthesis : EventTarget { +// var onvoiceschanged: ((self: SpeechSynthesis, ev: Event) -> Any)? +// val paused: Boolean +// val pending: Boolean +// val speaking: Boolean +// fun cancel() +// fun getVoices(): Array +// fun pause() +// fun resume() +// fun speak(utterance: SpeechSynthesisUtterance) +// fun addEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesis, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface SpeechSynthesisErrorEvent : SpeechSynthesisEvent { +// val error: String /* "audio-busy" | "audio-hardware" | "canceled" | "interrupted" | "invalid-argument" | "language-unavailable" | "network" | "not-allowed" | "synthesis-failed" | "synthesis-unavailable" | "text-too-long" | "voice-unavailable" */ +//} +// +//external interface SpeechSynthesisEvent : Event { +// val charIndex: Number +// val charLength: Number +// val elapsedTime: Number +// val name: String +// val utterance: SpeechSynthesisUtterance +//} +// +//external interface SpeechSynthesisUtteranceEventMap { +// var boundary: SpeechSynthesisEvent +// var end: SpeechSynthesisEvent +// var error: SpeechSynthesisErrorEvent +// var mark: SpeechSynthesisEvent +// var pause: SpeechSynthesisEvent +// var resume: SpeechSynthesisEvent +// var start: SpeechSynthesisEvent +//} +// +//external interface SpeechSynthesisUtterance : EventTarget { +// var lang: String +// var onboundary: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var onend: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var onerror: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisErrorEvent) -> Any)? +// var onmark: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var onpause: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var onresume: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var onstart: ((self: SpeechSynthesisUtterance, ev: SpeechSynthesisEvent) -> Any)? +// var pitch: Number +// var rate: Number +// var text: String +// var voice: SpeechSynthesisVoice? +// var volume: Number +// fun addEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: SpeechSynthesisUtterance, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface SpeechSynthesisVoice { +// val default: Boolean +// val lang: String +// val localService: Boolean +// val name: String +// val voiceURI: String +//} +// +//external interface StereoPannerNode : AudioNode { +// val pan: AudioParam +//} +// +//external interface Storage { +// val length: Number +// fun clear() +// fun getItem(key: String): String? +// fun key(index: Number): String? +// fun removeItem(key: String) +// fun setItem(key: String, value: String) +// @nativeGetter +// operator fun get(name: String): Any? +// @nativeSetter +// operator fun set(name: String, value: Any) +//} +// +//external interface StorageEvent : Event { +// val key: String? +// val newValue: String? +// val oldValue: String? +// val storageArea: Storage? +// val url: String +//} +// +//external interface StorageManager { +// fun estimate(): Promise +// fun persist(): Promise +// fun persisted(): Promise +//} +// +//external interface StyleMedia { +// val type: String +// fun matchMedium(mediaquery: String): Boolean +//} +// +//external interface StyleSheet { +// var disabled: Boolean +// val href: String? +// val media: MediaList +// val ownerNode: dynamic /* Element? | ProcessingInstruction? */ +// get() = definedExternally +// val parentStyleSheet: CSSStyleSheet? +// val title: String? +// val type: String +//} +// +//external interface StyleSheetList { +// val length: Number +// fun item(index: Number): CSSStyleSheet? +// @nativeGetter +// operator fun get(index: Number): CSSStyleSheet? +// @nativeSetter +// operator fun set(index: Number, value: CSSStyleSheet) +//} +// +//external interface SubtleCrypto { +// fun decrypt(algorithm: String, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: Algorithm, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: RsaOaepParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: AesCtrParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: AesCbcParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: AesCmacParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: AesGcmParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun decrypt(algorithm: AesCfbParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun deriveBits(algorithm: String, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: Algorithm, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: DhKeyDeriveParams, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: ConcatParams, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: HkdfCtrParams, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveBits(algorithm: Pbkdf2Params, baseKey: CryptoKey, length: Number): PromiseLike +// fun deriveKey(algorithm: String, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: Algorithm, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: DhKeyDeriveParams, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: ConcatParams, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: HkdfCtrParams, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun deriveKey(algorithm: Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: Any /* String | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun digest(algorithm: String, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun digest(algorithm: Algorithm, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: String, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: Algorithm, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: RsaOaepParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: AesCtrParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: AesCbcParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: AesCmacParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: AesGcmParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun encrypt(algorithm: AesCfbParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun exportKey(format: String /* "jwk" | "raw" | "pkcs8" | "spki" */, key: CryptoKey): dynamic /* PromiseLike */ +// fun generateKey(algorithm: String, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: Algorithm, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: RsaHashedKeyGenParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: EcKeyGenParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: DhKeyGenParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: AesKeyGenParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: HmacKeyGenParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun generateKey(algorithm: Pbkdf2Params, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: String, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: Algorithm, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: RsaHashedImportParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: EcKeyImportParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: HmacImportParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: DhImportKeyParams, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "jwk" */, keyData: JsonWebKey, algorithm: AesKeyAlgorithm, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Int8Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Int16Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Int32Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Uint8Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Uint16Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Uint32Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Uint8ClampedArray, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Float32Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: Float64Array, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: DataView, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String /* "raw" | "pkcs8" | "spki" */, keyData: ArrayBuffer, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun importKey(format: String, keyData: JsonWebKey, algorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun sign(algorithm: String, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun sign(algorithm: Algorithm, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun sign(algorithm: RsaPssParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun sign(algorithm: EcdsaParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun sign(algorithm: AesCmacParams, key: CryptoKey, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Int8Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Int16Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Int32Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Uint8Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Uint16Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Uint32Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Uint8ClampedArray, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Float32Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: Float64Array, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: DataView, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun unwrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, wrappedKey: ArrayBuffer, unwrappingKey: CryptoKey, unwrapAlgorithm: Any /* String | Algorithm | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams */, unwrappedKeyAlgorithm: Any /* String | Algorithm | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams | AesKeyAlgorithm */, extractable: Boolean, keyUsages: Array): PromiseLike +// fun verify(algorithm: String, key: CryptoKey, signature: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun verify(algorithm: Algorithm, key: CryptoKey, signature: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun verify(algorithm: RsaPssParams, key: CryptoKey, signature: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun verify(algorithm: EcdsaParams, key: CryptoKey, signature: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun verify(algorithm: AesCmacParams, key: CryptoKey, signature: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */, data: Any /* Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer */): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: String): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: Algorithm): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: RsaOaepParams): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCtrParams): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCbcParams): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCmacParams): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesGcmParams): PromiseLike +// fun wrapKey(format: String /* "raw" | "pkcs8" | "spki" | "jwk" | String */, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AesCfbParams): PromiseLike +//} +// +//external interface SyncManager { +// fun getTags(): Promise> +// fun register(tag: String): Promise +//} +// +//external interface Text : CharacterData, Slotable { +// override val assignedSlot: HTMLSlotElement? +// val wholeText: String +// fun splitText(offset: Number): Text +//} +// +//external interface TextEvent : UIEvent { +// val data: String +// fun initTextEvent(typeArg: String, canBubbleArg: Boolean, cancelableArg: Boolean, viewArg: Window, dataArg: String, inputMethod: Number, locale: String) +// val DOM_INPUT_METHOD_DROP: Number +// val DOM_INPUT_METHOD_HANDWRITING: Number +// val DOM_INPUT_METHOD_IME: Number +// val DOM_INPUT_METHOD_KEYBOARD: Number +// val DOM_INPUT_METHOD_MULTIMODAL: Number +// val DOM_INPUT_METHOD_OPTION: Number +// val DOM_INPUT_METHOD_PASTE: Number +// val DOM_INPUT_METHOD_SCRIPT: Number +// val DOM_INPUT_METHOD_UNKNOWN: Number +// val DOM_INPUT_METHOD_VOICE: Number +//} +// +//external interface TextMetrics { +// val actualBoundingBoxAscent: Number +// val actualBoundingBoxDescent: Number +// val actualBoundingBoxLeft: Number +// val actualBoundingBoxRight: Number +// val alphabeticBaseline: Number +// val emHeightAscent: Number +// val emHeightDescent: Number +// val fontBoundingBoxAscent: Number +// val fontBoundingBoxDescent: Number +// val hangingBaseline: Number +// val ideographicBaseline: Number +// val width: Number +//} +// +//external interface TextTrackEventMap { +// var cuechange: Event +//} +// +//external interface TextTrack : EventTarget { +// val activeCues: TextTrackCueList? +// val cues: TextTrackCueList? +// val id: String +// val inBandMetadataTrackDispatchType: String +// val kind: String /* "captions" | "chapters" | "descriptions" | "metadata" | "subtitles" */ +// val label: String +// val language: String +// var mode: String /* "disabled" | "hidden" | "showing" */ +// var oncuechange: ((self: TextTrack, ev: Event) -> Any)? +// val sourceBuffer: SourceBuffer? +// fun addCue(cue: TextTrackCue) +// fun removeCue(cue: TextTrackCue) +// fun addEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: TextTrack, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface TextTrackCueEventMap { +// var enter: Event +// var exit: Event +//} +// +//external interface TextTrackCue : EventTarget { +// var endTime: Number +// var id: String +// var onenter: ((self: TextTrackCue, ev: Event) -> Any)? +// var onexit: ((self: TextTrackCue, ev: Event) -> Any)? +// var pauseOnExit: Boolean +// var startTime: Number +// val track: TextTrack? +// fun addEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: TextTrackCue, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +//} +// +//external interface TextTrackCueList { +// val length: Number +// fun getCueById(id: String): TextTrackCue? +// @nativeGetter +// operator fun get(index: Number): TextTrackCue? +// @nativeSetter +// operator fun set(index: Number, value: TextTrackCue) +//} +// +//external interface TextTrackListEventMap { +// var addtrack: TrackEvent +// var change: Event +// var removetrack: TrackEvent +//} +// +//external interface TextTrackList : EventTarget { +// val length: Number +// var onaddtrack: ((self: TextTrackList, ev: TrackEvent) -> Any)? +// var onchange: ((self: TextTrackList, ev: Event) -> Any)? +// var onremovetrack: ((self: TextTrackList, ev: TrackEvent) -> Any)? +// fun getTrackById(id: String): TextTrack? +// fun addEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: Boolean) +// fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject?) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListenerObject?, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: TextTrackList, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: Boolean) +// fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, callback: EventListenerObject?) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, callback: EventListenerObject?, options: EventListenerOptions) +// @nativeGetter +// operator fun get(index: Number): TextTrack? +// @nativeSetter +// operator fun set(index: Number, value: TextTrack) +//} +// +//external interface TimeRanges { +// val length: Number +// fun end(index: Number): Number +// fun start(index: Number): Number +//} +// +//external interface Touch { +// val altitudeAngle: Number +// val azimuthAngle: Number +// val clientX: Number +// val clientY: Number +// val force: Number +// val identifier: Number +// val pageX: Number +// val pageY: Number +// val radiusX: Number +// val radiusY: Number +// val rotationAngle: Number +// val screenX: Number +// val screenY: Number +// val target: EventTarget +// val touchType: String /* "direct" | "stylus" */ +//} +// +//external interface TouchEvent : UIEvent { +// val altKey: Boolean +// val changedTouches: TouchList +// val ctrlKey: Boolean +// val metaKey: Boolean +// val shiftKey: Boolean +// val targetTouches: TouchList +// val touches: TouchList +//} +// +//external interface TouchList { +// val length: Number +// fun item(index: Number): Touch? +// @nativeGetter +// operator fun get(index: Number): Touch? +// @nativeSetter +// operator fun set(index: Number, value: Touch) +//} +// +//external interface TrackEvent : Event { +// val track: TextTrack? +//} +// +//external interface TransitionEvent : Event { +// val elapsedTime: Number +// val propertyName: String +// val pseudoElement: String +//} +// +//external interface TreeWalker { +// var currentNode: Node +// val filter: NodeFilter? +// val root: Node +// val whatToShow: Number +// fun firstChild(): Node? +// fun lastChild(): Node? +// fun nextNode(): Node? +// fun nextSibling(): Node? +// fun parentNode(): Node? +// fun previousNode(): Node? +// fun previousSibling(): Node? +//} +// +//external interface UIEvent : Event { +// val detail: Number +// val view: Window? +// val which: Number +//} +// +//external interface URLSearchParams { +// fun entries(): IterableIterator */> +// fun keys(): IterableIterator +// fun values(): IterableIterator +// fun append(name: String, value: String) +// fun delete(name: String) +// fun get(name: String): String? +// fun getAll(name: String): Array +// fun has(name: String): Boolean +// fun set(name: String, value: String) +// fun sort() +// override fun toString(): String +// fun forEach(callbackfn: (value: String, key: String, parent: URLSearchParams) -> Unit, thisArg: Any = definedExternally) +//} +// +//external interface VRDisplay : EventTarget { +// fun requestPresent(layers: Iterable): Promise +// val capabilities: VRDisplayCapabilities +// var depthFar: Number +// var depthNear: Number +// val displayId: Number +// val displayName: String +// val isConnected: Boolean +// val isPresenting: Boolean +// val stageParameters: VRStageParameters? +// fun cancelAnimationFrame(handle: Number) +// fun exitPresent(): Promise +// fun getEyeParameters(whichEye: String): VREyeParameters +// fun getFrameData(frameData: VRFrameData): Boolean +// fun getLayers(): Array +// fun getPose(): VRPose +// fun requestAnimationFrame(callback: FrameRequestCallback): Number +// fun requestPresent(layers: Array): Promise +// fun resetPose() +// fun submitFrame(pose: VRPose = definedExternally) +//} +// +//external interface VRDisplayCapabilities { +// val canPresent: Boolean +// val hasExternalDisplay: Boolean +// val hasOrientation: Boolean +// val hasPosition: Boolean +// val maxLayers: Number +//} +// +//external interface VRDisplayEvent : Event { +// val display: VRDisplay +// val reason: String /* "mounted" | "navigation" | "requested" | "unmounted" */ +//} +// +//external interface VREyeParameters { +// val fieldOfView: VRFieldOfView +// val offset: Float32Array +// val renderHeight: Number +// val renderWidth: Number +//} +// +//external interface VRFieldOfView { +// val downDegrees: Number +// val leftDegrees: Number +// val rightDegrees: Number +// val upDegrees: Number +//} +// +//external interface VRFrameData { +// val leftProjectionMatrix: Float32Array +// val leftViewMatrix: Float32Array +// val pose: VRPose +// val rightProjectionMatrix: Float32Array +// val rightViewMatrix: Float32Array +// val timestamp: Number +//} +// +//external interface VRPose { +// val angularAcceleration: Float32Array? +// val angularVelocity: Float32Array? +// val linearAcceleration: Float32Array? +// val linearVelocity: Float32Array? +// val orientation: Float32Array? +// val position: Float32Array? +// val timestamp: Number +//} +// +//external interface ValidityState { +// val badInput: Boolean +// val customError: Boolean +// val patternMismatch: Boolean +// val rangeOverflow: Boolean +// val rangeUnderflow: Boolean +// val stepMismatch: Boolean +// val tooLong: Boolean +// val tooShort: Boolean +// val typeMismatch: Boolean +// val valid: Boolean +// val valueMissing: Boolean +//} +// +//external interface VideoPlaybackQuality { +// val creationTime: Number +// val droppedVideoFrames: Number +// val totalVideoFrames: Number +//} +// +//external interface WEBGL_color_buffer_float { +// val FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT: GLenum +// val RGBA32F_EXT: GLenum +// val UNSIGNED_NORMALIZED_EXT: GLenum +//} +// +//external interface WEBGL_compressed_texture_astc { +// fun getSupportedProfiles(): Array +// val COMPRESSED_RGBA_ASTC_10x10_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_10x5_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_10x6_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_10x8_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_12x10_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_12x12_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_4x4_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_5x4_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_5x5_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_6x5_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_6x6_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_8x5_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_8x6_KHR: GLenum +// val COMPRESSED_RGBA_ASTC_8x8_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: GLenum +// val COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: GLenum +//} +// +//external interface WEBGL_compressed_texture_s3tc { +// val COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum +// val COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum +// val COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum +// val COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum +//} +// +//external interface WEBGL_compressed_texture_s3tc_srgb { +// val COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: GLenum +// val COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: GLenum +// val COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: GLenum +// val COMPRESSED_SRGB_S3TC_DXT1_EXT: GLenum +//} +// +//external interface WEBGL_debug_renderer_info { +// val UNMASKED_RENDERER_WEBGL: GLenum +// val UNMASKED_VENDOR_WEBGL: GLenum +//} +// +//external interface WEBGL_debug_shaders { +// fun getTranslatedShaderSource(shader: WebGLShader): String +//} +// +//external interface WEBGL_depth_texture { +// val UNSIGNED_INT_24_8_WEBGL: GLenum +//} +// +//external interface WEBGL_draw_buffers { +// fun drawBuffersWEBGL(buffers: Iterable) +// fun drawBuffersWEBGL(buffers: Array) +// val COLOR_ATTACHMENT0_WEBGL: GLenum +// val COLOR_ATTACHMENT10_WEBGL: GLenum +// val COLOR_ATTACHMENT11_WEBGL: GLenum +// val COLOR_ATTACHMENT12_WEBGL: GLenum +// val COLOR_ATTACHMENT13_WEBGL: GLenum +// val COLOR_ATTACHMENT14_WEBGL: GLenum +// val COLOR_ATTACHMENT15_WEBGL: GLenum +// val COLOR_ATTACHMENT1_WEBGL: GLenum +// val COLOR_ATTACHMENT2_WEBGL: GLenum +// val COLOR_ATTACHMENT3_WEBGL: GLenum +// val COLOR_ATTACHMENT4_WEBGL: GLenum +// val COLOR_ATTACHMENT5_WEBGL: GLenum +// val COLOR_ATTACHMENT6_WEBGL: GLenum +// val COLOR_ATTACHMENT7_WEBGL: GLenum +// val COLOR_ATTACHMENT8_WEBGL: GLenum +// val COLOR_ATTACHMENT9_WEBGL: GLenum +// val DRAW_BUFFER0_WEBGL: GLenum +// val DRAW_BUFFER10_WEBGL: GLenum +// val DRAW_BUFFER11_WEBGL: GLenum +// val DRAW_BUFFER12_WEBGL: GLenum +// val DRAW_BUFFER13_WEBGL: GLenum +// val DRAW_BUFFER14_WEBGL: GLenum +// val DRAW_BUFFER15_WEBGL: GLenum +// val DRAW_BUFFER1_WEBGL: GLenum +// val DRAW_BUFFER2_WEBGL: GLenum +// val DRAW_BUFFER3_WEBGL: GLenum +// val DRAW_BUFFER4_WEBGL: GLenum +// val DRAW_BUFFER5_WEBGL: GLenum +// val DRAW_BUFFER6_WEBGL: GLenum +// val DRAW_BUFFER7_WEBGL: GLenum +// val DRAW_BUFFER8_WEBGL: GLenum +// val DRAW_BUFFER9_WEBGL: GLenum +// val MAX_COLOR_ATTACHMENTS_WEBGL: GLenum +// val MAX_DRAW_BUFFERS_WEBGL: GLenum +//} +// +//external interface WEBGL_lose_context { +// fun loseContext() +// fun restoreContext() +//} +// +//external interface WaveShaperNode : AudioNode { +// var curve: Float32Array? +// var oversample: String /* "2x" | "4x" | "none" */ +//} +// +//external interface WebGL2RenderingContext : WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase +// +//external interface WebGL2RenderingContextBase { +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset: GLuint = definedExternally) +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset: GLuint = definedExternally) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable, srcOffset: GLuint = definedExternally) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable) +// fun drawBuffers(buffers: Iterable) +// fun getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable, pname: GLenum): Any +// fun getUniformIndices(program: WebGLProgram, uniformNames: Iterable): Iterable? +// fun invalidateFramebuffer(target: GLenum, attachments: Iterable) +// fun invalidateSubFramebuffer(target: GLenum, attachments: Iterable, x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// fun transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable, bufferMode: GLenum) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun vertexAttribI4iv(index: GLuint, values: Iterable) +// fun vertexAttribI4uiv(index: GLuint, values: Iterable) +// fun beginQuery(target: GLenum, query: WebGLQuery) +// fun beginTransformFeedback(primitiveMode: GLenum) +// fun bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer?) +// fun bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer?, offset: GLintptr, size: GLsizeiptr) +// fun bindSampler(unit: GLuint, sampler: WebGLSampler?) +// fun bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback?) +// fun bindVertexArray(array: WebGLVertexArrayObject?) +// fun blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) +// fun clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32Array, srcOffset: GLuint = definedExternally) +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32Array) +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Array, srcOffset: GLuint = definedExternally) +// fun clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Array) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32Array, srcOffset: GLuint = definedExternally) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32Array) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Array, srcOffset: GLuint = definedExternally) +// fun clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Array) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32Array, srcOffset: GLuint = definedExternally) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32Array) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Array, srcOffset: GLuint = definedExternally) +// fun clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Array) +// fun clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum +// fun compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) +// fun compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally, srcLengthOverride: GLuint = definedExternally) +// fun compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView) +// fun compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally) +// fun compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) +// fun compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally, srcLengthOverride: GLuint = definedExternally) +// fun compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView) +// fun compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally) +// fun copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) +// fun copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// fun createQuery(): WebGLQuery? +// fun createSampler(): WebGLSampler? +// fun createTransformFeedback(): WebGLTransformFeedback? +// fun createVertexArray(): WebGLVertexArrayObject? +// fun deleteQuery(query: WebGLQuery?) +// fun deleteSampler(sampler: WebGLSampler?) +// fun deleteSync(sync: WebGLSync?) +// fun deleteTransformFeedback(tf: WebGLTransformFeedback?) +// fun deleteVertexArray(vertexArray: WebGLVertexArrayObject?) +// fun drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) +// fun drawBuffers(buffers: Array) +// fun drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei) +// fun drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr) +// fun endQuery(target: GLenum) +// fun endTransformFeedback() +// fun fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync? +// fun framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture?, level: GLint, layer: GLint) +// fun getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): String? +// fun getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): Any +// fun getActiveUniforms(program: WebGLProgram, uniformIndices: Array, pname: GLenum): Any +// fun getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset: GLuint = definedExternally, length: GLuint = definedExternally) +// fun getFragDataLocation(program: WebGLProgram, name: String): GLint +// fun getIndexedParameter(target: GLenum, index: GLuint): Any +// fun getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): Any +// fun getQuery(target: GLenum, pname: GLenum): WebGLQuery? +// fun getQueryParameter(query: WebGLQuery, pname: GLenum): Any +// fun getSamplerParameter(sampler: WebGLSampler, pname: GLenum): Any +// fun getSyncParameter(sync: WebGLSync, pname: GLenum): Any +// fun getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo? +// fun getUniformBlockIndex(program: WebGLProgram, uniformBlockName: String): GLuint +// fun getUniformIndices(program: WebGLProgram, uniformNames: Array): Array? +// fun invalidateFramebuffer(target: GLenum, attachments: Array) +// fun invalidateSubFramebuffer(target: GLenum, attachments: Array, x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// fun isQuery(query: WebGLQuery?): GLboolean +// fun isSampler(sampler: WebGLSampler?): GLboolean +// fun isSync(sync: WebGLSync?): GLboolean +// fun isTransformFeedback(tf: WebGLTransformFeedback?): GLboolean +// fun isVertexArray(vertexArray: WebGLVertexArrayObject?): GLboolean +// fun pauseTransformFeedback() +// fun readBuffer(src: GLenum) +// fun renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) +// fun resumeTransformFeedback() +// fun samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat) +// fun samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView?) +// fun texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) +// fun texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) +// fun texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: ImageData) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView?, srcOffset: GLuint = definedExternally) +// fun texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView?) +// fun transformFeedbackVaryings(program: WebGLProgram, varyings: Array, bufferMode: GLenum) +// fun uniform1ui(location: WebGLUniformLocation?, v0: GLuint) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Uint32Array) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Array) +// fun uniform1uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform2ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Uint32Array) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Array) +// fun uniform2uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform3ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Uint32Array) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Array) +// fun uniform3uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform4ui(location: WebGLUniformLocation?, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Uint32Array) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Uint32Array, srcOffset: GLuint = definedExternally) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Array) +// fun uniform4uiv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix2x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix2x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix3x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix3x4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix4x2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix4x3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun vertexAttribDivisor(index: GLuint, divisor: GLuint) +// fun vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) +// fun vertexAttribI4iv(index: GLuint, values: Int32Array) +// fun vertexAttribI4iv(index: GLuint, values: Array) +// fun vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) +// fun vertexAttribI4uiv(index: GLuint, values: Uint32Array) +// fun vertexAttribI4uiv(index: GLuint, values: Array) +// fun vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr) +// fun waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64) +// val ACTIVE_UNIFORM_BLOCKS: GLenum +// val ALREADY_SIGNALED: GLenum +// val ANY_SAMPLES_PASSED: GLenum +// val ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum +// val COLOR: GLenum +// val COLOR_ATTACHMENT1: GLenum +// val COLOR_ATTACHMENT10: GLenum +// val COLOR_ATTACHMENT11: GLenum +// val COLOR_ATTACHMENT12: GLenum +// val COLOR_ATTACHMENT13: GLenum +// val COLOR_ATTACHMENT14: GLenum +// val COLOR_ATTACHMENT15: GLenum +// val COLOR_ATTACHMENT2: GLenum +// val COLOR_ATTACHMENT3: GLenum +// val COLOR_ATTACHMENT4: GLenum +// val COLOR_ATTACHMENT5: GLenum +// val COLOR_ATTACHMENT6: GLenum +// val COLOR_ATTACHMENT7: GLenum +// val COLOR_ATTACHMENT8: GLenum +// val COLOR_ATTACHMENT9: GLenum +// val COMPARE_REF_TO_TEXTURE: GLenum +// val CONDITION_SATISFIED: GLenum +// val COPY_READ_BUFFER: GLenum +// val COPY_READ_BUFFER_BINDING: GLenum +// val COPY_WRITE_BUFFER: GLenum +// val COPY_WRITE_BUFFER_BINDING: GLenum +// val CURRENT_QUERY: GLenum +// val DEPTH: GLenum +// val DEPTH24_STENCIL8: GLenum +// val DEPTH32F_STENCIL8: GLenum +// val DEPTH_COMPONENT24: GLenum +// val DEPTH_COMPONENT32F: GLenum +// val DRAW_BUFFER0: GLenum +// val DRAW_BUFFER1: GLenum +// val DRAW_BUFFER10: GLenum +// val DRAW_BUFFER11: GLenum +// val DRAW_BUFFER12: GLenum +// val DRAW_BUFFER13: GLenum +// val DRAW_BUFFER14: GLenum +// val DRAW_BUFFER15: GLenum +// val DRAW_BUFFER2: GLenum +// val DRAW_BUFFER3: GLenum +// val DRAW_BUFFER4: GLenum +// val DRAW_BUFFER5: GLenum +// val DRAW_BUFFER6: GLenum +// val DRAW_BUFFER7: GLenum +// val DRAW_BUFFER8: GLenum +// val DRAW_BUFFER9: GLenum +// val DRAW_FRAMEBUFFER: GLenum +// val DRAW_FRAMEBUFFER_BINDING: GLenum +// val DYNAMIC_COPY: GLenum +// val DYNAMIC_READ: GLenum +// val FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum +// val FLOAT_MAT2x3: GLenum +// val FLOAT_MAT2x4: GLenum +// val FLOAT_MAT3x2: GLenum +// val FLOAT_MAT3x4: GLenum +// val FLOAT_MAT4x2: GLenum +// val FLOAT_MAT4x3: GLenum +// val FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum +// val FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum +// val FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum +// val FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum +// val FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum +// val FRAMEBUFFER_DEFAULT: GLenum +// val FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum +// val HALF_FLOAT: GLenum +// val INTERLEAVED_ATTRIBS: GLenum +// val INT_2_10_10_10_REV: GLenum +// val INT_SAMPLER_2D: GLenum +// val INT_SAMPLER_2D_ARRAY: GLenum +// val INT_SAMPLER_3D: GLenum +// val INT_SAMPLER_CUBE: GLenum +// val INVALID_INDEX: GLenum +// val MAX: GLenum +// val MAX_3D_TEXTURE_SIZE: GLenum +// val MAX_ARRAY_TEXTURE_LAYERS: GLenum +// val MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum +// val MAX_COLOR_ATTACHMENTS: GLenum +// val MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum +// val MAX_COMBINED_UNIFORM_BLOCKS: GLenum +// val MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum +// val MAX_DRAW_BUFFERS: GLenum +// val MAX_ELEMENTS_INDICES: GLenum +// val MAX_ELEMENTS_VERTICES: GLenum +// val MAX_ELEMENT_INDEX: GLenum +// val MAX_FRAGMENT_INPUT_COMPONENTS: GLenum +// val MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum +// val MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum +// val MAX_PROGRAM_TEXEL_OFFSET: GLenum +// val MAX_SAMPLES: GLenum +// val MAX_SERVER_WAIT_TIMEOUT: GLenum +// val MAX_TEXTURE_LOD_BIAS: GLenum +// val MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum +// val MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum +// val MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum +// val MAX_UNIFORM_BLOCK_SIZE: GLenum +// val MAX_UNIFORM_BUFFER_BINDINGS: GLenum +// val MAX_VARYING_COMPONENTS: GLenum +// val MAX_VERTEX_OUTPUT_COMPONENTS: GLenum +// val MAX_VERTEX_UNIFORM_BLOCKS: GLenum +// val MAX_VERTEX_UNIFORM_COMPONENTS: GLenum +// val MIN: GLenum +// val MIN_PROGRAM_TEXEL_OFFSET: GLenum +// val OBJECT_TYPE: GLenum +// val PACK_ROW_LENGTH: GLenum +// val PACK_SKIP_PIXELS: GLenum +// val PACK_SKIP_ROWS: GLenum +// val PIXEL_PACK_BUFFER: GLenum +// val PIXEL_PACK_BUFFER_BINDING: GLenum +// val PIXEL_UNPACK_BUFFER: GLenum +// val PIXEL_UNPACK_BUFFER_BINDING: GLenum +// val QUERY_RESULT: GLenum +// val QUERY_RESULT_AVAILABLE: GLenum +// val R11F_G11F_B10F: GLenum +// val R16F: GLenum +// val R16I: GLenum +// val R16UI: GLenum +// val R32F: GLenum +// val R32I: GLenum +// val R32UI: GLenum +// val R8: GLenum +// val R8I: GLenum +// val R8UI: GLenum +// val R8_SNORM: GLenum +// val RASTERIZER_DISCARD: GLenum +// val READ_BUFFER: GLenum +// val READ_FRAMEBUFFER: GLenum +// val READ_FRAMEBUFFER_BINDING: GLenum +// val RED: GLenum +// val RED_INTEGER: GLenum +// val RENDERBUFFER_SAMPLES: GLenum +// val RG: GLenum +// val RG16F: GLenum +// val RG16I: GLenum +// val RG16UI: GLenum +// val RG32F: GLenum +// val RG32I: GLenum +// val RG32UI: GLenum +// val RG8: GLenum +// val RG8I: GLenum +// val RG8UI: GLenum +// val RG8_SNORM: GLenum +// val RGB10_A2: GLenum +// val RGB10_A2UI: GLenum +// val RGB16F: GLenum +// val RGB16I: GLenum +// val RGB16UI: GLenum +// val RGB32F: GLenum +// val RGB32I: GLenum +// val RGB32UI: GLenum +// val RGB8: GLenum +// val RGB8I: GLenum +// val RGB8UI: GLenum +// val RGB8_SNORM: GLenum +// val RGB9_E5: GLenum +// val RGBA16F: GLenum +// val RGBA16I: GLenum +// val RGBA16UI: GLenum +// val RGBA32F: GLenum +// val RGBA32I: GLenum +// val RGBA32UI: GLenum +// val RGBA8: GLenum +// val RGBA8I: GLenum +// val RGBA8UI: GLenum +// val RGBA8_SNORM: GLenum +// val RGBA_INTEGER: GLenum +// val RGB_INTEGER: GLenum +// val RG_INTEGER: GLenum +// val SAMPLER_2D_ARRAY: GLenum +// val SAMPLER_2D_ARRAY_SHADOW: GLenum +// val SAMPLER_2D_SHADOW: GLenum +// val SAMPLER_3D: GLenum +// val SAMPLER_BINDING: GLenum +// val SAMPLER_CUBE_SHADOW: GLenum +// val SEPARATE_ATTRIBS: GLenum +// val SIGNALED: GLenum +// val SIGNED_NORMALIZED: GLenum +// val SRGB: GLenum +// val SRGB8: GLenum +// val SRGB8_ALPHA8: GLenum +// val STATIC_COPY: GLenum +// val STATIC_READ: GLenum +// val STENCIL: GLenum +// val STREAM_COPY: GLenum +// val STREAM_READ: GLenum +// val SYNC_CONDITION: GLenum +// val SYNC_FENCE: GLenum +// val SYNC_FLAGS: GLenum +// val SYNC_FLUSH_COMMANDS_BIT: GLenum +// val SYNC_GPU_COMMANDS_COMPLETE: GLenum +// val SYNC_STATUS: GLenum +// val TEXTURE_2D_ARRAY: GLenum +// val TEXTURE_3D: GLenum +// val TEXTURE_BASE_LEVEL: GLenum +// val TEXTURE_BINDING_2D_ARRAY: GLenum +// val TEXTURE_BINDING_3D: GLenum +// val TEXTURE_COMPARE_FUNC: GLenum +// val TEXTURE_COMPARE_MODE: GLenum +// val TEXTURE_IMMUTABLE_FORMAT: GLenum +// val TEXTURE_IMMUTABLE_LEVELS: GLenum +// val TEXTURE_MAX_LEVEL: GLenum +// val TEXTURE_MAX_LOD: GLenum +// val TEXTURE_MIN_LOD: GLenum +// val TEXTURE_WRAP_R: GLenum +// val TIMEOUT_EXPIRED: GLenum +// val TIMEOUT_IGNORED: GLint64 +// val TRANSFORM_FEEDBACK: GLenum +// val TRANSFORM_FEEDBACK_ACTIVE: GLenum +// val TRANSFORM_FEEDBACK_BINDING: GLenum +// val TRANSFORM_FEEDBACK_BUFFER: GLenum +// val TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum +// val TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum +// val TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum +// val TRANSFORM_FEEDBACK_BUFFER_START: GLenum +// val TRANSFORM_FEEDBACK_PAUSED: GLenum +// val TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum +// val TRANSFORM_FEEDBACK_VARYINGS: GLenum +// val UNIFORM_ARRAY_STRIDE: GLenum +// val UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum +// val UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum +// val UNIFORM_BLOCK_BINDING: GLenum +// val UNIFORM_BLOCK_DATA_SIZE: GLenum +// val UNIFORM_BLOCK_INDEX: GLenum +// val UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum +// val UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum +// val UNIFORM_BUFFER: GLenum +// val UNIFORM_BUFFER_BINDING: GLenum +// val UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum +// val UNIFORM_BUFFER_SIZE: GLenum +// val UNIFORM_BUFFER_START: GLenum +// val UNIFORM_IS_ROW_MAJOR: GLenum +// val UNIFORM_MATRIX_STRIDE: GLenum +// val UNIFORM_OFFSET: GLenum +// val UNIFORM_SIZE: GLenum +// val UNIFORM_TYPE: GLenum +// val UNPACK_IMAGE_HEIGHT: GLenum +// val UNPACK_ROW_LENGTH: GLenum +// val UNPACK_SKIP_IMAGES: GLenum +// val UNPACK_SKIP_PIXELS: GLenum +// val UNPACK_SKIP_ROWS: GLenum +// val UNSIGNALED: GLenum +// val UNSIGNED_INT_10F_11F_11F_REV: GLenum +// val UNSIGNED_INT_24_8: GLenum +// val UNSIGNED_INT_2_10_10_10_REV: GLenum +// val UNSIGNED_INT_5_9_9_9_REV: GLenum +// val UNSIGNED_INT_SAMPLER_2D: GLenum +// val UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum +// val UNSIGNED_INT_SAMPLER_3D: GLenum +// val UNSIGNED_INT_SAMPLER_CUBE: GLenum +// val UNSIGNED_INT_VEC2: GLenum +// val UNSIGNED_INT_VEC3: GLenum +// val UNSIGNED_INT_VEC4: GLenum +// val UNSIGNED_NORMALIZED: GLenum +// val VERTEX_ARRAY_BINDING: GLenum +// val VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum +// val VERTEX_ATTRIB_ARRAY_INTEGER: GLenum +// val WAIT_FAILED: GLenum +//} +// +//external interface WebGL2RenderingContextOverloads { +// fun uniform1fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1fv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform1fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform1iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform2fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform2iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform3fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform3iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform4fv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Iterable) +// fun uniform4iv(location: WebGLUniformLocation?, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Iterable, srcOffset: GLuint = definedExternally) +// fun bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) +// fun bufferData(target: GLenum, srcData: ArrayBufferView?, usage: GLenum) +// fun bufferData(target: GLenum, srcData: ArrayBuffer?, usage: GLenum) +// fun bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length: GLuint = definedExternally) +// fun bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint) +// fun bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView) +// fun bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBuffer) +// fun bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length: GLuint = definedExternally) +// fun bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint) +// fun compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr) +// fun compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally, srcLengthOverride: GLuint = definedExternally) +// fun compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView) +// fun compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally) +// fun compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr) +// fun compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally, srcLengthOverride: GLuint = definedExternally) +// fun compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView) +// fun compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset: GLuint = definedExternally) +// fun readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView?) +// fun readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr) +// fun readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView?) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: ImageData) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint) +// fun uniform1fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1fv(location: WebGLUniformLocation?, data: Float32Array) +// fun uniform1fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniform1fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1fv(location: WebGLUniformLocation?, data: Array) +// fun uniform1fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Int32Array) +// fun uniform1iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform1iv(location: WebGLUniformLocation?, data: Array) +// fun uniform1iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Float32Array) +// fun uniform2fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2fv(location: WebGLUniformLocation?, data: Array) +// fun uniform2fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Int32Array) +// fun uniform2iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform2iv(location: WebGLUniformLocation?, data: Array) +// fun uniform2iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Float32Array) +// fun uniform3fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3fv(location: WebGLUniformLocation?, data: Array) +// fun uniform3fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Int32Array) +// fun uniform3iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform3iv(location: WebGLUniformLocation?, data: Array) +// fun uniform3iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Float32Array) +// fun uniform4fv(location: WebGLUniformLocation?, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4fv(location: WebGLUniformLocation?, data: Array) +// fun uniform4fv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Int32Array) +// fun uniform4iv(location: WebGLUniformLocation?, data: Int32Array, srcOffset: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniform4iv(location: WebGLUniformLocation?, data: Array) +// fun uniform4iv(location: WebGLUniformLocation?, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Float32Array, srcOffset: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally, srcLength: GLuint = definedExternally) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, data: Array, srcOffset: GLuint = definedExternally) +//} +// +//external interface WebGLActiveInfo { +// val name: String +// val size: GLint +// val type: GLenum +//} +// +//external interface WebGLBuffer : WebGLObject +// +//external interface WebGLContextEvent : Event { +// val statusMessage: String +//} +// +//external interface WebGLFramebuffer : WebGLObject +// +//external interface WebGLObject +// +//external interface WebGLProgram : WebGLObject +// +//external interface WebGLQuery : WebGLObject +// +//external interface WebGLRenderbuffer : WebGLObject +// +//external interface WebGLRenderingContext : WebGLRenderingContextBase, WebGLRenderingContextOverloads +// +//external interface WebGLRenderingContextBase { +// fun getExtension(extensionName: String /* "OCULUS_multiview" | "EXT_blend_minmax" | "EXT_texture_filter_anisotropic" | "EXT_frag_depth" | "EXT_shader_texture_lod" | "EXT_sRGB" | "OES_vertex_array_object" | "WEBGL_color_buffer_float" | "WEBGL_compressed_texture_astc" | "WEBGL_compressed_texture_s3tc_srgb" | "WEBGL_debug_shaders" | "WEBGL_draw_buffers" | "WEBGL_lose_context" | "WEBGL_depth_texture" | "WEBGL_debug_renderer_info" | "WEBGL_compressed_texture_s3tc" | "OES_texture_half_float_linear" | "OES_texture_half_float" | "OES_texture_float_linear" | "OES_texture_float" | "OES_standard_derivatives" | "OES_element_index_uint" | "ANGLE_instanced_arrays" */): dynamic /* Any */ +// fun makeXRCompatible(): Promise +// fun vertexAttrib1fv(index: GLuint, values: Iterable) +// fun vertexAttrib2fv(index: GLuint, values: Iterable) +// fun vertexAttrib3fv(index: GLuint, values: Iterable) +// fun vertexAttrib4fv(index: GLuint, values: Iterable) +// val canvas: dynamic /* HTMLCanvasElement | OffscreenCanvas */ +// get() = definedExternally +// val drawingBufferHeight: GLsizei +// val drawingBufferWidth: GLsizei +// fun activeTexture(texture: GLenum) +// fun attachShader(program: WebGLProgram, shader: WebGLShader) +// fun bindAttribLocation(program: WebGLProgram, index: GLuint, name: String) +// fun bindBuffer(target: GLenum, buffer: WebGLBuffer?) +// fun bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer?) +// fun bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer?) +// fun bindTexture(target: GLenum, texture: WebGLTexture?) +// fun blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) +// fun blendEquation(mode: GLenum) +// fun blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum) +// fun blendFunc(sfactor: GLenum, dfactor: GLenum) +// fun blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) +// fun checkFramebufferStatus(target: GLenum): GLenum +// fun clear(mask: GLbitfield) +// fun clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) +// fun clearDepth(depth: GLclampf) +// fun clearStencil(s: GLint) +// fun colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) +// fun compileShader(shader: WebGLShader) +// fun copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) +// fun copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// fun createBuffer(): WebGLBuffer? +// fun createFramebuffer(): WebGLFramebuffer? +// fun createProgram(): WebGLProgram? +// fun createRenderbuffer(): WebGLRenderbuffer? +// fun createShader(type: GLenum): WebGLShader? +// fun createTexture(): WebGLTexture? +// fun cullFace(mode: GLenum) +// fun deleteBuffer(buffer: WebGLBuffer?) +// fun deleteFramebuffer(framebuffer: WebGLFramebuffer?) +// fun deleteProgram(program: WebGLProgram?) +// fun deleteRenderbuffer(renderbuffer: WebGLRenderbuffer?) +// fun deleteShader(shader: WebGLShader?) +// fun deleteTexture(texture: WebGLTexture?) +// fun depthFunc(func: GLenum) +// fun depthMask(flag: GLboolean) +// fun depthRange(zNear: GLclampf, zFar: GLclampf) +// fun detachShader(program: WebGLProgram, shader: WebGLShader) +// fun disable(cap: GLenum) +// fun disableVertexAttribArray(index: GLuint) +// fun drawArrays(mode: GLenum, first: GLint, count: GLsizei) +// fun drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) +// fun enable(cap: GLenum) +// fun enableVertexAttribArray(index: GLuint) +// fun finish() +// fun flush() +// fun framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer?) +// fun framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture?, level: GLint) +// fun frontFace(mode: GLenum) +// fun generateMipmap(target: GLenum) +// fun getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo? +// fun getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo? +// fun getAttachedShaders(program: WebGLProgram): Array? +// fun getAttribLocation(program: WebGLProgram, name: String): GLint +// fun getBufferParameter(target: GLenum, pname: GLenum): Any +// fun getContextAttributes(): WebGLContextAttributes? +// fun getError(): GLenum +// fun getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): Any +// fun getParameter(pname: GLenum): Any +// fun getProgramInfoLog(program: WebGLProgram): String? +// fun getProgramParameter(program: WebGLProgram, pname: GLenum): Any +// fun getRenderbufferParameter(target: GLenum, pname: GLenum): Any +// fun getShaderInfoLog(shader: WebGLShader): String? +// fun getShaderParameter(shader: WebGLShader, pname: GLenum): Any +// fun getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat? +// fun getShaderSource(shader: WebGLShader): String? +// fun getSupportedExtensions(): Array? +// fun getTexParameter(target: GLenum, pname: GLenum): Any +// fun getUniform(program: WebGLProgram, location: WebGLUniformLocation): Any +// fun getUniformLocation(program: WebGLProgram, name: String): WebGLUniformLocation? +// fun getVertexAttrib(index: GLuint, pname: GLenum): Any +// fun getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr +// fun hint(target: GLenum, mode: GLenum) +// fun isBuffer(buffer: WebGLBuffer?): GLboolean +// fun isContextLost(): Boolean +// fun isEnabled(cap: GLenum): GLboolean +// fun isFramebuffer(framebuffer: WebGLFramebuffer?): GLboolean +// fun isProgram(program: WebGLProgram?): GLboolean +// fun isRenderbuffer(renderbuffer: WebGLRenderbuffer?): GLboolean +// fun isShader(shader: WebGLShader?): GLboolean +// fun isTexture(texture: WebGLTexture?): GLboolean +// fun lineWidth(width: GLfloat) +// fun linkProgram(program: WebGLProgram) +// fun pixelStorei(pname: GLenum, param: GLint) +// fun pixelStorei(pname: GLenum, param: GLboolean) +// fun polygonOffset(factor: GLfloat, units: GLfloat) +// fun renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) +// fun sampleCoverage(value: GLclampf, invert: GLboolean) +// fun scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// fun shaderSource(shader: WebGLShader, source: String) +// fun stencilFunc(func: GLenum, ref: GLint, mask: GLuint) +// fun stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint) +// fun stencilMask(mask: GLuint) +// fun stencilMaskSeparate(face: GLenum, mask: GLuint) +// fun stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum) +// fun stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) +// fun texParameterf(target: GLenum, pname: GLenum, param: GLfloat) +// fun texParameteri(target: GLenum, pname: GLenum, param: GLint) +// fun uniform1f(location: WebGLUniformLocation?, x: GLfloat) +// fun uniform1i(location: WebGLUniformLocation?, x: GLint) +// fun uniform2f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat) +// fun uniform2i(location: WebGLUniformLocation?, x: GLint, y: GLint) +// fun uniform3f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat) +// fun uniform3i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint) +// fun uniform4f(location: WebGLUniformLocation?, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) +// fun uniform4i(location: WebGLUniformLocation?, x: GLint, y: GLint, z: GLint, w: GLint) +// fun useProgram(program: WebGLProgram?) +// fun validateProgram(program: WebGLProgram) +// fun vertexAttrib1f(index: GLuint, x: GLfloat) +// fun vertexAttrib1fv(index: GLuint, values: Float32Array) +// fun vertexAttrib1fv(index: GLuint, values: Array) +// fun vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat) +// fun vertexAttrib2fv(index: GLuint, values: Float32Array) +// fun vertexAttrib2fv(index: GLuint, values: Array) +// fun vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) +// fun vertexAttrib3fv(index: GLuint, values: Float32Array) +// fun vertexAttrib3fv(index: GLuint, values: Array) +// fun vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) +// fun vertexAttrib4fv(index: GLuint, values: Float32Array) +// fun vertexAttrib4fv(index: GLuint, values: Array) +// fun vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr) +// fun viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) +// val ACTIVE_ATTRIBUTES: GLenum +// val ACTIVE_TEXTURE: GLenum +// val ACTIVE_UNIFORMS: GLenum +// val ALIASED_LINE_WIDTH_RANGE: GLenum +// val ALIASED_POINT_SIZE_RANGE: GLenum +// val ALPHA: GLenum +// val ALPHA_BITS: GLenum +// val ALWAYS: GLenum +// val ARRAY_BUFFER: GLenum +// val ARRAY_BUFFER_BINDING: GLenum +// val ATTACHED_SHADERS: GLenum +// val BACK: GLenum +// val BLEND: GLenum +// val BLEND_COLOR: GLenum +// val BLEND_DST_ALPHA: GLenum +// val BLEND_DST_RGB: GLenum +// val BLEND_EQUATION: GLenum +// val BLEND_EQUATION_ALPHA: GLenum +// val BLEND_EQUATION_RGB: GLenum +// val BLEND_SRC_ALPHA: GLenum +// val BLEND_SRC_RGB: GLenum +// val BLUE_BITS: GLenum +// val BOOL: GLenum +// val BOOL_VEC2: GLenum +// val BOOL_VEC3: GLenum +// val BOOL_VEC4: GLenum +// val BROWSER_DEFAULT_WEBGL: GLenum +// val BUFFER_SIZE: GLenum +// val BUFFER_USAGE: GLenum +// val BYTE: GLenum +// val CCW: GLenum +// val CLAMP_TO_EDGE: GLenum +// val COLOR_ATTACHMENT0: GLenum +// val COLOR_BUFFER_BIT: GLenum +// val COLOR_CLEAR_VALUE: GLenum +// val COLOR_WRITEMASK: GLenum +// val COMPILE_STATUS: GLenum +// val COMPRESSED_TEXTURE_FORMATS: GLenum +// val CONSTANT_ALPHA: GLenum +// val CONSTANT_COLOR: GLenum +// val CONTEXT_LOST_WEBGL: GLenum +// val CULL_FACE: GLenum +// val CULL_FACE_MODE: GLenum +// val CURRENT_PROGRAM: GLenum +// val CURRENT_VERTEX_ATTRIB: GLenum +// val CW: GLenum +// val DECR: GLenum +// val DECR_WRAP: GLenum +// val DELETE_STATUS: GLenum +// val DEPTH_ATTACHMENT: GLenum +// val DEPTH_BITS: GLenum +// val DEPTH_BUFFER_BIT: GLenum +// val DEPTH_CLEAR_VALUE: GLenum +// val DEPTH_COMPONENT: GLenum +// val DEPTH_COMPONENT16: GLenum +// val DEPTH_FUNC: GLenum +// val DEPTH_RANGE: GLenum +// val DEPTH_STENCIL: GLenum +// val DEPTH_STENCIL_ATTACHMENT: GLenum +// val DEPTH_TEST: GLenum +// val DEPTH_WRITEMASK: GLenum +// val DITHER: GLenum +// val DONT_CARE: GLenum +// val DST_ALPHA: GLenum +// val DST_COLOR: GLenum +// val DYNAMIC_DRAW: GLenum +// val ELEMENT_ARRAY_BUFFER: GLenum +// val ELEMENT_ARRAY_BUFFER_BINDING: GLenum +// val EQUAL: GLenum +// val FASTEST: GLenum +// val FLOAT: GLenum +// val FLOAT_MAT2: GLenum +// val FLOAT_MAT3: GLenum +// val FLOAT_MAT4: GLenum +// val FLOAT_VEC2: GLenum +// val FLOAT_VEC3: GLenum +// val FLOAT_VEC4: GLenum +// val FRAGMENT_SHADER: GLenum +// val FRAMEBUFFER: GLenum +// val FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum +// val FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum +// val FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum +// val FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum +// val FRAMEBUFFER_BINDING: GLenum +// val FRAMEBUFFER_COMPLETE: GLenum +// val FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum +// val FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum +// val FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum +// val FRAMEBUFFER_UNSUPPORTED: GLenum +// val FRONT: GLenum +// val FRONT_AND_BACK: GLenum +// val FRONT_FACE: GLenum +// val FUNC_ADD: GLenum +// val FUNC_REVERSE_SUBTRACT: GLenum +// val FUNC_SUBTRACT: GLenum +// val GENERATE_MIPMAP_HINT: GLenum +// val GEQUAL: GLenum +// val GREATER: GLenum +// val GREEN_BITS: GLenum +// val HIGH_FLOAT: GLenum +// val HIGH_INT: GLenum +// val IMPLEMENTATION_COLOR_READ_FORMAT: GLenum +// val IMPLEMENTATION_COLOR_READ_TYPE: GLenum +// val INCR: GLenum +// val INCR_WRAP: GLenum +// val INT: GLenum +// val INT_VEC2: GLenum +// val INT_VEC3: GLenum +// val INT_VEC4: GLenum +// val INVALID_ENUM: GLenum +// val INVALID_FRAMEBUFFER_OPERATION: GLenum +// val INVALID_OPERATION: GLenum +// val INVALID_VALUE: GLenum +// val INVERT: GLenum +// val KEEP: GLenum +// val LEQUAL: GLenum +// val LESS: GLenum +// val LINEAR: GLenum +// val LINEAR_MIPMAP_LINEAR: GLenum +// val LINEAR_MIPMAP_NEAREST: GLenum +// val LINES: GLenum +// val LINE_LOOP: GLenum +// val LINE_STRIP: GLenum +// val LINE_WIDTH: GLenum +// val LINK_STATUS: GLenum +// val LOW_FLOAT: GLenum +// val LOW_INT: GLenum +// val LUMINANCE: GLenum +// val LUMINANCE_ALPHA: GLenum +// val MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum +// val MAX_CUBE_MAP_TEXTURE_SIZE: GLenum +// val MAX_FRAGMENT_UNIFORM_VECTORS: GLenum +// val MAX_RENDERBUFFER_SIZE: GLenum +// val MAX_TEXTURE_IMAGE_UNITS: GLenum +// val MAX_TEXTURE_SIZE: GLenum +// val MAX_VARYING_VECTORS: GLenum +// val MAX_VERTEX_ATTRIBS: GLenum +// val MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum +// val MAX_VERTEX_UNIFORM_VECTORS: GLenum +// val MAX_VIEWPORT_DIMS: GLenum +// val MEDIUM_FLOAT: GLenum +// val MEDIUM_INT: GLenum +// val MIRRORED_REPEAT: GLenum +// val NEAREST: GLenum +// val NEAREST_MIPMAP_LINEAR: GLenum +// val NEAREST_MIPMAP_NEAREST: GLenum +// val NEVER: GLenum +// val NICEST: GLenum +// val NONE: GLenum +// val NOTEQUAL: GLenum +// val NO_ERROR: GLenum +// val ONE: GLenum +// val ONE_MINUS_CONSTANT_ALPHA: GLenum +// val ONE_MINUS_CONSTANT_COLOR: GLenum +// val ONE_MINUS_DST_ALPHA: GLenum +// val ONE_MINUS_DST_COLOR: GLenum +// val ONE_MINUS_SRC_ALPHA: GLenum +// val ONE_MINUS_SRC_COLOR: GLenum +// val OUT_OF_MEMORY: GLenum +// val PACK_ALIGNMENT: GLenum +// val POINTS: GLenum +// val POLYGON_OFFSET_FACTOR: GLenum +// val POLYGON_OFFSET_FILL: GLenum +// val POLYGON_OFFSET_UNITS: GLenum +// val RED_BITS: GLenum +// val RENDERBUFFER: GLenum +// val RENDERBUFFER_ALPHA_SIZE: GLenum +// val RENDERBUFFER_BINDING: GLenum +// val RENDERBUFFER_BLUE_SIZE: GLenum +// val RENDERBUFFER_DEPTH_SIZE: GLenum +// val RENDERBUFFER_GREEN_SIZE: GLenum +// val RENDERBUFFER_HEIGHT: GLenum +// val RENDERBUFFER_INTERNAL_FORMAT: GLenum +// val RENDERBUFFER_RED_SIZE: GLenum +// val RENDERBUFFER_STENCIL_SIZE: GLenum +// val RENDERBUFFER_WIDTH: GLenum +// val RENDERER: GLenum +// val REPEAT: GLenum +// val REPLACE: GLenum +// val RGB: GLenum +// val RGB565: GLenum +// val RGB5_A1: GLenum +// val RGBA: GLenum +// val RGBA4: GLenum +// val SAMPLER_2D: GLenum +// val SAMPLER_CUBE: GLenum +// val SAMPLES: GLenum +// val SAMPLE_ALPHA_TO_COVERAGE: GLenum +// val SAMPLE_BUFFERS: GLenum +// val SAMPLE_COVERAGE: GLenum +// val SAMPLE_COVERAGE_INVERT: GLenum +// val SAMPLE_COVERAGE_VALUE: GLenum +// val SCISSOR_BOX: GLenum +// val SCISSOR_TEST: GLenum +// val SHADER_TYPE: GLenum +// val SHADING_LANGUAGE_VERSION: GLenum +// val SHORT: GLenum +// val SRC_ALPHA: GLenum +// val SRC_ALPHA_SATURATE: GLenum +// val SRC_COLOR: GLenum +// val STATIC_DRAW: GLenum +// val STENCIL_ATTACHMENT: GLenum +// val STENCIL_BACK_FAIL: GLenum +// val STENCIL_BACK_FUNC: GLenum +// val STENCIL_BACK_PASS_DEPTH_FAIL: GLenum +// val STENCIL_BACK_PASS_DEPTH_PASS: GLenum +// val STENCIL_BACK_REF: GLenum +// val STENCIL_BACK_VALUE_MASK: GLenum +// val STENCIL_BACK_WRITEMASK: GLenum +// val STENCIL_BITS: GLenum +// val STENCIL_BUFFER_BIT: GLenum +// val STENCIL_CLEAR_VALUE: GLenum +// val STENCIL_FAIL: GLenum +// val STENCIL_FUNC: GLenum +// val STENCIL_INDEX8: GLenum +// val STENCIL_PASS_DEPTH_FAIL: GLenum +// val STENCIL_PASS_DEPTH_PASS: GLenum +// val STENCIL_REF: GLenum +// val STENCIL_TEST: GLenum +// val STENCIL_VALUE_MASK: GLenum +// val STENCIL_WRITEMASK: GLenum +// val STREAM_DRAW: GLenum +// val SUBPIXEL_BITS: GLenum +// val TEXTURE: GLenum +// val TEXTURE0: GLenum +// val TEXTURE1: GLenum +// val TEXTURE10: GLenum +// val TEXTURE11: GLenum +// val TEXTURE12: GLenum +// val TEXTURE13: GLenum +// val TEXTURE14: GLenum +// val TEXTURE15: GLenum +// val TEXTURE16: GLenum +// val TEXTURE17: GLenum +// val TEXTURE18: GLenum +// val TEXTURE19: GLenum +// val TEXTURE2: GLenum +// val TEXTURE20: GLenum +// val TEXTURE21: GLenum +// val TEXTURE22: GLenum +// val TEXTURE23: GLenum +// val TEXTURE24: GLenum +// val TEXTURE25: GLenum +// val TEXTURE26: GLenum +// val TEXTURE27: GLenum +// val TEXTURE28: GLenum +// val TEXTURE29: GLenum +// val TEXTURE3: GLenum +// val TEXTURE30: GLenum +// val TEXTURE31: GLenum +// val TEXTURE4: GLenum +// val TEXTURE5: GLenum +// val TEXTURE6: GLenum +// val TEXTURE7: GLenum +// val TEXTURE8: GLenum +// val TEXTURE9: GLenum +// val TEXTURE_2D: GLenum +// val TEXTURE_BINDING_2D: GLenum +// val TEXTURE_BINDING_CUBE_MAP: GLenum +// val TEXTURE_CUBE_MAP: GLenum +// val TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum +// val TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum +// val TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum +// val TEXTURE_CUBE_MAP_POSITIVE_X: GLenum +// val TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum +// val TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum +// val TEXTURE_MAG_FILTER: GLenum +// val TEXTURE_MIN_FILTER: GLenum +// val TEXTURE_WRAP_S: GLenum +// val TEXTURE_WRAP_T: GLenum +// val TRIANGLES: GLenum +// val TRIANGLE_FAN: GLenum +// val TRIANGLE_STRIP: GLenum +// val UNPACK_ALIGNMENT: GLenum +// val UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum +// val UNPACK_FLIP_Y_WEBGL: GLenum +// val UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum +// val UNSIGNED_BYTE: GLenum +// val UNSIGNED_INT: GLenum +// val UNSIGNED_SHORT: GLenum +// val UNSIGNED_SHORT_4_4_4_4: GLenum +// val UNSIGNED_SHORT_5_5_5_1: GLenum +// val UNSIGNED_SHORT_5_6_5: GLenum +// val VALIDATE_STATUS: GLenum +// val VENDOR: GLenum +// val VERSION: GLenum +// val VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum +// val VERTEX_ATTRIB_ARRAY_ENABLED: GLenum +// val VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum +// val VERTEX_ATTRIB_ARRAY_POINTER: GLenum +// val VERTEX_ATTRIB_ARRAY_SIZE: GLenum +// val VERTEX_ATTRIB_ARRAY_STRIDE: GLenum +// val VERTEX_ATTRIB_ARRAY_TYPE: GLenum +// val VERTEX_SHADER: GLenum +// val VIEWPORT: GLenum +// val ZERO: GLenum +//} +// +//external interface WebGLRenderingContextOverloads { +// fun uniform1fv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform1iv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform2fv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform2iv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform3fv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform3iv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform4fv(location: WebGLUniformLocation?, v: Iterable) +// fun uniform4iv(location: WebGLUniformLocation?, v: Iterable) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Iterable) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Iterable) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Iterable) +// fun bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum) +// fun bufferData(target: GLenum, data: ArrayBufferView?, usage: GLenum) +// fun bufferData(target: GLenum, data: ArrayBuffer?, usage: GLenum) +// fun bufferSubData(target: GLenum, offset: GLintptr, data: ArrayBufferView) +// fun bufferSubData(target: GLenum, offset: GLintptr, data: ArrayBuffer) +// fun compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView) +// fun compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView) +// fun readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView?) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView?) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageBitmap) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: ImageData) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLImageElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLCanvasElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: HTMLVideoElement) +// fun texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: OffscreenCanvas) +// fun uniform1fv(location: WebGLUniformLocation?, v: Float32Array) +// fun uniform1fv(location: WebGLUniformLocation?, v: Array) +// fun uniform1iv(location: WebGLUniformLocation?, v: Int32Array) +// fun uniform1iv(location: WebGLUniformLocation?, v: Array) +// fun uniform2fv(location: WebGLUniformLocation?, v: Float32Array) +// fun uniform2fv(location: WebGLUniformLocation?, v: Array) +// fun uniform2iv(location: WebGLUniformLocation?, v: Int32Array) +// fun uniform2iv(location: WebGLUniformLocation?, v: Array) +// fun uniform3fv(location: WebGLUniformLocation?, v: Float32Array) +// fun uniform3fv(location: WebGLUniformLocation?, v: Array) +// fun uniform3iv(location: WebGLUniformLocation?, v: Int32Array) +// fun uniform3iv(location: WebGLUniformLocation?, v: Array) +// fun uniform4fv(location: WebGLUniformLocation?, v: Float32Array) +// fun uniform4fv(location: WebGLUniformLocation?, v: Array) +// fun uniform4iv(location: WebGLUniformLocation?, v: Int32Array) +// fun uniform4iv(location: WebGLUniformLocation?, v: Array) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32Array) +// fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Array) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32Array) +// fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Array) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Float32Array) +// fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: GLboolean, value: Array) +//} +// +//external interface WebGLSampler : WebGLObject +// +//external interface WebGLShader : WebGLObject +// +//external interface WebGLShaderPrecisionFormat { +// val precision: GLint +// val rangeMax: GLint +// val rangeMin: GLint +//} +// +//external interface WebGLSync : WebGLObject +// +//external interface WebGLTexture : WebGLObject +// +//external interface WebGLTransformFeedback : WebGLObject +// +//external interface WebGLUniformLocation +// +//external interface WebGLVertexArrayObject : WebGLObject +// +//external interface WebGLVertexArrayObjectOES : WebGLObject +// +//external interface WebKitPoint { +// var x: Number +// var y: Number +//} +// +//external interface WheelEvent : MouseEvent { +// val deltaMode: Number +// val deltaX: Number +// val deltaY: Number +// val deltaZ: Number +// val DOM_DELTA_LINE: Number +// val DOM_DELTA_PAGE: Number +// val DOM_DELTA_PIXEL: Number +//} +// +//external interface WindowEventMap : GlobalEventHandlersEventMap, WindowEventHandlersEventMap { +// override var abort: UIEvent +// override var afterprint: Event +// override var beforeprint: Event +// override var beforeunload: BeforeUnloadEvent +// override var blur: FocusEvent +// override var canplay: Event +// override var canplaythrough: Event +// override var change: Event +// override var click: MouseEvent +// var compassneedscalibration: Event +// override var contextmenu: MouseEvent +// override var dblclick: MouseEvent +// var devicelight: DeviceLightEvent +// var devicemotion: DeviceMotionEvent +// var deviceorientation: DeviceOrientationEvent +// var deviceorientationabsolute: DeviceOrientationEvent +// override var drag: DragEvent +// override var dragend: DragEvent +// override var dragenter: DragEvent +// override var dragleave: DragEvent +// override var dragover: DragEvent +// override var dragstart: DragEvent +// override var drop: DragEvent +// override var durationchange: Event +// override var emptied: Event +// override var ended: Event +// override var error: ErrorEvent +// override var focus: FocusEvent +// override var hashchange: HashChangeEvent +// override var input: Event +// override var invalid: Event +// override var keydown: KeyboardEvent +// override var keypress: KeyboardEvent +// override var keyup: KeyboardEvent +// override var load: Event +// override var loadeddata: Event +// override var loadedmetadata: Event +// override var loadstart: Event +// override var message: MessageEvent +// override var mousedown: MouseEvent +// override var mouseenter: MouseEvent +// override var mouseleave: MouseEvent +// override var mousemove: MouseEvent +// override var mouseout: MouseEvent +// override var mouseover: MouseEvent +// override var mouseup: MouseEvent +// var mousewheel: Event +// var MSGestureChange: Event +// var MSGestureDoubleTap: Event +// var MSGestureEnd: Event +// var MSGestureHold: Event +// var MSGestureStart: Event +// var MSGestureTap: Event +// var MSInertiaStart: Event +// var MSPointerCancel: Event +// var MSPointerDown: Event +// var MSPointerEnter: Event +// var MSPointerLeave: Event +// var MSPointerMove: Event +// var MSPointerOut: Event +// var MSPointerOver: Event +// var MSPointerUp: Event +// override var offline: Event +// override var online: Event +// var orientationchange: Event +// override var pagehide: PageTransitionEvent +// override var pageshow: PageTransitionEvent +// override var pause: Event +// override var play: Event +// override var playing: Event +// override var popstate: PopStateEvent +// override var ratechange: Event +// var readystatechange: ProgressEvent +// override var reset: Event +// override var resize: UIEvent +// override var scroll: Event +// override var seeked: Event +// override var seeking: Event +// override var select: Event +// override var stalled: Event +// override var storage: StorageEvent +// override var submit: Event +// override var suspend: Event +// override var timeupdate: Event +// override var unload: Event +// override var volumechange: Event +// var vrdisplayactivate: Event +// var vrdisplayblur: Event +// var vrdisplayconnect: Event +// var vrdisplaydeactivate: Event +// var vrdisplaydisconnect: Event +// var vrdisplayfocus: Event +// var vrdisplaypointerrestricted: Event +// var vrdisplaypointerunrestricted: Event +// var vrdisplaypresentchange: Event +// override var waiting: Event +//} +// +//external interface Window : EventTarget, AnimationFrameProvider, GlobalEventHandlers, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage { +// val applicationCache: ApplicationCache +// val clientInformation: Navigator +// val closed: Boolean +// var customElements: CustomElementRegistry +// var defaultStatus: String +// val devicePixelRatio: Number +// val doNotTrack: String +// val document: Document +// val event: Event? +// val external: External +// val frameElement: Element +// val frames: Window +// val history: History +// val innerHeight: Number +// val innerWidth: Number +// val length: Number +// var location: Location +// val locationbar: BarProp +// val menubar: BarProp +// val msContentScript: ExtensionScriptApis +// var name: String +// val navigator: Navigator +// var offscreenBuffering: dynamic /* String | Boolean */ +// get() = definedExternally +// set(value) = definedExternally +// var oncompassneedscalibration: ((self: Window, ev: Event) -> Any)? +// var ondevicelight: ((self: Window, ev: DeviceLightEvent) -> Any)? +// var ondevicemotion: ((self: Window, ev: DeviceMotionEvent) -> Any)? +// var ondeviceorientation: ((self: Window, ev: DeviceOrientationEvent) -> Any)? +// var ondeviceorientationabsolute: ((self: Window, ev: DeviceOrientationEvent) -> Any)? +// var onmousewheel: ((self: Window, ev: Event) -> Any)? +// var onmsgesturechange: ((self: Window, ev: Event) -> Any)? +// var onmsgesturedoubletap: ((self: Window, ev: Event) -> Any)? +// var onmsgestureend: ((self: Window, ev: Event) -> Any)? +// var onmsgesturehold: ((self: Window, ev: Event) -> Any)? +// var onmsgesturestart: ((self: Window, ev: Event) -> Any)? +// var onmsgesturetap: ((self: Window, ev: Event) -> Any)? +// var onmsinertiastart: ((self: Window, ev: Event) -> Any)? +// var onmspointercancel: ((self: Window, ev: Event) -> Any)? +// var onmspointerdown: ((self: Window, ev: Event) -> Any)? +// var onmspointerenter: ((self: Window, ev: Event) -> Any)? +// var onmspointerleave: ((self: Window, ev: Event) -> Any)? +// var onmspointermove: ((self: Window, ev: Event) -> Any)? +// var onmspointerout: ((self: Window, ev: Event) -> Any)? +// var onmspointerover: ((self: Window, ev: Event) -> Any)? +// var onmspointerup: ((self: Window, ev: Event) -> Any)? +// var onorientationchange: ((self: Window, ev: Event) -> Any)? +// var onreadystatechange: ((self: Window, ev: ProgressEvent) -> Any)? +// var onvrdisplayactivate: ((self: Window, ev: Event) -> Any)? +// var onvrdisplayblur: ((self: Window, ev: Event) -> Any)? +// var onvrdisplayconnect: ((self: Window, ev: Event) -> Any)? +// var onvrdisplaydeactivate: ((self: Window, ev: Event) -> Any)? +// var onvrdisplaydisconnect: ((self: Window, ev: Event) -> Any)? +// var onvrdisplayfocus: ((self: Window, ev: Event) -> Any)? +// var onvrdisplaypointerrestricted: ((self: Window, ev: Event) -> Any)? +// var onvrdisplaypointerunrestricted: ((self: Window, ev: Event) -> Any)? +// var onvrdisplaypresentchange: ((self: Window, ev: Event) -> Any)? +// var opener: Any +// val orientation: dynamic /* String | Number */ +// get() = definedExternally +// val outerHeight: Number +// val outerWidth: Number +// val pageXOffset: Number +// val pageYOffset: Number +// val parent: Window +// val personalbar: BarProp +// val screen: Screen +// val screenLeft: Number +// val screenTop: Number +// val screenX: Number +// val screenY: Number +// val scrollX: Number +// val scrollY: Number +// val scrollbars: BarProp +// val self: Window /* Window & Any */ +// val speechSynthesis: SpeechSynthesis +// var status: String +// val statusbar: BarProp +// val styleMedia: StyleMedia +// val toolbar: BarProp +// val top: Window +// val window: Window /* Window & Any */ +// fun alert(message: Any = definedExternally) +// fun blur() +// fun captureEvents() +// fun close() +// fun confirm(message: String = definedExternally): Boolean +// fun departFocus(navigationReason: String /* "down" | "left" | "right" | "up" */, origin: FocusNavigationOrigin) +// fun focus() +// fun getComputedStyle(elt: Element, pseudoElt: String? = definedExternally): CSSStyleDeclaration +// fun getMatchedCSSRules(elt: Element, pseudoElt: String? = definedExternally): CSSRuleList +// fun getSelection(): Selection? +// fun matchMedia(query: String): MediaQueryList +// fun moveBy(x: Number, y: Number) +// fun moveTo(x: Number, y: Number) +// fun msWriteProfilerMark(profilerMarkName: String) +// fun open(url: String = definedExternally, target: String = definedExternally, features: String = definedExternally, replace: Boolean = definedExternally): Window? +// fun postMessage(message: Any, targetOrigin: String, transfer: Array = definedExternally) +// fun print() +// fun prompt(message: String = definedExternally, _default: String = definedExternally): String? +// fun releaseEvents() +// fun resizeBy(x: Number, y: Number) +// fun resizeTo(x: Number, y: Number) +// fun scroll(options: ScrollToOptions = definedExternally) +// fun scroll() +// fun scroll(x: Number, y: Number) +// fun scrollBy(options: ScrollToOptions = definedExternally) +// fun scrollBy() +// fun scrollBy(x: Number, y: Number) +// fun scrollTo(options: ScrollToOptions = definedExternally) +// fun scrollTo() +// fun scrollTo(x: Number, y: Number) +// fun stop() +// fun webkitCancelAnimationFrame(handle: Number) +// fun webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint +// fun webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint +// fun webkitRequestAnimationFrame(callback: FrameRequestCallback): Number +// fun addEventListener(type: K, listener: (self: Window, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: Window, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: Window, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// override fun addEventListener(type: String, listener: EventListener, options: Boolean) +// override fun addEventListener(type: String, listener: EventListener) +// override fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions) +// override fun addEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun addEventListener(type: String, listener: EventListenerObject) +// override fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions) +// fun removeEventListener(type: K, listener: (self: Window, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: Window, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: Window, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// override fun removeEventListener(type: String, listener: EventListener, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListener) +// override fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean) +// override fun removeEventListener(type: String, listener: EventListenerObject) +// override fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions) +// @nativeGetter +// operator fun get(index: Number): Window? +// @nativeSetter +// operator fun set(index: Number, value: Window) +//} +// +//external interface WindowEventHandlersEventMap { +// var afterprint: Event +// var beforeprint: Event +// var beforeunload: BeforeUnloadEvent +// var hashchange: HashChangeEvent +// var languagechange: Event +// var message: MessageEvent +// var messageerror: MessageEvent +// var offline: Event +// var online: Event +// var pagehide: PageTransitionEvent +// var pageshow: PageTransitionEvent +// var popstate: PopStateEvent +// var rejectionhandled: PromiseRejectionEvent +// var storage: StorageEvent +// var unhandledrejection: PromiseRejectionEvent +// var unload: Event +//} +// +//external interface WindowEventHandlers { +// var onafterprint: ((self: WindowEventHandlers, ev: Event) -> Any)? +// var onbeforeprint: ((self: WindowEventHandlers, ev: Event) -> Any)? +// var onbeforeunload: ((self: WindowEventHandlers, ev: BeforeUnloadEvent) -> Any)? +// var onhashchange: ((self: WindowEventHandlers, ev: HashChangeEvent) -> Any)? +// var onlanguagechange: ((self: WindowEventHandlers, ev: Event) -> Any)? +// var onmessage: ((self: WindowEventHandlers, ev: MessageEvent) -> Any)? +// var onmessageerror: ((self: WindowEventHandlers, ev: MessageEvent) -> Any)? +// var onoffline: ((self: WindowEventHandlers, ev: Event) -> Any)? +// var ononline: ((self: WindowEventHandlers, ev: Event) -> Any)? +// var onpagehide: ((self: WindowEventHandlers, ev: PageTransitionEvent) -> Any)? +// var onpageshow: ((self: WindowEventHandlers, ev: PageTransitionEvent) -> Any)? +// var onpopstate: ((self: WindowEventHandlers, ev: PopStateEvent) -> Any)? +// var onrejectionhandled: ((self: WindowEventHandlers, ev: PromiseRejectionEvent) -> Any)? +// var onstorage: ((self: WindowEventHandlers, ev: StorageEvent) -> Any)? +// var onunhandledrejection: ((self: WindowEventHandlers, ev: PromiseRejectionEvent) -> Any)? +// var onunload: ((self: WindowEventHandlers, ev: Event) -> Any)? +// fun addEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun addEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any) +// fun addEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListener) +// fun addEventListener(type: String, listener: EventListener, options: AddEventListenerOptions = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun addEventListener(type: String, listener: EventListenerObject) +// fun addEventListener(type: String, listener: EventListenerObject, options: AddEventListenerOptions = definedExternally) +// fun removeEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any, options: Boolean = definedExternally) +// fun removeEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any) +// fun removeEventListener(type: K, listener: (self: WindowEventHandlers, ev: Any) -> Any, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListener, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListener) +// fun removeEventListener(type: String, listener: EventListener, options: EventListenerOptions = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject, options: Boolean = definedExternally) +// fun removeEventListener(type: String, listener: EventListenerObject) +// fun removeEventListener(type: String, listener: EventListenerObject, options: EventListenerOptions = definedExternally) +//} +// +//external interface WindowLocalStorage { +// val localStorage: Storage +//} +// +//external interface WindowOrWorkerGlobalScope { +// val caches: CacheStorage +// val crypto: Crypto +// val indexedDB: IDBFactory +// val isSecureContext: Boolean +// val origin: String +// val performance: Performance +// fun atob(data: String): String +// fun btoa(data: String): String +// fun clearInterval(handle: Number = definedExternally) +// fun clearTimeout(handle: Number = definedExternally) +// fun createImageBitmap(image: HTMLImageElement, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLImageElement): Promise +// fun createImageBitmap(image: SVGImageElement, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: SVGImageElement): Promise +// fun createImageBitmap(image: HTMLVideoElement, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLVideoElement): Promise +// fun createImageBitmap(image: HTMLCanvasElement, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLCanvasElement): Promise +// fun createImageBitmap(image: ImageBitmap, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: ImageBitmap): Promise +// fun createImageBitmap(image: OffscreenCanvas, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: OffscreenCanvas): Promise +// fun createImageBitmap(image: Blob, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: Blob): Promise +// fun createImageBitmap(image: ImageData, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: ImageData): Promise +// fun createImageBitmap(image: HTMLImageElement, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLImageElement, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: SVGImageElement, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: SVGImageElement, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: HTMLVideoElement, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLVideoElement, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: HTMLCanvasElement, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: HTMLCanvasElement, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: ImageBitmap, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: ImageBitmap, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: OffscreenCanvas, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: OffscreenCanvas, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: Blob, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: Blob, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun createImageBitmap(image: ImageData, sx: Number, sy: Number, sw: Number, sh: Number, options: ImageBitmapOptions = definedExternally): Promise +// fun createImageBitmap(image: ImageData, sx: Number, sy: Number, sw: Number, sh: Number): Promise +// fun fetch(input: Request, init: RequestInit = definedExternally): Promise +// fun fetch(input: Request): Promise +// fun fetch(input: String, init: RequestInit = definedExternally): Promise +// fun fetch(input: String): Promise +// fun queueMicrotask(callback: VoidFunction) +// fun setInterval(handler: String, timeout: Number = definedExternally, vararg arguments: Any): Number +// fun setInterval(handler: Function<*>, timeout: Number = definedExternally, vararg arguments: Any): Number +// fun setTimeout(handler: String, timeout: Number = definedExternally, vararg arguments: Any): Number +// fun setTimeout(handler: Function<*>, timeout: Number = definedExternally, vararg arguments: Any): Number +//} +// +//external interface WindowSessionStorage { +// val sessionStorage: Storage +//} +// +//external interface Worklet { +// fun addModule(moduleURL: String, options: WorkletOptions = definedExternally): Promise +//} +// +//external interface WritableStream { +// val locked: Boolean +// fun abort(reason: Any = definedExternally): Promise +// fun getWriter(): WritableStreamDefaultWriter +//} +// +//external interface WritableStreamDefaultController { +// fun error(error: Any = definedExternally) +//} +// +//external interface WritableStreamDefaultWriter { +// val closed: Promise +// val desiredSize: Number? +// val ready: Promise +// fun abort(reason: Any = definedExternally): Promise +// fun close(): Promise +// fun releaseLock() +// fun write(chunk: W): Promise +//} +// +//external interface XPathEvaluatorBase { +// fun createExpression(expression: String, resolver: ((prefix: String?) -> String?)? = definedExternally): XPathExpression +// fun createExpression(expression: String): XPathExpression +// fun createExpression(expression: String, resolver: `T$15`? = definedExternally): XPathExpression +// fun createNSResolver(nodeResolver: Node): dynamic /* (prefix: String?) -> String? | `T$15` */ +// fun evaluate(expression: String, contextNode: Node, resolver: ((prefix: String?) -> String?)? = definedExternally, type: Number = definedExternally, result: XPathResult? = definedExternally): XPathResult +// fun evaluate(expression: String, contextNode: Node): XPathResult +// fun evaluate(expression: String, contextNode: Node, resolver: ((prefix: String?) -> String?)? = definedExternally): XPathResult +// fun evaluate(expression: String, contextNode: Node, resolver: ((prefix: String?) -> String?)? = definedExternally, type: Number = definedExternally): XPathResult +// fun evaluate(expression: String, contextNode: Node, resolver: `T$15`? = definedExternally, type: Number = definedExternally, result: XPathResult? = definedExternally): XPathResult +// fun evaluate(expression: String, contextNode: Node, resolver: `T$15`? = definedExternally): XPathResult +// fun evaluate(expression: String, contextNode: Node, resolver: `T$15`? = definedExternally, type: Number = definedExternally): XPathResult +//} +// +//external interface XPathExpression { +// fun evaluate(contextNode: Node, type: Number = definedExternally, result: XPathResult? = definedExternally): XPathResult +//} +// +//external interface XPathResult { +// val booleanValue: Boolean +// val invalidIteratorState: Boolean +// val numberValue: Number +// val resultType: Number +// val singleNodeValue: Node? +// val snapshotLength: Number +// val stringValue: String +// fun iterateNext(): Node? +// fun snapshotItem(index: Number): Node? +// val ANY_TYPE: Number +// val ANY_UNORDERED_NODE_TYPE: Number +// val BOOLEAN_TYPE: Number +// val FIRST_ORDERED_NODE_TYPE: Number +// val NUMBER_TYPE: Number +// val ORDERED_NODE_ITERATOR_TYPE: Number +// val ORDERED_NODE_SNAPSHOT_TYPE: Number +// val STRING_TYPE: Number +// val UNORDERED_NODE_ITERATOR_TYPE: Number +// val UNORDERED_NODE_SNAPSHOT_TYPE: Number +//} +// +//external interface BlobCallback { +// @nativeInvoke +// operator fun invoke(blob: Blob?) +//} +// +//external interface CustomElementConstructor +// +//external interface DecodeErrorCallback { +// @nativeInvoke +// operator fun invoke(error: DOMException) +//} +// +//external interface DecodeSuccessCallback { +// @nativeInvoke +// operator fun invoke(decodedData: AudioBuffer) +//} +// +//external interface FrameRequestCallback { +// @nativeInvoke +// operator fun invoke(time: Number) +//} +// +//external interface FunctionStringCallback { +// @nativeInvoke +// operator fun invoke(data: String) +//} +// +//external interface MSLaunchUriCallback { +// @nativeInvoke +// operator fun invoke() +//} +// +//external interface NavigatorUserMediaErrorCallback { +// @nativeInvoke +// operator fun invoke(error: MediaStreamError) +//} +// +//external interface NavigatorUserMediaSuccessCallback { +// @nativeInvoke +// operator fun invoke(stream: MediaStream) +//} +// +//external interface NotificationPermissionCallback { +// @nativeInvoke +// operator fun invoke(permission: String /* "default" | "denied" | "granted" */) +//} +// +//external interface OnErrorEventHandlerNonNull { +// @nativeInvoke +// operator fun invoke(event: Event, source: String = definedExternally, lineno: Number = definedExternally, colno: Number = definedExternally, error: Error = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: Event): Any +// @nativeInvoke +// operator fun invoke(event: Event, source: String = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: Event, source: String = definedExternally, lineno: Number = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: Event, source: String = definedExternally, lineno: Number = definedExternally, colno: Number = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: String, source: String = definedExternally, lineno: Number = definedExternally, colno: Number = definedExternally, error: Error = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: String): Any +// @nativeInvoke +// operator fun invoke(event: String, source: String = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: String, source: String = definedExternally, lineno: Number = definedExternally): Any +// @nativeInvoke +// operator fun invoke(event: String, source: String = definedExternally, lineno: Number = definedExternally, colno: Number = definedExternally): Any +//} +// +//external interface PositionCallback { +// @nativeInvoke +// operator fun invoke(position: Position) +//} +// +//external interface PositionErrorCallback { +// @nativeInvoke +// operator fun invoke(positionError: PositionError) +//} +// +//external interface QueuingStrategySizeCallback { +// @nativeInvoke +// operator fun invoke(chunk: T): Number +//} +// +//external interface ReadableByteStreamControllerCallback { +// @nativeInvoke +// operator fun invoke(controller: ReadableByteStreamController): dynamic /* Unit | PromiseLike */ +//} +// +//external interface ReadableStreamDefaultControllerCallback { +// @nativeInvoke +// operator fun invoke(controller: ReadableStreamDefaultController): dynamic /* Unit | PromiseLike */ +//} +// +//external interface ReadableStreamErrorCallback { +// @nativeInvoke +// operator fun invoke(reason: Any): dynamic /* Unit | PromiseLike */ +//} +// +//external interface VoidFunction { +// @nativeInvoke +// operator fun invoke() +//} +// +//external interface WritableStreamDefaultControllerCloseCallback { +// @nativeInvoke +// operator fun invoke(): dynamic /* Unit | PromiseLike */ +//} +// +//external interface WritableStreamDefaultControllerStartCallback { +// @nativeInvoke +// operator fun invoke(controller: WritableStreamDefaultController): dynamic /* Unit | PromiseLike */ +//} +// +//external interface WritableStreamDefaultControllerWriteCallback { +// @nativeInvoke +// operator fun invoke(chunk: W, controller: WritableStreamDefaultController): dynamic /* Unit | PromiseLike */ +//} +// +//external interface WritableStreamErrorCallback { +// @nativeInvoke +// operator fun invoke(reason: Any): dynamic /* Unit | PromiseLike */ +//} +// +//external interface HTMLElementTagNameMap { +// var a: HTMLAnchorElement +// var abbr: HTMLElement +// var address: HTMLElement +// var applet: HTMLAppletElement +// var area: HTMLAreaElement +// var article: HTMLElement +// var aside: HTMLElement +// var audio: HTMLAudioElement +// var b: HTMLElement +// var base: HTMLBaseElement +// var basefont: HTMLBaseFontElement +// var bdi: HTMLElement +// var bdo: HTMLElement +// var blockquote: HTMLQuoteElement +// var body: HTMLBodyElement +// var br: HTMLBRElement +// var button: HTMLButtonElement +// var canvas: HTMLCanvasElement +// var caption: HTMLTableCaptionElement +// var cite: HTMLElement +// var code: HTMLElement +// var col: HTMLTableColElement +// var colgroup: HTMLTableColElement +// var data: HTMLDataElement +// var datalist: HTMLDataListElement +// var dd: HTMLElement +// var del: HTMLModElement +// var details: HTMLDetailsElement +// var dfn: HTMLElement +// var dialog: HTMLDialogElement +// var dir: HTMLDirectoryElement +// var div: HTMLDivElement +// var dl: HTMLDListElement +// var dt: HTMLElement +// var em: HTMLElement +// var embed: HTMLEmbedElement +// var fieldset: HTMLFieldSetElement +// var figcaption: HTMLElement +// var figure: HTMLElement +// var font: HTMLFontElement +// var footer: HTMLElement +// var form: HTMLFormElement +// var frame: HTMLFrameElement +// var frameset: HTMLFrameSetElement +// var h1: HTMLHeadingElement +// var h2: HTMLHeadingElement +// var h3: HTMLHeadingElement +// var h4: HTMLHeadingElement +// var h5: HTMLHeadingElement +// var h6: HTMLHeadingElement +// var head: HTMLHeadElement +// var header: HTMLElement +// var hgroup: HTMLElement +// var hr: HTMLHRElement +// var html: HTMLHtmlElement +// var i: HTMLElement +// var iframe: HTMLIFrameElement +// var img: HTMLImageElement +// var input: HTMLInputElement +// var ins: HTMLModElement +// var kbd: HTMLElement +// var label: HTMLLabelElement +// var legend: HTMLLegendElement +// var li: HTMLLIElement +// var link: HTMLLinkElement +// var main: HTMLElement +// var map: HTMLMapElement +// var mark: HTMLElement +// var marquee: HTMLMarqueeElement +// var menu: HTMLMenuElement +// var meta: HTMLMetaElement +// var meter: HTMLMeterElement +// var nav: HTMLElement +// var noscript: HTMLElement +// var `object`: HTMLObjectElement +// var ol: HTMLOListElement +// var optgroup: HTMLOptGroupElement +// var option: HTMLOptionElement +// var output: HTMLOutputElement +// var p: HTMLParagraphElement +// var param: HTMLParamElement +// var picture: HTMLPictureElement +// var pre: HTMLPreElement +// var progress: HTMLProgressElement +// var q: HTMLQuoteElement +// var rp: HTMLElement +// var rt: HTMLElement +// var ruby: HTMLElement +// var s: HTMLElement +// var samp: HTMLElement +// var script: HTMLScriptElement +// var section: HTMLElement +// var select: HTMLSelectElement +// var slot: HTMLSlotElement +// var small: HTMLElement +// var source: HTMLSourceElement +// var span: HTMLSpanElement +// var strong: HTMLElement +// var style: HTMLStyleElement +// var sub: HTMLElement +// var summary: HTMLElement +// var sup: HTMLElement +// var table: HTMLTableElement +// var tbody: HTMLTableSectionElement +// var td: HTMLTableDataCellElement +// var template: HTMLTemplateElement +// var textarea: HTMLTextAreaElement +// var tfoot: HTMLTableSectionElement +// var th: HTMLTableHeaderCellElement +// var thead: HTMLTableSectionElement +// var time: HTMLTimeElement +// var title: HTMLTitleElement +// var tr: HTMLTableRowElement +// var track: HTMLTrackElement +// var u: HTMLElement +// var ul: HTMLUListElement +// var `var`: HTMLElement +// var video: HTMLVideoElement +// var wbr: HTMLElement +//} +// +//external interface HTMLElementDeprecatedTagNameMap { +// var listing: HTMLPreElement +// var xmp: HTMLPreElement +//} +// +//external interface SVGElementTagNameMap { +// var a: SVGAElement +// var circle: SVGCircleElement +// var clipPath: SVGClipPathElement +// var defs: SVGDefsElement +// var desc: SVGDescElement +// var ellipse: SVGEllipseElement +// var feBlend: SVGFEBlendElement +// var feColorMatrix: SVGFEColorMatrixElement +// var feComponentTransfer: SVGFEComponentTransferElement +// var feComposite: SVGFECompositeElement +// var feConvolveMatrix: SVGFEConvolveMatrixElement +// var feDiffuseLighting: SVGFEDiffuseLightingElement +// var feDisplacementMap: SVGFEDisplacementMapElement +// var feDistantLight: SVGFEDistantLightElement +// var feFlood: SVGFEFloodElement +// var feFuncA: SVGFEFuncAElement +// var feFuncB: SVGFEFuncBElement +// var feFuncG: SVGFEFuncGElement +// var feFuncR: SVGFEFuncRElement +// var feGaussianBlur: SVGFEGaussianBlurElement +// var feImage: SVGFEImageElement +// var feMerge: SVGFEMergeElement +// var feMergeNode: SVGFEMergeNodeElement +// var feMorphology: SVGFEMorphologyElement +// var feOffset: SVGFEOffsetElement +// var fePointLight: SVGFEPointLightElement +// var feSpecularLighting: SVGFESpecularLightingElement +// var feSpotLight: SVGFESpotLightElement +// var feTile: SVGFETileElement +// var feTurbulence: SVGFETurbulenceElement +// var filter: SVGFilterElement +// var foreignObject: SVGForeignObjectElement +// var g: SVGGElement +// var image: SVGImageElement +// var line: SVGLineElement +// var linearGradient: SVGLinearGradientElement +// var marker: SVGMarkerElement +// var mask: SVGMaskElement +// var metadata: SVGMetadataElement +// var path: SVGPathElement +// var pattern: SVGPatternElement +// var polygon: SVGPolygonElement +// var polyline: SVGPolylineElement +// var radialGradient: SVGRadialGradientElement +// var rect: SVGRectElement +// var script: SVGScriptElement +// var stop: SVGStopElement +// var style: SVGStyleElement +// var svg: SVGSVGElement +// var switch: SVGSwitchElement +// var symbol: SVGSymbolElement +// var text: SVGTextElement +// var textPath: SVGTextPathElement +// var title: SVGTitleElement +// var tspan: SVGTSpanElement +// var use: SVGUseElement +// var view: SVGViewElement +//} +// +//typealias DOMHighResTimeStamp = Number +// +//typealias PerformanceEntryList = Array +// +//typealias COSEAlgorithmIdentifier = Number +// +//typealias AuthenticatorSelectionList = Array +// +//typealias BigInteger = Uint8Array +// +//typealias NamedCurve = String +// +//typealias GLenum = Number +// +//typealias GLboolean = Boolean +// +//typealias GLbitfield = Number +// +//typealias GLint = Number +// +//typealias GLsizei = Number +// +//typealias GLintptr = Number +// +//typealias GLsizeiptr = Number +// +//typealias GLuint = Number +// +//typealias GLfloat = Number +// +//typealias GLclampf = Number +// +//typealias GLint64 = Number +// +//typealias GLuint64 = Number diff --git a/ext/three/src/jsMain/kotlin/three/lib.scripthost.module_three.kt b/ext/three/src/jsMain/kotlin/three/lib.scripthost.module_three.kt new file mode 100644 index 0000000000..c3afe1b699 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/lib.scripthost.module_three.kt @@ -0,0 +1,21 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.dom.parsing.* +import org.w3c.dom.svg.* +import org.w3c.dom.url.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.notifications.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +open external class VarDate { + open var VarDate_typekey: VarDate +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/types.module_three.kt b/ext/three/src/jsMain/kotlin/three/types.module_three.kt new file mode 100644 index 0000000000..47389fed96 --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/types.module_three.kt @@ -0,0 +1,15 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +external interface TextureImageData { + var data: dynamic /* Uint8Array | Uint8ClampedArray */ + get() = definedExternally + set(value) = definedExternally + var height: Number + var width: Number +} + +external interface Texture3DImageData : TextureImageData { + var depth: Number +} \ No newline at end of file diff --git a/ext/three/src/jsMain/kotlin/three/utils.module_three.kt b/ext/three/src/jsMain/kotlin/three/utils.module_three.kt new file mode 100644 index 0000000000..bb02bb341e --- /dev/null +++ b/ext/three/src/jsMain/kotlin/three/utils.module_three.kt @@ -0,0 +1,7 @@ +@file:JsModule("three") +@file:JsNonModule +package three + +import org.w3c.dom.HTMLCanvasElement + +external fun createCanvasElement(): HTMLCanvasElement \ No newline at end of file diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 945388ced4..71cbb228e2 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -459,6 +459,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz#621270c02c0a5d4f4669eb1caa9723c91cf201de" integrity sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg== +"@tweenjs/tween.js@~23.1.3": + version "23.1.3" + resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz#eff0245735c04a928bb19c026b58c2a56460539d" + integrity sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA== + "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -698,6 +703,28 @@ dependencies: "@types/node" "*" +"@types/stats.js@*": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@types/stats.js/-/stats.js-0.17.3.tgz#705446e12ce0fad618557dd88236f51148b7a935" + integrity sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ== + +"@types/three@^0.168.0": + version "0.168.0" + resolved "https://registry.yarnpkg.com/@types/three/-/three-0.168.0.tgz#510420c4bbee7937bbbcdfbc5dc31160771eaef8" + integrity sha512-qAGLGzbaYgkkonOBfwOr+TZpOskPfFjrDAj801WQSVkUz0/D9zwir4vhruJ/CC/GteywzR9pqeVVfs5th/2oKw== + dependencies: + "@tweenjs/tween.js" "~23.1.3" + "@types/stats.js" "*" + "@types/webxr" "*" + "@webgpu/types" "*" + fflate "~0.8.2" + meshoptimizer "~0.18.1" + +"@types/webxr@*": + version "0.5.20" + resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.20.tgz#b16b681af314ec011b2e8221b0a072d691c04953" + integrity sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg== + "@types/ws@^8.5.5": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" @@ -826,6 +853,11 @@ "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" +"@webgpu/types@*": + version "0.1.44" + resolved "https://registry.yarnpkg.com/@webgpu/types/-/types-0.1.44.tgz#1b264c0bfcb298df59d0943dad8ef02b4ff98d14" + integrity sha512-JDpYJN5E/asw84LTYhKyvPpxGnD+bAKPtpW9Ilurf7cZpxaTbxkQcGwOd7jgB9BPBrTYQ+32ufo4HiuomTjHNQ== + "@webpack-cli/configtest@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" @@ -2016,6 +2048,11 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" +fflate@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" + integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== + file-selector@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" @@ -2763,6 +2800,11 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +meshoptimizer@~0.18.1: + version "0.18.1" + resolved "https://registry.yarnpkg.com/meshoptimizer/-/meshoptimizer-0.18.1.tgz#cdb90907f30a7b5b1190facd3b7ee6b7087797d8" + integrity sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -3848,10 +3890,10 @@ terser@^5.26.0: commander "^2.20.0" source-map-support "~0.5.20" -three@^0.120.0: - version "0.120.1" - resolved "https://registry.yarnpkg.com/three/-/three-0.120.1.tgz#dbd8894f8ab87c109f1602933e7c740c98137377" - integrity sha512-ktaCRFUR7JUZcKec+cBRz+oBex5pOVaJhrtxvFF2T7on53o9UkEux+/Nh1g/4zeb4t/pbxIFcADbn/ACu3LC1g== +three@^0.168.0: + version "0.168.0" + resolved "https://registry.yarnpkg.com/three/-/three-0.168.0.tgz#3e33101d91e3e9716f5c610ea9a7b3b8423c242d" + integrity sha512-6m6jXtDwMJEK/GGMbAOTSAmxNdzKvvBzgd7q8bE/7Tr6m7PaBh5kKLrN7faWtlglXbzj7sVba48Idwx+NRsZXw== thunky@^1.0.2: version "1.1.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index 285f295f46..9b41a5971a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,5 +9,7 @@ plugins { } rootProject.name = "sparklemotion" + +include("ext:three") include("rpc") include("rpc:processor") diff --git a/src/commonMain/kotlin/baaahs/mapper/Mapper.kt b/src/commonMain/kotlin/baaahs/mapper/Mapper.kt index 77ec375194..5dc4f3fcf7 100644 --- a/src/commonMain/kotlin/baaahs/mapper/Mapper.kt +++ b/src/commonMain/kotlin/baaahs/mapper/Mapper.kt @@ -27,10 +27,14 @@ import kotlin.random.Random /** [SolidBrainShader] appears to be busted as of 2020/09. */ const val USE_SOLID_SHADERS = false +interface MapperBuilder { + fun build(): Mapper +} + abstract class Mapper( private val plugins: Plugins, private val network: Network, - sceneProvider: SceneProvider, + private val sceneProvider: SceneProvider, private val mediaDevices: MediaDevices, private val pinkyAddress: Network.Address, private val clock: Clock, @@ -64,16 +68,23 @@ abstract class Mapper( var mappingController: MappableBrain? = null init { - sceneProvider.addObserver(fireImmediately = true) { - it.openScene?.model?.let { - model = it - ui.addWireframe(it) - } + sceneProvider.addObserver(fireImmediately = false) { + setModel() } } open fun onLaunch() { - mapperScope.launch { start() } + mapperScope.launch { + setModel() + start() + } + } + + private fun setModel() { + sceneProvider.openScene?.model?.let { + model = it + ui.addWireframe(it) + } } fun start() { diff --git a/src/jsMain/kotlin/baaahs/app/ui/AppIndex.kt b/src/jsMain/kotlin/baaahs/app/ui/AppIndex.kt index 1fd41aafef..c0031bccc4 100644 --- a/src/jsMain/kotlin/baaahs/app/ui/AppIndex.kt +++ b/src/jsMain/kotlin/baaahs/app/ui/AppIndex.kt @@ -14,7 +14,7 @@ import baaahs.client.WebClient import baaahs.client.document.SceneManager import baaahs.client.document.ShowManager import baaahs.gl.withCache -import baaahs.mapper.JsMapper +import baaahs.mapper.JsMapperBuilder import baaahs.mapper.sceneEditor import baaahs.show.mutable.MutableShow import baaahs.ui.* @@ -264,8 +264,8 @@ val AppIndex = xComponent("AppIndex") { props -> } else if (appState == AppState.SceneView) { sceneEditor { attrs.sceneEditorClient = props.sceneEditorClient - attrs.mapper = props.mapper attrs.sceneManager = sceneManager + attrs.mapperBuilder = props.mapperBuilder } } } @@ -310,7 +310,7 @@ external interface AppIndexProps : Props { var sceneManager: SceneManager.Facade var sceneEditorClient: SceneEditorClient.Facade - var mapper: JsMapper + var mapperBuilder: JsMapperBuilder } fun RBuilder.appIndex(handler: RHandler) = diff --git a/src/jsMain/kotlin/baaahs/client/WebClient.kt b/src/jsMain/kotlin/baaahs/client/WebClient.kt index 34f2909a17..9079e17809 100644 --- a/src/jsMain/kotlin/baaahs/client/WebClient.kt +++ b/src/jsMain/kotlin/baaahs/client/WebClient.kt @@ -14,7 +14,7 @@ import baaahs.gl.Toolchain import baaahs.io.Fs import baaahs.io.RemoteFsSerializer import baaahs.libraries.ShaderLibraries -import baaahs.mapper.JsMapper +import baaahs.mapper.JsMapperBuilder import baaahs.net.Network import baaahs.plugin.Plugins import baaahs.scene.SceneProvider @@ -32,7 +32,7 @@ class WebClient( private val sceneProvider: SceneProvider, private val storage: ClientStorage, private val sceneEditorClient: SceneEditorClient, - private val mapper: JsMapper, + private val mapperBuilder: JsMapperBuilder, remoteFsSerializer: RemoteFsSerializer, private val notifier: Notifier, private val fileDialog: FileDialog, @@ -85,7 +85,7 @@ class WebClient( this.sceneManager = this@WebClient.sceneManager.facade this.sceneEditorClient = this@WebClient.sceneEditorClient.facade - this.mapper = this@WebClient.mapper + this.mapperBuilder = this@WebClient.mapperBuilder }) } diff --git a/src/jsMain/kotlin/baaahs/di/JsModules.kt b/src/jsMain/kotlin/baaahs/di/JsModules.kt index f89ddeb3e4..0c455d41eb 100644 --- a/src/jsMain/kotlin/baaahs/di/JsModules.kt +++ b/src/jsMain/kotlin/baaahs/di/JsModules.kt @@ -13,7 +13,7 @@ import baaahs.gl.RootToolchain import baaahs.gl.Toolchain import baaahs.io.PubSubRemoteFsClientBackend import baaahs.io.RemoteFsSerializer -import baaahs.mapper.JsMapper +import baaahs.mapper.JsMapperBuilder import baaahs.monitor.MonitorUi import baaahs.net.Network import baaahs.plugin.ClientPlugins @@ -82,7 +82,7 @@ open class JsUiWebClientModule : WebClientModule() { scoped { Notifier(get()) } scoped { SceneEditorClient(get(), get()) } scoped { - JsMapper(get(), get(), get(), null, get(), get(), get(), get(named(Qualifier.PinkyAddress)), get(), get()) + JsMapperBuilder(get(), get(), get(), null, get(), get(), get(), get(named(Qualifier.PinkyAddress)), get(), get()) } // Dev only: diff --git a/src/jsMain/kotlin/baaahs/geom/Matrix4FJs.kt b/src/jsMain/kotlin/baaahs/geom/Matrix4FJs.kt index 51eb523f01..6fdf932259 100644 --- a/src/jsMain/kotlin/baaahs/geom/Matrix4FJs.kt +++ b/src/jsMain/kotlin/baaahs/geom/Matrix4FJs.kt @@ -3,17 +3,17 @@ package baaahs.geom import baaahs.util.toDoubleArray import baaahs.visualizer.toVector3 import kotlinx.serialization.Serializable -import three.js.Euler -import three.js.Object3D -import three.js.Quaternion +import three.Euler +import three.Object3D +import three.Quaternion import three_ext.set import three_ext.toVector3F -import three.js.Matrix4 as NativeMatrix4D -import three.js.Vector3 as NativeVector3F +import three.Matrix4 as NativeMatrix4D +import three.Vector3 as NativeVector3F @Serializable(Matrix4FSerializer::class) actual class Matrix4F actual constructor(elements: FloatArray?) { - constructor(nativeMatrix: three.js.Matrix4) : this(nativeMatrix.elements.map { it.toFloat() }.toFloatArray()) + constructor(nativeMatrix: three.Matrix4) : this(nativeMatrix.elements.map { it.toFloat() }.toFloatArray()) val nativeMatrix = NativeMatrix4D() .also { if (elements != null) it.fromArray(elements.toDoubleArray()) } @@ -56,11 +56,11 @@ actual class Matrix4F actual constructor(elements: FloatArray?) { } private fun alter( - block: (translation: three.js.Vector3, rotation: Quaternion, scale: three.js.Vector3) -> Unit + block: (translation: three.Vector3, rotation: Quaternion, scale: three.Vector3) -> Unit ): Matrix4F { - val translation = three.js.Vector3() + val translation = three.Vector3() val rotation = Quaternion() - val scale = three.js.Vector3() + val scale = three.Vector3() nativeMatrix.decompose(translation, rotation, scale) block(translation, rotation, scale) return Matrix4F(nativeMatrix.compose(translation, rotation, scale)) diff --git a/src/jsMain/kotlin/baaahs/geom/Vector2.kt b/src/jsMain/kotlin/baaahs/geom/Vector2.kt index 8b360ae9ce..e890e2ca98 100644 --- a/src/jsMain/kotlin/baaahs/geom/Vector2.kt +++ b/src/jsMain/kotlin/baaahs/geom/Vector2.kt @@ -1,4 +1,4 @@ package baaahs.geom -actual class Vector2 actual constructor(x: Double, y: Double) : three.js.Vector2(x, y) { +actual class Vector2 actual constructor(x: Double, y: Double) : three.Vector2(x, y) { } \ No newline at end of file diff --git a/src/jsMain/kotlin/baaahs/gl/preview/ProjectionPreview.kt b/src/jsMain/kotlin/baaahs/gl/preview/ProjectionPreview.kt index c24d66acaf..1240fb48e0 100644 --- a/src/jsMain/kotlin/baaahs/gl/preview/ProjectionPreview.kt +++ b/src/jsMain/kotlin/baaahs/gl/preview/ProjectionPreview.kt @@ -20,7 +20,7 @@ import baaahs.model.Model import baaahs.model.PixelArray import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch -import three.js.Vector2 +import three.Vector2 import web.animations.requestAnimationFrame import web.canvas.Path2D import web.html.HTMLCanvasElement diff --git a/src/jsMain/kotlin/baaahs/mapper/CameraPositionExt.kt b/src/jsMain/kotlin/baaahs/mapper/CameraPositionExt.kt index f1752ce7b5..9ad571a665 100644 --- a/src/jsMain/kotlin/baaahs/mapper/CameraPositionExt.kt +++ b/src/jsMain/kotlin/baaahs/mapper/CameraPositionExt.kt @@ -1,8 +1,8 @@ package baaahs.mapper -import three.js.PerspectiveCamera +import three.Matrix4 +import three.PerspectiveCamera import three_ext.CameraControls -import three_ext.Matrix4 import three_ext.toVector3F import kotlin.math.atan2 diff --git a/src/jsMain/kotlin/baaahs/mapper/JsMapper.kt b/src/jsMain/kotlin/baaahs/mapper/JsMapper.kt index 480ce9c8c7..ab88055d9c 100644 --- a/src/jsMain/kotlin/baaahs/mapper/JsMapper.kt +++ b/src/jsMain/kotlin/baaahs/mapper/JsMapper.kt @@ -8,30 +8,33 @@ import baaahs.geom.Vector2F import baaahs.geom.Vector3F import baaahs.geom.toThreeEuler import baaahs.imaging.* +import baaahs.mapper.JsMapper.StatusListener import baaahs.mapper.MappingSession.SurfaceData.PixelData import baaahs.model.Model import baaahs.net.Network import baaahs.plugin.Plugins import baaahs.scene.SceneProvider -import baaahs.sim.HostedWebApp import baaahs.ui.Keypress import baaahs.ui.KeypressResult import baaahs.ui.Observable import baaahs.util.Clock import baaahs.util.Logger import baaahs.util.globalLaunch +import baaahs.visualizer.FaceInfo import baaahs.visualizer.Rotator +import baaahs.visualizer.SurfaceGeometry import baaahs.visualizer.toVector3 import js.objects.jso import kotlinx.coroutines.* import mui.icons.material.KeyboardArrowRight import react.RBuilder -import react.ReactElement -import react.createElement import react.dom.br -import three.js.* -import three.js.Color -import three_ext.* +import three.* +import three.Color +import three_ext.CameraControls +import three_ext.plus +import three_ext.toVector3F +import three_ext.vector3FacingForward import web.animations.requestAnimationFrame import web.canvas.CanvasImageSource import web.canvas.CanvasRenderingContext2D @@ -50,7 +53,7 @@ import kotlin.collections.component1 import kotlin.collections.component2 import kotlin.collections.set import kotlin.math.* -import three.js.Clock as ThreeJsClock +import three.Clock as ThreeJsClock class MemoizedJsMapper(mapperUi: JsMapper) { val changedCamera = mapperUi::changedCamera @@ -73,6 +76,24 @@ class MapperStatus : Observable() { var orderedPanels: List> by notifyOnChange(emptyList()) } +class JsMapperBuilder( + private val plugins: Plugins, + private val sceneEditorClient: SceneEditorClient, + private val sceneManager: SceneManager, + private val statusListener: StatusListener? = null, + private val network: Network, + private val sceneProvider: SceneProvider, + private val mediaDevices: MediaDevices, + private val pinkyAddress: Network.Address, + private val clock: Clock, + private val clientStorage: ClientStorage, + private val mapperScope: CoroutineScope = CoroutineScope(Dispatchers.Main) +) : MapperBuilder { + override fun build(): JsMapper = JsMapper( + plugins, sceneEditorClient, sceneManager, statusListener, network, sceneProvider, mediaDevices, pinkyAddress, + clock, clientStorage, mapperScope + ) +} class JsMapper( plugins: Plugins, private val sceneEditorClient: SceneEditorClient, @@ -87,7 +108,7 @@ class JsMapper( mapperScope: CoroutineScope = CoroutineScope(Dispatchers.Main) ) : Mapper( plugins, network, sceneProvider, mediaDevices, pinkyAddress, clock, mapperScope -), HostedWebApp { +) { var mappingEnabled: Boolean = false set(value) { if (value != field) { @@ -437,14 +458,6 @@ class JsMapper( perfStatsDiv.innerText = mapperStats.summarize() } - override fun render(): ReactElement<*> { - return createElement(SceneEditorView, jso { - sceneEditorClient = this@JsMapper.sceneEditorClient.facade - mapper = this@JsMapper - sceneManager = this@JsMapper.sceneManager.facade - }) - } - override fun onLaunch() { super.onLaunch() @@ -513,29 +526,17 @@ class JsMapper( height = thumbnailDimen.height } - private fun createEntityDepiction(entity: Model.Surface, vertices: Array): PanelInfo { - val surface = entity - - val geom = Geometry() - geom.vertices = vertices - - val faceNormalAcc = Vector3() - val panelFaces = surface.faces.map { face -> - val face3 = Face3(face.vertexA, face.vertexB, face.vertexC, Vector3(), Color(1, 1, 1)) - - // just compute this face's normal - geom.faces = arrayOf(face3) - geom.computeFaceNormals() - faceNormalAcc.add(face3.normal) - - face3 - } - val surfaceNormal = faceNormalAcc.divideScalar(surface.faces.size.toDouble()) + private fun createSurfaceDepiction( + entity: Model.Surface + ): PanelInfo { + val surfaceGeometry = SurfaceGeometry(entity) + val geom = surfaceGeometry.geometry + val surfaceNormal = surfaceGeometry.panelNormal val panelMaterial = MeshBasicMaterial().apply { color = Color(0, 0, 0) } val mesh = Mesh(geom, panelMaterial) entity.transform(mesh) - mesh.name = surface.name + mesh.name = entity.name uiScene.add(mesh) val lineMaterial = LineBasicMaterial().apply { @@ -544,8 +545,8 @@ class JsMapper( } // offset the wireframe by one of the panel's face normals so it's not clipped by the panel mesh - surface.lines.forEach { line -> - val lineGeom = BufferGeometry() + entity.lines.forEach { line -> + val lineGeom = BufferGeometry() lineGeom.setFromPoints(line.vertices.map { pt -> pt.toVector3() + surfaceNormal }.toTypedArray()) @@ -556,15 +557,11 @@ class JsMapper( ) } - geom.faces = panelFaces.toTypedArray() - geom.computeFaceNormals() - geom.computeVertexNormals() - - return PanelInfo(surface, panelFaces, mesh, geom, lineMaterial) + return PanelInfo(entity, surfaceGeometry.faceInfos, mesh, geom, lineMaterial) } inner class PixelsInfo(private val initialPixelCount: Int) { - internal val pixelsGeom = BufferGeometry() + internal val pixelsGeom = BufferGeometry() private val pixelsMaterial = PointsMaterial().apply { vertexColors = true blending = AdditiveBlending @@ -579,11 +576,11 @@ class JsMapper( internal val pixelDatas = mutableMapOf() private var positions = FloatArray(maxPixel * 3) { 0f } private var colors = FloatArray(maxPixel * 3) { 0f } - private val positionsAttr = Float32BufferAttribute(positions, 3).also { + private var positionsAttr = Float32BufferAttribute(positions, 3).also { it.usage = DynamicDrawUsage pixelsGeom.setAttribute("position", it) } - private val colorsAttr = Float32BufferAttribute(colors, 3).also { + private var colorsAttr = Float32BufferAttribute(colors, 3).also { it.usage = DynamicDrawUsage pixelsGeom.setAttribute("color", it) } @@ -635,23 +632,26 @@ class JsMapper( private fun resize(size: Int) { positions = positions.resize(size * 3) { 0f } - positionsAttr.array = positions.asDynamic() - positionsAttr.count = size - positionsAttr.needsUpdate = true + positionsAttr = Float32BufferAttribute(positions, positionsAttr.itemSize).also { + it.usage = DynamicDrawUsage + pixelsGeom.setAttribute("position", it) + } colors = colors.resize(size * 3) { 0f } - colorsAttr.array = colors.asDynamic() - colorsAttr.count = size - colorsAttr.needsUpdate = true + colorsAttr = Float32BufferAttribute(colors, colorsAttr.itemSize).also { + it.usage = DynamicDrawUsage + pixelsGeom.setAttribute("color", it) + } + maxPixel = size } } inner class PanelInfo( val surface: Model.Surface, - val faces: List, + val faceInfos: List, val mesh: Mesh<*, *>, - val geom: Geometry, + val geom: BufferGeometry<*>, private val lineMaterial: LineBasicMaterial ) : EntityDepiction { override val entity: Model.Entity @@ -675,10 +675,8 @@ class JsMapper( private val vertices: Set get() { val v = mutableSetOf() - for (face in faces) { - v.add(geom.vertices[face.a]) - v.add(geom.vertices[face.b]) - v.add(geom.vertices[face.c]) + for (faceInfo in faceInfos) { + v.addAll(faceInfo.allVertices) } return v } @@ -696,7 +694,7 @@ class JsMapper( private val rotator by lazy { Rotator(surfaceNormal, vector3FacingForward) } private fun toSurfaceNormal(point: Vector3): Vector3 { - rotator.rotate(point); return point + return point.also { rotator.rotate(it) } } private val normalBoundingBox: Box3 by lazy { @@ -732,18 +730,17 @@ class JsMapper( val center get() = boundingBox.getCenter(Vector3()) - val isMultiFaced get() = faces.size > 1 + val isMultiFaced get() = faceInfos.size > 1 private val _surfaceNormal: Vector3 by lazy { val faceNormalSum = Vector3() - var totalArea = 0f - for (face in faces) { - val triangle = Triangle(geom.vertices[face.a], geom.vertices[face.b], geom.vertices[face.c]) - val faceArea = triangle.getArea() as Float - faceNormalSum.addScaledVector(face.normal, faceArea) + var totalArea = 0.0 + for (faceInfo in faceInfos) { + val faceArea = faceInfo.area + faceNormalSum.addScaledVector(faceInfo.normal, faceArea) totalArea += faceArea } - faceNormalSum.divideScalar(totalArea.toDouble()) + faceNormalSum.divideScalar(totalArea) } val surfaceNormal get() = _surfaceNormal.clone() @@ -794,7 +791,9 @@ class JsMapper( fun findVisualizer(entityName: String): PanelInfo? = entitiesByName[entityName]?.let { entityDepictions[it] } - override val ui: MapperUi = object : MapperUi { + override val ui: MapperUi by lazy { JsMapperUi() } + + inner class JsMapperUi : MapperUi { override var message: String? get() = mapperStatus.message set(value) { mapperStatus.message = value } @@ -807,26 +806,19 @@ class JsMapper( entityDepictions.clear() resetScene() - val geometries = mutableMapOf>() - model.visit { entity -> entitiesByName[entity.name] = entity // TODO: Add wireframe depiction for other entity types. if (entity is Model.Surface) { - val vertices = geometries.getOrPut(entity.geometry) { - entity.geometry.vertices - .map { v -> Vector3(v.x, v.y, v.z) } - .toTypedArray() - } - entityDepictions[entity] = createEntityDepiction(entity, vertices) + entityDepictions[entity] = createSurfaceDepiction(entity) } } uiScene.add(wireframe) val originMarker = Mesh( - SphereBufferGeometry(1, 32, 32), + SphereGeometry(1, 32, 32), MeshBasicMaterial().apply { color = Color(0xff0000) }) uiScene.add(originMarker) @@ -886,10 +878,10 @@ class JsMapper( val fixedCamera = uiCamera.clone() as PerspectiveCamera entityDepictions.forEach { (entity, panelInfo) -> - val panelPosition = panelInfo.geom.vertices[panelInfo.faces[0].a] + val panelPosition = panelInfo.faceInfos[0].triangle.a val dirToCamera = uiCamera.position.clone().sub(panelPosition) dirToCamera.normalize() - val angle = panelInfo.faces[0].normal.dot(dirToCamera) + val angle = panelInfo.faceInfos[0].normal.dot(dirToCamera) if (angle > 0) { panelInfo.mesh.updateMatrixWorld() @@ -984,7 +976,7 @@ class JsMapper( return Vector2F(point.x.toFloat(), point.y.toFloat()) } - private fun findIntersection(uv: Uv): Intersection? { + private fun findIntersection(uv: Uv): Intersection<*>? { val raycaster = Raycaster() raycaster.setFromCamera(uv.toVector2(), camera) var intersections = raycaster.intersectObject(panelInfo.mesh, false) diff --git a/src/jsMain/kotlin/baaahs/mapper/MapperAppView.kt b/src/jsMain/kotlin/baaahs/mapper/MapperAppView.kt index 5ea0918fa6..0ffe3b4567 100644 --- a/src/jsMain/kotlin/baaahs/mapper/MapperAppView.kt +++ b/src/jsMain/kotlin/baaahs/mapper/MapperAppView.kt @@ -32,7 +32,7 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" val appContext = useContext(mapperAppContext) val styles = appContext.allStyles.mapper - val ui = props.mapper + val ui = memo(props.mapperBuilder) { props.mapperBuilder.build() } observe(ui) val uiActions = memo(ui) { MemoizedJsMapper(ui) } @@ -77,18 +77,18 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" ui.setSizes() - val handleChangeEntity by handler(props.mapper.mappingController) { entity: Model.Entity? -> - props.mapper.mappingController?.guessedEntity = entity + val handleChangeEntity by handler(ui.mappingController) { entity: Model.Entity? -> + ui.mappingController?.guessedEntity = entity forceRender() } - val handlePixelCountChange by handler(props.mapper.mappingController) { pixelCount: String -> - props.mapper.mappingController?.expectedPixelCount = pixelCount.toIntOrNull() + val handlePixelCountChange by handler(ui.mappingController) { pixelCount: String -> + ui.mappingController?.expectedPixelCount = pixelCount.toIntOrNull() forceRender() } - val handlePixelFormatChange by handler(props.mapper.mappingController) { pixelFormat: PixelFormat? -> - props.mapper.mappingController?.pixelFormat = pixelFormat + val handlePixelFormatChange by handler(ui.mappingController) { pixelFormat: PixelFormat? -> + ui.mappingController?.pixelFormat = pixelFormat forceRender() } @@ -172,10 +172,10 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" } } - props.mapper.mappingController?.let { mappingController -> + ui.mappingController?.let { mappingController -> betterSelect { attrs.label = "Entity:" - attrs.values = props.mapper.entitiesByName.values.toList().map<_, Model.Entity?>{ it }.plus(null) + attrs.values = ui.entitiesByName.values.toList().map<_, Model.Entity?>{ it }.plus(null) attrs.renderValueOption = { entity -> buildElement { +(entity?.name ?: "None" ) } } attrs.value = mappingController.guessedEntity attrs.onChange = handleChangeEntity @@ -264,7 +264,7 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" } statusBar { - attrs.mapperStatus = props.mapper.mapperStatus + attrs.mapperStatus = ui.mapperStatus } div(+styles.perfStats) { @@ -284,7 +284,7 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" } twoLogNSlices { - attrs.mapper = props.mapper + attrs.mapper = ui attrs.sessionMetadata = metadata } } @@ -359,7 +359,7 @@ val MapperAppView = xComponent("baaahs.mapper.MapperAppView" } external interface MapperAppViewProps : Props { - var mapper: JsMapper + var mapperBuilder: JsMapperBuilder } fun RBuilder.mapperApp(handler: RHandler) = diff --git a/src/jsMain/kotlin/baaahs/mapper/MapperAppWrapperView.kt b/src/jsMain/kotlin/baaahs/mapper/MapperAppWrapperView.kt index bfd8433dff..bb25f9d0e1 100644 --- a/src/jsMain/kotlin/baaahs/mapper/MapperAppWrapperView.kt +++ b/src/jsMain/kotlin/baaahs/mapper/MapperAppWrapperView.kt @@ -29,14 +29,14 @@ private val MapperAppWrapperView = xComponent("MapperAppW attrs.value = myAppContext mapperApp { - attrs.mapper = props.mapper + attrs.mapperBuilder = props.mapperBuilder } } } external interface MapperAppWrapperProps : Props { var sceneEditorClient: SceneEditorClient.Facade - var mapper: JsMapper + var mapperBuilder: JsMapperBuilder } fun RBuilder.mapperAppWrapper(handler: RHandler) = diff --git a/src/jsMain/kotlin/baaahs/mapper/SceneEditorView.kt b/src/jsMain/kotlin/baaahs/mapper/SceneEditorView.kt index c89a36deac..1787631cb2 100644 --- a/src/jsMain/kotlin/baaahs/mapper/SceneEditorView.kt +++ b/src/jsMain/kotlin/baaahs/mapper/SceneEditorView.kt @@ -80,7 +80,7 @@ val SceneEditorView = xComponent("SceneEditorView") { prop tabPanel(PageTabs.Mapping, selectedTab) { mapperAppWrapper { attrs.sceneEditorClient = props.sceneEditorClient - attrs.mapper = props.mapper + attrs.mapperBuilder = props.mapperBuilder } } } @@ -102,8 +102,8 @@ private fun RBuilder.tabPanel(tab: PageTabs, selectedTab: PageTabs, block: RBuil external interface SceneEditorViewProps : Props { var sceneEditorClient: SceneEditorClient.Facade - var mapper: JsMapper var sceneManager: SceneManager.Facade + var mapperBuilder: JsMapperBuilder } fun RBuilder.sceneEditor(handler: RHandler) = diff --git a/src/jsMain/kotlin/baaahs/sim/FakeMediaDevices.kt b/src/jsMain/kotlin/baaahs/sim/FakeMediaDevices.kt index 7992d071c8..889775761f 100644 --- a/src/jsMain/kotlin/baaahs/sim/FakeMediaDevices.kt +++ b/src/jsMain/kotlin/baaahs/sim/FakeMediaDevices.kt @@ -7,10 +7,10 @@ import baaahs.imaging.WebGlImage import baaahs.visualizer.BaseVisualizer import baaahs.visualizer.Visualizer import js.objects.jso -import three.js.Camera -import three.js.PerspectiveCamera -import three.js.Scene -import three.js.WebGLRenderer +import three.Camera +import three.PerspectiveCamera +import three.Scene +import three.WebGLRenderer import web.gl.WebGLRenderingContext class FakeMediaDevices( diff --git a/src/jsMain/kotlin/baaahs/util/three/ThreeUtil.kt b/src/jsMain/kotlin/baaahs/util/three/ThreeUtil.kt index cf37795c8b..8c9d26bfe8 100644 --- a/src/jsMain/kotlin/baaahs/util/three/ThreeUtil.kt +++ b/src/jsMain/kotlin/baaahs/util/three/ThreeUtil.kt @@ -1,9 +1,8 @@ package baaahs.util.three -import three.js.Box3 -import three.js.Object3D -import three.js.PerspectiveCamera -import three.js.Vector3 +import three.* +import web.events.Event +import web.events.EventTarget import kotlin.math.abs import kotlin.math.tan @@ -38,3 +37,18 @@ fun Box3.addPadding(fractionalAmount: Double) { val padding = min.distanceTo(max) * fractionalAmount expandByScalar(padding) } + +fun Float32BufferAttribute.resize(count: Int): Float32BufferAttribute { + val oldSize = this.count * this.itemSize + val newArray = DoubleArray(count * itemSize) { i -> + if (i < oldSize) array[i] else 0.0 + } + return Float32BufferAttribute(newArray, itemSize) +} + +fun EventTarget.addEventListener(type: String, callback: (Event) -> Unit) { + asDynamic().addEventListener(type, callback) +} +fun EventTarget.removeEventListener(type: String, callback: (Event) -> Unit) { + asDynamic().removeEventListener(type, callback) +} diff --git a/src/jsMain/kotlin/baaahs/visualizer/BaseVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/BaseVisualizer.kt index fcb3414d9e..77faad9477 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/BaseVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/BaseVisualizer.kt @@ -6,18 +6,16 @@ import baaahs.model.ModelUnit import baaahs.util.Clock import baaahs.util.Framerate import baaahs.util.Logger +import baaahs.util.three.addEventListener import baaahs.window -import js.objects.jso import kotlinx.css.hyphenize -import three.js.* -import three_ext.OrbitControls -import three_ext.clear +import three.examples.jsm.controls.OrbitControls +import three.* import three_ext.set import web.events.Event import web.events.addEventListener import web.events.removeEventListener import web.html.HTMLCanvasElement -import web.html.HTMLElement import web.timers.Timeout import web.timers.clearTimeout import web.timers.setTimeout @@ -74,7 +72,7 @@ open class BaseVisualizer( } } - protected val realScene = Scene().apply { autoUpdate = false } + protected val realScene = Scene().apply { matrixWorldAutoUpdate = false } protected val scene = Group().also { realScene.add(it) } protected var sceneNeedsUpdate = true protected var fitCamera = true @@ -131,7 +129,7 @@ open class BaseVisualizer( private val raycaster = Raycaster() - private var originDot: Mesh? = null + private var originDot: Mesh? = null protected var selectedObject: Object3D? = null set(value) { @@ -182,7 +180,7 @@ open class BaseVisualizer( } originDot = Mesh( - SphereBufferGeometry(units.fromCm(1f), 16, 16), + SphereGeometry(units.fromCm(1f), 16, 16), MeshBasicMaterial().apply { color.set(0xff0000) opacity = .25 @@ -218,7 +216,7 @@ open class BaseVisualizer( val fovh = 2* atan(tan(fov / 2) * camera.aspect.toDouble()) val dx = size.z / 2 + abs(size.x / 2 / tan(fovh / 2)) val dy = size.z / 2 + abs(size.y / 2 / tan(fov / 2)) - var cameraZ = max(dx, dy) + val cameraZ = max(dx, dy) camera.zoom = zoom @@ -283,7 +281,7 @@ open class BaseVisualizer( } } - protected open fun onObjectClick(intersections: List) { + protected open fun onObjectClick(intersections: List>) { intersections.firstOrNull()?.let { intersection -> val obj = intersection.`object` console.log("Found intersection with ${obj.name} at ${intersection.distance}.") @@ -366,7 +364,7 @@ open class BaseVisualizer( private val resizeDelay = 100 fun resize() { - (canvas.parentElement as? HTMLElement)?.let { parent -> + canvas.parentElement?.let { parent -> canvas.width = parent.offsetWidth canvas.height = parent.offsetHeight @@ -405,14 +403,17 @@ open class BaseVisualizer( } fun Object3D.dispatchEvent(eventType: EventType) { - dispatchEvent(jso { type = eventType.name.hyphenize().lowercase() }) + dispatchEvent(Event(eventType.type)) } enum class EventType { Select, Deselect, Click, - Transform + Transform; + + val type: web.events.EventType + get() = web.events.EventType(name.hyphenize().lowercase()) } companion object { diff --git a/src/jsMain/kotlin/baaahs/visualizer/EntityGroupVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/EntityGroupVisualizer.kt index 97bd4c1f1f..489e184510 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/EntityGroupVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/EntityGroupVisualizer.kt @@ -3,7 +3,7 @@ package baaahs.visualizer import baaahs.model.ImportedEntityGroup import baaahs.model.Model import baaahs.util.three.addPadding -import three.js.* +import three.* import three_ext.expandByObjectLocal class EntityGroupVisualizer( diff --git a/src/jsMain/kotlin/baaahs/visualizer/EntityStyle.kt b/src/jsMain/kotlin/baaahs/visualizer/EntityStyle.kt index 4217e6ea6c..080d28b5f2 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/EntityStyle.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/EntityStyle.kt @@ -1,6 +1,6 @@ package baaahs.visualizer -import three.js.* +import three.* val Material.color: Color get() = when (this) { diff --git a/src/jsMain/kotlin/baaahs/visualizer/LightBarVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/LightBarVisualizer.kt index 0d06cede6e..dcdcceac90 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/LightBarVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/LightBarVisualizer.kt @@ -7,7 +7,7 @@ import baaahs.model.ModelUnit import baaahs.model.PixelArray import baaahs.model.PolyLine import baaahs.util.three.addPadding -import three.js.* +import three.* import three_ext.clear import three_ext.plus import three_ext.set @@ -186,7 +186,7 @@ abstract class PixelArrayVisualizer( obj.add(containerOutline) obj.add(containerMesh) obj.add(strandGroup) - obj.add(pixelsPreview) + obj.add(pixelsPreview.points) vizPixels?.addTo(obj) strandGroup.clear() @@ -208,8 +208,8 @@ abstract class PixelArrayVisualizer( arrowSize, arrowSize ).apply { - line.material = strandMaterial - cone.material = strandHintMaterial + line.asDynamic().material = strandMaterial + cone.asDynamic().material = strandHintMaterial } ) } @@ -223,8 +223,8 @@ abstract class PixelArrayVisualizer( arrowSize, arrowSize ).apply { - line.material = strandMaterial - cone.material = strandHintMaterial + line.asDynamic().material = strandMaterial + cone.asDynamic().material = strandHintMaterial } ) lastEndVertex = segment.endVertex diff --git a/src/jsMain/kotlin/baaahs/visualizer/LightRingVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/LightRingVisualizer.kt index c66895fe7b..9057dcbc15 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/LightRingVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/LightRingVisualizer.kt @@ -5,8 +5,7 @@ import baaahs.fixtures.FixtureConfig import baaahs.io.ByteArrayReader import baaahs.model.LightRing import baaahs.sim.LightBarSimulation -import three.js.* -import three_ext.clear +import three.* class LightRingVisualizer( lightRing: LightRing, @@ -58,7 +57,7 @@ class LightRingVisualizer( obj.clear() obj.add(ringMesh) - obj.add(pixelsPreview) + obj.add(pixelsPreview.points) vizPixels?.addTo(obj) val pixelLocations = newItem.calculatePixelLocalLocations(pixelCount_UNKNOWN_BUSTED) diff --git a/src/jsMain/kotlin/baaahs/visualizer/ModelVisualEditor.kt b/src/jsMain/kotlin/baaahs/visualizer/ModelVisualEditor.kt index 3a002be085..d64da84348 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/ModelVisualEditor.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/ModelVisualEditor.kt @@ -7,11 +7,10 @@ import baaahs.model.ModelData import baaahs.scene.EditingEntity import baaahs.scene.MutableModel import baaahs.util.Clock -import three.js.Group -import three.js.Object3D -import three_ext.OrbitControls -import three_ext.TransformControls -import three_ext.clear +import baaahs.util.three.addEventListener +import three.examples.jsm.controls.TransformControls +import three.Group +import three.Object3D import three_ext.toVector3F import web.dom.observers.IntersectionObserver @@ -23,10 +22,6 @@ class ModelVisualEditor( ) : BaseVisualizer(clock) { override val facade = Facade() - init { - realScene.autoUpdate = true - } - private var modelData: ModelData = mutableModel.build() var model: Model = modelData.open() private set @@ -82,7 +77,7 @@ class ModelVisualEditor( } val orbitControls = findExtension(OrbitControlsExtension::class).orbitControls - transformControls.addEventListener("dragging-changed") { + transformControls.addEventListener("dragging-changed") { e -> val isDragging = transformControls.dragging orbitControls.enabled = !isDragging diff --git a/src/jsMain/kotlin/baaahs/visualizer/PixelsPreview.kt b/src/jsMain/kotlin/baaahs/visualizer/PixelsPreview.kt index e567d99a4b..21aae46a31 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/PixelsPreview.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/PixelsPreview.kt @@ -1,16 +1,15 @@ package baaahs.visualizer -import three.js.BufferGeometry -import three.js.Points -import three.js.PointsMaterial -import three.js.Vector3 +import three.* + +class PixelsPreview { + val points = Points(BufferGeometry(), EntityStyle.pointsMaterial()) -class PixelsPreview : Points(BufferGeometry(), EntityStyle.pointsMaterial()) { fun applyStyle(entityStyle: EntityStyle) { - entityStyle.applyToPoints(material, EntityStyle.Use.Pixel) + entityStyle.applyToPoints(points.material, EntityStyle.Use.Pixel) } fun setLocations(pixelLocations: Array) { - geometry.setFromPoints(pixelLocations) + points.geometry.setFromPoints(pixelLocations) } } \ No newline at end of file diff --git a/src/jsMain/kotlin/baaahs/visualizer/SurfaceGeometry.kt b/src/jsMain/kotlin/baaahs/visualizer/SurfaceGeometry.kt index 67ab73f79d..ee53cb2a76 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/SurfaceGeometry.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/SurfaceGeometry.kt @@ -1,53 +1,135 @@ package baaahs.visualizer +import baaahs.geom.Vector3F import baaahs.model.Model -import three.js.* +import three.* +import three_ext.vector3FacingForward class SurfaceGeometry(val surface: Model.Surface) { val name = surface.name - internal val geometry = Geometry() - var area = 0.0f + internal val geometry = BufferGeometry() + internal val faceInfos: List + val area: Double var panelNormal: Vector3 val isMultiFaced: Boolean - internal var edgeNeighbors: Map> + internal val edgeNeighbors: EdgeNeighbors val lines = surface.lines init { val panelGeometry = this.geometry - val panelVertices = mutableListOf() - val faceAreas = mutableListOf() - panelGeometry.faces = surface.faces.map { face -> - val localVerts = face.vertices.map { v -> panelVertices.findOrAdd(v.toVector3()) } + val vertexIds = mutableMapOf() + faceInfos = surface.faces.mapIndexed { index, face -> + // Make sure we have a unique id for each vertex. + val vertexIds = face.vertices.map { vertex -> + vertexIds.getOrPut(vertex) { vertexIds.size } + } + + FaceInfo( + index, + face.a.toVector3(), face.b.toVector3(), face.c.toVector3(), + vertexIds[0], vertexIds[1], vertexIds[2] + ) + } - val faceArea = Triangle( - face.a.toVector3(), face.b.toVector3(), face.c.toVector3() - ).getArea().toFloat() - faceAreas.add(faceArea) - this.area += faceArea + panelGeometry.setFromPoints(faceInfos.flatMap { it.allVertices }.toTypedArray()) + panelGeometry.computeVertexNormals() - Face3(localVerts[0], localVerts[1], localVerts[2], Vector3(), Color(1, 1, 1), 0) - }.toTypedArray() - panelGeometry.vertices = panelVertices.toTypedArray() + area = faceInfos.sumOf { it.area } + isMultiFaced = faceInfos.size > 1 + + panelNormal = faceInfos.fold(Vector3()) { acc, faceInfo -> + acc.addScaledVector(faceInfo.normal, faceInfo.area) + }.divideScalar(area) + + this.edgeNeighbors = EdgeNeighbors(faceInfos) + } +} + +class FaceInfo( + val index: Int, + a: Vector3, + b: Vector3, + c: Vector3, + aId: Int, + bId: Int, + cId: Int +) { + val triangle = Triangle(a, b, c) + val area = triangle.getArea() + val normal = triangle.getNormal(Vector3()) + val allVertices = listOf(a, b, c) + val segments = arrayOf( + LineSegment(a, b, aId, bId), + LineSegment(b, c, bId, cId), + LineSegment(c, a, cId, aId) + ) + + private val rotateToFlatMatrix = run { + quaternion.setFromUnitVectors(normal, vector3FacingForward) + Matrix4().makeRotationFromQuaternion(quaternion) + } + + private val rotateFromFlatMatrix = run { + quaternion.setFromUnitVectors(vector3FacingForward, normal) + Matrix4().makeRotationFromQuaternion(quaternion) + } - isMultiFaced = panelGeometry.faces.size > 1 + val flatTriangle = Triangle( + a.clone().applyMatrix4(rotateToFlatMatrix), + b.clone().applyMatrix4(rotateToFlatMatrix), + c.clone().applyMatrix4(rotateToFlatMatrix) + ) - panelGeometry.computeFaceNormals() - val faceNormalSum = Vector3() - panelGeometry.faces.forEachIndexed { index, face -> - val faceArea = faceAreas[index] - faceNormalSum.addScaledVector(face.normal, faceArea.toDouble()) + /** Mutates and returns input vector. */ + fun facingForward(point: Vector3): Vector3 = + point.applyMatrix4(rotateToFlatMatrix) + + /** Mutates and returns input vector. */ + fun backToWorld(point: Vector3): Vector3 = + point.applyMatrix4(rotateFromFlatMatrix) + + /** Finds the edge closest to v. */ + fun findNearestSegment(v: Vector3): LineSegment? { + var closestEdge: LineSegment? = null + var bestDistance = Float.POSITIVE_INFINITY + segments.forEach { edgeSegment -> + val closestPointOnEdge = Vector3() + edgeSegment.line.closestPointToPoint(v, true, closestPointOnEdge) + val thisDistance = closestPointOnEdge.distanceTo(v).toFloat() + if (thisDistance < bestDistance) { + closestEdge = edgeSegment + bestDistance = thisDistance + } } - panelNormal = faceNormalSum.divideScalar(area.toDouble()) - - val edgeNeighbors = mutableMapOf>() - panelGeometry.faces.forEach { face -> - face.segments().forEach { vs -> - val vsKey = vs.asKey() - val neighbors = edgeNeighbors.getOrPut(vsKey) { mutableListOf() } - neighbors.add(face) + return closestEdge + } + + class LineSegment( + val start: Vector3, val end: Vector3, + val startId: Int, val endId: Int + ) { + val line = Line3(start, end) + val key = arrayOf(startId, endId).sorted().joinToString("-") + } + + companion object { + private val quaternion = Quaternion() + } +} + +class EdgeNeighbors(faceInfos: List) { + val byLineSegment: Map> = run { + mutableMapOf>().also { map -> + faceInfos.forEach { faceInfo -> + faceInfo.segments.forEach { segment -> + map.getOrPut(segment.key) { mutableListOf() } + .add(faceInfo) + } } } - this.edgeNeighbors = edgeNeighbors } + + fun find(segment: FaceInfo.LineSegment): List = + byLineSegment[segment.key] ?: emptyList() } \ No newline at end of file diff --git a/src/jsMain/kotlin/baaahs/visualizer/SurfaceVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/SurfaceVisualizer.kt index 1606fd20b6..4a4c3da5cb 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/SurfaceVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/SurfaceVisualizer.kt @@ -4,7 +4,7 @@ import baaahs.device.PixelArrayDevice import baaahs.fixtures.FixtureConfig import baaahs.io.ByteArrayReader import baaahs.model.Model -import three.js.* +import three.* class SurfaceVisualizer( private val surface: Model.Surface, @@ -18,8 +18,8 @@ class SurfaceVisualizer( private val lineMaterial = LineDashedMaterial() private val lines: List> = surfaceGeometry.lines.map { line -> - val lineGeo = Geometry() - lineGeo.vertices = line.vertices.map { pt -> pt.toVector3() }.toTypedArray() + val lineGeo = BufferGeometry() + lineGeo.setFromPoints(line.vertices.map { pt -> pt.toVector3() }.toTypedArray()) Line(lineGeo, lineMaterial).apply { matrixAutoUpdate = false mesh.add(this) @@ -27,7 +27,7 @@ class SurfaceVisualizer( } val panelNormal: Vector3 get() = surfaceGeometry.panelNormal - val geometry: Geometry get() = surfaceGeometry.geometry + val geometry: BufferGeometry get() = surfaceGeometry.geometry var vizPixels: VizPixels? = vizPixels set(value) { field?.removeFrom(obj) diff --git a/src/jsMain/kotlin/baaahs/visualizer/SwirlyPixelArranger.kt b/src/jsMain/kotlin/baaahs/visualizer/SwirlyPixelArranger.kt index 096f56beb4..34b40dc0a5 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/SwirlyPixelArranger.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/SwirlyPixelArranger.kt @@ -2,8 +2,7 @@ package baaahs.visualizer import baaahs.SparkleMotion import baaahs.geom.Vector2F -import three.js.* -import three_ext.Matrix4 +import three.* import kotlin.math.* import kotlin.random.Random @@ -18,35 +17,24 @@ class SwirlyPixelArranger( override fun arrangePixels(surfaceGeometry: SurfaceGeometry, pixelCount: Int?): Array = Arranger(surfaceGeometry, pixelCount).arrangePixels() - private inner class Arranger(surfaceGeometry: SurfaceGeometry, pixelCount: Int? = null) { + private inner class Arranger( + private val surfaceGeometry: SurfaceGeometry, + pixelCount: Int? = null + ) { private val pixelCount = pixelCount ?: min(SparkleMotion.MAX_PIXEL_COUNT, floor(surfaceGeometry.area * pixelDensity).toInt()) - private val panelGeometry = surfaceGeometry.geometry.clone() - private val vertices = panelGeometry.vertices private val isMultiFaced = surfaceGeometry.isMultiFaced private val edgeNeighbors = surfaceGeometry.edgeNeighbors fun arrangePixels(): Array { - panelGeometry.computeFaceNormals() - - val pixelsGeometry = Geometry() - - val quaternion = Quaternion() - - val panelFaces = panelGeometry.faces + val panelFaces = surfaceGeometry.faceInfos var curFace = panelFaces[0] - var revertToNormal = curFace.normal.clone() - val facingForward = three_ext.vector3FacingForward - quaternion.setFromUnitVectors(curFace.normal, facingForward) - val matrix = Matrix4() - matrix.makeRotationFromQuaternion(quaternion) - panelGeometry.applyMatrix4(matrix) - pixelsGeometry.applyMatrix4(matrix) - val pos = randomLocation(curFace, vertices) - val nextPos = Vector3() + val pixelFlatPos = randomLocation(curFace.flatTriangle) + val nextPixelFlatPos = Vector3() - pixelsGeometry.vertices.asDynamic().push(pos.clone()) + val pixelPositions = mutableListOf() + pixelPositions.add(pixelFlatPos.clone()) var tries = 1000 var angleRad = Random.nextFloat() * 2 * PI @@ -54,38 +42,30 @@ class SwirlyPixelArranger( var pixelsSinceEdge = 0 var pixelI = 1 while (pixelI < pixelCount) { - nextPos.x = pos.x + pixelSpacing * sin(angleRad) - nextPos.y = pos.y + pixelSpacing * cos(angleRad) - nextPos.z = pos.z + nextPixelFlatPos.x = pixelFlatPos.x + pixelSpacing * sin(angleRad) + nextPixelFlatPos.y = pixelFlatPos.y + pixelSpacing * cos(angleRad) + nextPixelFlatPos.z = pixelFlatPos.z // console.log("cur face: ", this.faceVs(curFace, panelGeometry)) - if (!isInsideFace(curFace, nextPos)) { - val newFace = getFaceForPoint(curFace, nextPos) + if (!isInside(curFace.flatTriangle, nextPixelFlatPos)) { + val nextPixelPos = curFace.backToWorld(nextPixelFlatPos.clone()) + val newFace = getFaceForPoint(curFace, nextPixelPos) if (newFace != null) { - // console.log("moving from", curFace, "to", newFace) - // console.log("prior face vs:", this.faceVs(curFace, panelGeometry)) - - quaternion.setFromUnitVectors(facingForward, revertToNormal) - matrix.makeRotationFromQuaternion(quaternion) - panelGeometry.applyMatrix4(matrix) - pixelsGeometry.applyMatrix4(matrix) - nextPos.applyMatrix4(matrix) +// fun Vector3.asString() = "(${x.toString().substring(0, 5)}, ${y.toString().substring(0, 5)}, ${z.toString().substring(0, 5)})" +// console.log("moving from face ", curFace.index, "to", newFace.index, " of ", surfaceGeometry.faceInfos.size) +// console.log("from normal ", curFace.normal.asString(), " to ", newFace.normal.asString()) curFace = newFace - revertToNormal = curFace.normal.clone() - quaternion.setFromUnitVectors(curFace.normal, facingForward) - matrix.makeRotationFromQuaternion(quaternion) - panelGeometry.applyMatrix4(matrix) - pixelsGeometry.applyMatrix4(matrix) - // console.log("pos was", nextPos) - nextPos.applyMatrix4(matrix) - // console.log("pos is now", nextPos) - // console.log("new face vs:", this.faceVs(newFace, panelGeometry)) - nextPos.z = panelGeometry.vertices[newFace.a].z - if (!isInsideFace(curFace, nextPos)) { + nextPixelFlatPos.copy(nextPixelPos) + newFace.facingForward(nextPixelFlatPos) + + // Move it to be directly on the face. + nextPixelFlatPos.z = curFace.flatTriangle.a.z + + if (!isInside(curFace.flatTriangle, nextPixelFlatPos)) { // console.log(nextPos, "is not in", this.faceVs(curFace, panelGeometry)) - nextPos.copy(randomLocation(curFace, vertices)) + nextPixelFlatPos.copy(randomLocation(curFace.flatTriangle)) } else { // console.log("AWESOME", nextPos, "is in", this.faceVs(curFace, panelGeometry)) } @@ -98,7 +78,7 @@ class SwirlyPixelArranger( } // console.log("pixel z = ", nextPos.z) - pixelsGeometry.vertices.asDynamic().push(nextPos.clone()) + pixelPositions.add(curFace.backToWorld(nextPixelFlatPos.clone())) angleRad += angleRadDelta angleRadDelta *= 1 - Random.nextFloat() * 0.2 + 0.1 @@ -109,38 +89,28 @@ class SwirlyPixelArranger( angleRadDelta = Random.nextFloat() * 0.5 - 0.5 pixelsSinceEdge = 0 } - pos.copy(nextPos) + pixelFlatPos.copy(nextPixelFlatPos) pixelsSinceEdge++ pixelI++ } - quaternion.setFromUnitVectors(facingForward, revertToNormal) - matrix.makeRotationFromQuaternion(quaternion) - panelGeometry.applyMatrix4(matrix) - pixelsGeometry.applyMatrix4(matrix) - - return pixelsGeometry.vertices + curFace.backToWorld(pixelFlatPos) + return pixelPositions.toTypedArray() } - fun randomLocation(face: Face3, vertices: Array): Vector3 { - val v = Vector3().copy(vertices[face.a]) - v.addScaledVector(Vector3().copy(vertices[face.b]).sub(v), Random.nextFloat()) - v.addScaledVector(Vector3().copy(vertices[face.c]).sub(v), Random.nextFloat()) + fun randomLocation(triangle: Triangle): Vector3 { + val v = Vector3().copy(triangle.a) + v.addScaledVector(Vector3().copy(triangle.b).sub(v), Random.nextFloat()) + v.addScaledVector(Vector3().copy(triangle.c).sub(v), Random.nextFloat()) return v } - fun isInsideFace(curFace: Face3, v: Vector3): Boolean { - val vertices = panelGeometry.vertices - + fun isInside(triangle: Triangle, v: Vector3): Boolean { return isInside( xy(v), - arrayOf( - xy(vertices[curFace.a]), - xy(vertices[curFace.b]), - xy(vertices[curFace.c]) - ) + arrayOf(xy(triangle.a), xy(triangle.b), xy(triangle.c)) ) } @@ -175,38 +145,24 @@ class SwirlyPixelArranger( fun xy(v: Vector3) = Vector2F(v.x.toFloat(), v.y.toFloat()) // we've tried to add a pixel that's not inside curFace; figure out which face it corresponds to... - internal fun getFaceForPoint(curFace: Face3, v: Vector3): Face3? { + fun getFaceForPoint(curFace: FaceInfo, v: Vector3): FaceInfo? { if (isMultiFaced) { - val vertices = panelGeometry.vertices - - // find the edge closest to v... - var closestEdge = arrayOf(-1, -1) - var bestDistance = Float.POSITIVE_INFINITY - curFace.segments().forEach { edgeVs -> - val closestPointOnEdge = Vector3() - val v0 = edgeVs[0] - val v1 = edgeVs[1] - Line3(vertices[v0], vertices[v1]).closestPointToPoint(v, true, closestPointOnEdge) - val thisDistance = closestPointOnEdge.distanceTo(v).toFloat() - if (thisDistance < bestDistance) { - closestEdge = edgeVs - bestDistance = thisDistance - } - } - - val edgeId = closestEdge.asKey() + val closestEdge = curFace.findNearestSegment(v) // console.log("Closest edge to", v, "is", edgeId, this.edgeNeighbors[edgeId]) - val neighbors = edgeNeighbors[edgeId] - val neighbor = neighbors?.filter { f -> f !== curFace } ?: emptyList() - if (neighbor.size == 0) { + val neighbors = closestEdge + ?.let { edgeNeighbors.find(it) } + ?.filter { face -> face !== curFace } + ?: emptyList() + + if (neighbors.isEmpty()) { return null - } else if (neighbor.size > 1) { + } else if (neighbors.size > 1) { // console.warn("Found multiple neighbors for ", this.panel.name, " edge ", edgeId, ": ", neighbors) } // console.log("Face for ", v, "is", edgeId, neighbor[0]) - return neighbor[0] + return neighbors[0] } return null } diff --git a/src/jsMain/kotlin/baaahs/visualizer/Visualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/Visualizer.kt index f37ef46bbe..a0c4790042 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/Visualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/Visualizer.kt @@ -2,7 +2,7 @@ package baaahs.visualizer import baaahs.document import baaahs.util.Clock -import three.js.Object3D +import three.Object3D import web.html.HTMLElement import web.html.HTMLSpanElement diff --git a/src/jsMain/kotlin/baaahs/visualizer/VizObj.kt b/src/jsMain/kotlin/baaahs/visualizer/VizObj.kt index ac31a3b24e..62f4241b3d 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/VizObj.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/VizObj.kt @@ -1,5 +1,5 @@ package baaahs.visualizer -import three.js.Object3D +import three.Object3D -actual typealias VizObj = Object3D \ No newline at end of file +actual typealias VizObj = Object3D diff --git a/src/jsMain/kotlin/baaahs/visualizer/VizPixels.kt b/src/jsMain/kotlin/baaahs/visualizer/VizPixels.kt index 5fe5027d92..4bcefbaa5d 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/VizPixels.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/VizPixels.kt @@ -14,9 +14,10 @@ import kotlinx.coroutines.delay import org.khronos.webgl.Float32Array import org.khronos.webgl.get import org.khronos.webgl.set -import three.js.* -import three_ext.* -import three_ext.Matrix4 +import three.examples.jsm.utils.mergeGeometries +import three.* +import three_ext.minus +import three_ext.vector3FacingForward import kotlin.math.max import kotlin.math.min import kotlin.random.Random @@ -31,15 +32,17 @@ class VizPixels( private val bothSides: Boolean = false ) : Pixels { override val size = positions.size - private val vertexColorBufferAttr = Float32BufferAttribute(Float32Array(size * 3 * 4), 3).apply { - usage = DynamicDrawUsage - } + private val vertexColorBufferAttr = + Float32BufferAttribute(Float32Array(size * 3 * 4).buffer, 3).apply { + usage = DynamicDrawUsage + } private val colorsAsInts = IntArray(size) // store colors as an int array too for Pixels.get() private val pixelsMesh = Mesh(BufferGeometry(), MeshBasicMaterial().apply { name = "VizPixels" side = if (bothSides) DoubleSide else FrontSide transparent = true + opacity = .3333 blending = AdditiveBlending // depthFunc = AlwaysDepth depthTest = false @@ -57,14 +60,14 @@ class VizPixels( val pixelPlaneGeometries = positions.map { position -> val pixelWidth = pixelSizeRange.interpolate(Random.nextFloat()) val pixelHeight = pixelSizeRange.interpolate(Random.nextFloat()) - PlaneBufferGeometry(pixelWidth, pixelHeight).apply { + PlaneGeometry(pixelWidth, pixelHeight).apply { rotator.rotate(this) translate(position.x, position.y, position.z) } } pixelsMesh.geometry = - BufferGeometryUtils.mergeBufferGeometries( + mergeGeometries( pixelPlaneGeometries.toTypedArray() ).apply { setAttribute("color", vertexColorBufferAttr) @@ -121,7 +124,7 @@ class VizPixels( fun getPixelLocationsInPanelSpace(surfaceVisualizer: SurfaceVisualizer): Array { val panelGeom = surfaceVisualizer.geometry.clone() - val pixGeometry = BufferGeometry() + val pixGeometry = BufferGeometry() val positionsArray = Float32Array(size * 3) positions.forEachIndexed { i, v -> positionsArray[i * 3] = v.x.toFloat() @@ -129,7 +132,7 @@ class VizPixels( positionsArray[i * 3 + 2] = v.z.toFloat() } - val positionsBufferAttr = Float32BufferAttribute(positionsArray, 3) + val positionsBufferAttr = Float32BufferAttribute(positionsArray.buffer, 3) pixGeometry.setAttribute("position", positionsBufferAttr) val pixGeom = pixGeometry.clone() @@ -156,7 +159,7 @@ class VizPixels( pixGeom.applyMatrix4(scale) val pixelVs = mutableListOf() - val pixelPositions = pixGeom.getAttribute("position") + val pixelPositions = pixGeom.getAttribute("position") as Float32BufferAttribute val array = pixelPositions.array as Float32Array for (i in 0 until array.length step 3) { val v = Vector2(clamp(array[i]).toDouble(), clamp(array[i + 1]).toDouble()) diff --git a/src/jsMain/kotlin/baaahs/visualizer/movers/Beam.kt b/src/jsMain/kotlin/baaahs/visualizer/movers/Beam.kt index da399df71e..280b2a3906 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/movers/Beam.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/movers/Beam.kt @@ -3,8 +3,8 @@ package baaahs.visualizer.movers import baaahs.model.ModelUnit import baaahs.model.MovingHead import baaahs.model.MovingHeadAdapter -import three.js.Group -import three.js.Object3D +import three.Group +import three.Object3D interface Beam { val vizObj: Object3D diff --git a/src/jsMain/kotlin/baaahs/visualizer/movers/Cone.kt b/src/jsMain/kotlin/baaahs/visualizer/movers/Cone.kt index 8725aacf52..cd8de2b8bc 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/movers/Cone.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/movers/Cone.kt @@ -5,7 +5,7 @@ import baaahs.model.ModelUnit import baaahs.model.MovingHeadAdapter import baaahs.visualizer.VizObj import baaahs.visualizer.toVector3 -import three.js.* +import three.* import three_ext.toVector3F import kotlin.math.PI diff --git a/src/jsMain/kotlin/baaahs/visualizer/movers/MovingHeadVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/movers/MovingHeadVisualizer.kt index cc51ae22e7..b3176499c3 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/movers/MovingHeadVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/movers/MovingHeadVisualizer.kt @@ -7,8 +7,8 @@ import baaahs.util.Clock import baaahs.visualizer.BaseEntityVisualizer import baaahs.visualizer.EntityAdapter import baaahs.visualizer.EntityStyle -import three.js.Group -import three.js.Object3D +import three.Group +import three.Object3D import three_ext.clear class MovingHeadVisualizer( diff --git a/src/jsMain/kotlin/baaahs/visualizer/movers/SharpyVisualizer.kt b/src/jsMain/kotlin/baaahs/visualizer/movers/SharpyVisualizer.kt index e463309014..f67e4faadb 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/movers/SharpyVisualizer.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/movers/SharpyVisualizer.kt @@ -5,7 +5,7 @@ import baaahs.model.MovingHeadAdapter import baaahs.visualizer.EntityStyle import baaahs.visualizer.ignoreForCameraFit import js.objects.jso -import three.js.* +import three.* import kotlin.math.PI class SharpyVisualizer( @@ -22,7 +22,7 @@ class SharpyVisualizer( private val rightArm = Mesh(BoxGeometry(), sharpyMaterial).also { armature.add(it) } private val armBase = Mesh(BoxGeometry(), sharpyMaterial).also { armature.add(it) } - private val can = Mesh(CylinderBufferGeometry(), sharpyMaterial).also { armature.add(it) } + private val can = Mesh(CylinderGeometry(), sharpyMaterial).also { armature.add(it) } private val beam = Beam.selectFor(adapter, units).also { can.add(it.vizObj) } .also { it.vizObj.ignoreForCameraFit() } @@ -35,7 +35,7 @@ class SharpyVisualizer( updateGeometry(adapter.visualizerInfo) // Ideal beam; where the moving head would be pointing if it weren't for physics. - Line(BufferGeometry().apply { + Line(BufferGeometry().apply { setFromPoints(arrayOf(Vector3(0, 0, 0), Vector3(0, 4000.cm, 0))) }, LineDashedMaterial(jso { color = 0xff7700 @@ -55,7 +55,7 @@ class SharpyVisualizer( val canRadius = visualizerInfo.canRadius.cm val canLength = visualizerInfo.canLength.cm - can.geometry = CylinderBufferGeometry(canRadius, canRadius, canLength) + can.geometry = CylinderGeometry(canRadius, canRadius, canLength) // TODO: All dimensions should be expressed in cm, then converted to the model's units. val narrowGap = 1.cm diff --git a/src/jsMain/kotlin/baaahs/visualizer/util.kt b/src/jsMain/kotlin/baaahs/visualizer/util.kt index f90ec1f48b..2552d97c60 100644 --- a/src/jsMain/kotlin/baaahs/visualizer/util.kt +++ b/src/jsMain/kotlin/baaahs/visualizer/util.kt @@ -1,11 +1,7 @@ package baaahs.visualizer import baaahs.geom.Vector3F -import three.js.* -import three_ext.Matrix4 - -fun Face3.segments() = arrayOf(arrayOf(a, b), arrayOf(b, c), arrayOf(c, a)) -fun Array.asKey() = sorted().joinToString("-") +import three.* class Rotator(val from: Vector3, val to: Vector3) { private val quaternion = Quaternion() @@ -16,11 +12,7 @@ class Rotator(val from: Vector3, val to: Vector3) { matrix.makeRotationFromQuaternion(quaternion) } - fun rotate(vararg geoms: Geometry) { - geoms.forEach { it.applyMatrix4(matrix) } - } - - fun rotate(vararg geoms: BufferGeometry) { + fun rotate(vararg geoms: BufferGeometry<*>) { geoms.forEach { it.applyMatrix4(matrix) } } @@ -47,7 +39,7 @@ fun MutableList.findOrAdd(value: T): Int { fun Vector3F.toVector3(): Vector3 = Vector3(x, y, z) var Object3D.boundsForCameraFit: Box3? - get() = this.userData.asDynamic().boundsForCameraFit as Box3? + get() = this.userData.asDynamic().boundsForCameraFit as? Box3? set(value) { this.userData.asDynamic().boundsForCameraFit = value } var Object3D.ignoreChildrenForCameraFit: Boolean @@ -67,14 +59,14 @@ fun Box3.expandByObjectForCameraFit(obj: Object3D) { obj.updateWorldMatrix(updateParents = false, updateChildren = false) - val b = obj.boundsForCameraFit ?: run { + obj.boundsForCameraFit ?: run { val geometry = obj.asDynamic().geometry if (geometry !== undefined) { if (geometry.boundingBox === null) { geometry.computeBoundingBox() } } - geometry?.boundingBox as Box3? + geometry?.boundingBox as? Box3? }?.let { boundingBox -> _box.copy(boundingBox) _box.applyMatrix4(obj.matrixWorld) diff --git a/src/jsMain/kotlin/three/AmbientLight.module_three.kt b/src/jsMain/kotlin/three/AmbientLight.module_three.kt deleted file mode 100644 index cb3014c13c..0000000000 --- a/src/jsMain/kotlin/three/AmbientLight.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AmbientLight : Light { - constructor(color: Color = definedExternally, intensity: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally) - override var type: String - override var castShadow: Boolean - open var isAmbientLight: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AmbientLightProbe.module_three.kt b/src/jsMain/kotlin/three/AmbientLightProbe.module_three.kt deleted file mode 100644 index f8a2a42e50..0000000000 --- a/src/jsMain/kotlin/three/AmbientLightProbe.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AmbientLightProbe : LightProbe { - constructor(color: Color = definedExternally, intensity: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally) - open var isAmbientLightProbe: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AnimationClip.module_three.kt b/src/jsMain/kotlin/three/AnimationClip.module_three.kt deleted file mode 100644 index bad9a33e36..0000000000 --- a/src/jsMain/kotlin/three/AnimationClip.module_three.kt +++ /dev/null @@ -1,27 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AnimationClip(name: String = definedExternally, duration: Number = definedExternally, tracks: Array = definedExternally, blendMode: AnimationBlendMode = definedExternally) { - open var name: String - open var tracks: Array - open var blendMode: AnimationBlendMode - open var duration: Number - open var uuid: String - open var results: Array - open fun resetDuration(): AnimationClip - open fun trim(): AnimationClip - open fun validate(): Boolean - open fun optimize(): AnimationClip - open fun clone(): AnimationClip - - companion object { - fun CreateFromMorphTargetSequence(name: String, morphTargetSequence: Array, fps: Number, noLoop: Boolean): AnimationClip - fun findByName(clipArray: Array, name: String): AnimationClip - fun CreateClipsFromMorphTargetSequences(morphTargets: Array, fps: Number, noLoop: Boolean): Array - fun parse(json: Any): AnimationClip - fun parseAnimation(animation: Any, bones: Array): AnimationClip - fun toJSON(): Any - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AnimationLoader.module_three.kt b/src/jsMain/kotlin/three/AnimationLoader.module_three.kt deleted file mode 100644 index 7c4518b0c2..0000000000 --- a/src/jsMain/kotlin/three/AnimationLoader.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class AnimationLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (response: Array) -> Unit, onProgress: (request: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) - open fun parse(json: Any): Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AnimationMixer.module_three.kt b/src/jsMain/kotlin/three/AnimationMixer.module_three.kt deleted file mode 100644 index 309852de76..0000000000 --- a/src/jsMain/kotlin/three/AnimationMixer.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AnimationMixer : EventDispatcher { - constructor(root: Object3D) - constructor(root: AnimationObjectGroup) - open var time: Number - open var timeScale: Number - open fun clipAction(clip: AnimationClip, root: Object3D = definedExternally, blendMode: AnimationBlendMode = definedExternally): AnimationAction - open fun clipAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally, blendMode: AnimationBlendMode = definedExternally): AnimationAction - open fun existingAction(clip: AnimationClip, root: Object3D = definedExternally): AnimationAction? - open fun existingAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally): AnimationAction? - open fun stopAllAction(): AnimationMixer - open fun update(deltaTime: Number): AnimationMixer - open fun setTime(timeInSeconds: Number): AnimationMixer - open fun getRoot(): dynamic /* Object3D | AnimationObjectGroup */ - open fun uncacheClip(clip: AnimationClip) - open fun uncacheRoot(root: Object3D) - open fun uncacheRoot(root: AnimationObjectGroup) - open fun uncacheAction(clip: AnimationClip, root: Object3D = definedExternally) - open fun uncacheAction(clip: AnimationClip, root: AnimationObjectGroup = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt b/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt deleted file mode 100644 index 268e60e93c..0000000000 --- a/src/jsMain/kotlin/three/AnimationObjectGroup.module_three.kt +++ /dev/null @@ -1,23 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$49` { - var total: Number - var inUse: Number -} - -external interface `T$50` { - var bindingsPerObject: Number - var objects: `T$49` -} - -open external class AnimationObjectGroup(vararg args: Any) { - open var uuid: String - open var stats: `T$50` - open var isAnimationObjectGroup: Boolean - open fun add(vararg args: Any) - open fun remove(vararg args: Any) - open fun uncache(vararg args: Any) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ArrowHelper.module_three.kt b/src/jsMain/kotlin/three/ArrowHelper.module_three.kt deleted file mode 100644 index 3bc0a97d14..0000000000 --- a/src/jsMain/kotlin/three/ArrowHelper.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class ArrowHelper(dir: Vector3, origin: Vector3 = definedExternally, length: Number = definedExternally, color: Number = definedExternally, headLength: Number = definedExternally, headWidth: Number = definedExternally) : Object3D { - override var type: String - open var line: Line - open var cone: Mesh - open fun setDirection(dir: Vector3) - open fun setLength(length: Number, headLength: Number = definedExternally, headWidth: Number = definedExternally) - open fun setColor(color: Color) - open fun setColor(color: String) - open fun setColor(color: Number) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt b/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt deleted file mode 100644 index 99168be551..0000000000 --- a/src/jsMain/kotlin/three/AudioAnalyser.module_three.kt +++ /dev/null @@ -1,14 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.Uint8Array - -open external class AudioAnalyser(audio: Audio, fftSize: Number = definedExternally) { - open var analyser: AnalyserNode - open var data: Uint8Array - open fun getFrequencyData(): Uint8Array - open fun getAverageFrequency(): Number - open fun getData(file: Any): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AudioListener.module_three.kt b/src/jsMain/kotlin/three/AudioListener.module_three.kt deleted file mode 100644 index f3414b2d01..0000000000 --- a/src/jsMain/kotlin/three/AudioListener.module_three.kt +++ /dev/null @@ -1,19 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AudioListener : Object3D { - override var type: String /* 'AudioListener' */ - open var context: AudioContext - open var gain: GainNode - open var filter: Any? - open var timeDelta: Number - open fun getInput(): GainNode - open fun removeFilter(): AudioListener /* this */ - open fun setFilter(value: Any): AudioListener /* this */ - open fun getFilter(): Any - open fun setMasterVolume(value: Number): AudioListener /* this */ - open fun getMasterVolume(): Number - override fun updateMatrixWorld(force: Boolean) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AudioLoader.module_three.kt b/src/jsMain/kotlin/three/AudioLoader.module_three.kt deleted file mode 100644 index 8cdf97dc93..0000000000 --- a/src/jsMain/kotlin/three/AudioLoader.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class AudioLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (audioBuffer: AudioBuffer) -> Unit, onProgress: (request: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/AxesHelper.module_three.kt b/src/jsMain/kotlin/three/AxesHelper.module_three.kt deleted file mode 100644 index 8dc7273411..0000000000 --- a/src/jsMain/kotlin/three/AxesHelper.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class AxesHelper(size: Number = definedExternally) : LineSegments { - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Bone.module_three.kt b/src/jsMain/kotlin/three/Bone.module_three.kt deleted file mode 100644 index 9c92da6661..0000000000 --- a/src/jsMain/kotlin/three/Bone.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Bone : Object3D { - open var isBone: Boolean - override var type: String /* 'Bone' */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Box3Helper.module_three.kt b/src/jsMain/kotlin/three/Box3Helper.module_three.kt deleted file mode 100644 index 83e5439db0..0000000000 --- a/src/jsMain/kotlin/three/Box3Helper.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Box3Helper(box: Box3, color: Color = definedExternally) : LineSegments { - override var type: String - open var box: Box3 -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BoxGeometry.module_three.kt b/src/jsMain/kotlin/three/BoxGeometry.module_three.kt deleted file mode 100644 index ec95ec9072..0000000000 --- a/src/jsMain/kotlin/three/BoxGeometry.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface BoxGeometryParameters { - var width: Number - var height: Number - var depth: Number - var widthSegments: Number - var heightSegments: Number - var depthSegments: Number -} - -open external class BoxGeometry(width: Number = definedExternally, height: Number = definedExternally, depth: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally, depthSegments: Number = definedExternally) : Geometry { - override var type: String - open var parameters: BoxGeometryParameters -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BoxHelper.module_three.kt b/src/jsMain/kotlin/three/BoxHelper.module_three.kt deleted file mode 100644 index 59d64d6ce3..0000000000 --- a/src/jsMain/kotlin/three/BoxHelper.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class BoxHelper : LineSegments { - constructor(obj: Object3D, color: Color = definedExternally) - constructor(obj: Object3D, color: String = definedExternally) - constructor(obj: Object3D, color: Number = definedExternally) - override var type: String - open fun update(obj: Object3D = definedExternally) - open fun setFromObject(obj: Object3D): BoxHelper /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BufferAttribute.module_three.kt b/src/jsMain/kotlin/three/BufferAttribute.module_three.kt deleted file mode 100644 index 813c9cd5bc..0000000000 --- a/src/jsMain/kotlin/three/BufferAttribute.module_three.kt +++ /dev/null @@ -1,84 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.ArrayBufferView - -external interface `T$1` { - var offset: Number - var count: Number -} - -external interface `T$2` { - var r: Number - var g: Number - var b: Number -} - -external interface `T$3` { - var x: Number - var y: Number -} - -external interface `T$4` { - var x: Number - var y: Number - var z: Number -} - -external interface `T$5` { - var x: Number - var y: Number - var z: Number - var w: Number -} - -external interface `T$6` { - var itemSize: Number - var type: String - var array: Array - var normalized: Boolean -} - -open external class BufferAttribute(array: ArrayLike, itemSize: Number, normalized: Boolean = definedExternally) { - open var name: String - open var array: ArrayLike - open var itemSize: Number - open var usage: Usage - open var updateRange: `T$1` - open var version: Number - open var normalized: Boolean - open var count: Number - open var isBufferAttribute: Boolean - open var onUploadCallback: () -> Unit - open var needsUpdate: Boolean - open fun onUpload(callback: () -> Unit): BufferAttribute /* this */ - open fun setUsage(usage: Usage): BufferAttribute /* this */ - open fun clone(): BufferAttribute - open fun copy(source: BufferAttribute): BufferAttribute /* this */ - open fun copyAt(index1: Number, attribute: BufferAttribute, index2: Number): BufferAttribute /* this */ - open fun copyArray(array: ArrayLike): BufferAttribute /* this */ - open fun copyColorsArray(colors: Array<`T$2`>): BufferAttribute /* this */ - open fun copyVector2sArray(vectors: Array<`T$3`>): BufferAttribute /* this */ - open fun copyVector3sArray(vectors: Array<`T$4`>): BufferAttribute /* this */ - open fun copyVector4sArray(vectors: Array<`T$5`>): BufferAttribute /* this */ - open fun applyMatrix3(m: Matrix3): BufferAttribute /* this */ - open fun applyMatrix4(m: Matrix4): BufferAttribute /* this */ - open fun applyNormalMatrix(m: Matrix3): BufferAttribute /* this */ - open fun transformDirection(m: Matrix4): BufferAttribute /* this */ - open fun set(value: ArrayLike, offset: Number = definedExternally): BufferAttribute /* this */ - open fun set(value: ArrayBufferView, offset: Number = definedExternally): BufferAttribute /* this */ - open fun getX(index: Number): Number - open fun setX(index: Number, x: Number): BufferAttribute /* this */ - open fun getY(index: Number): Number - open fun setY(index: Number, y: Number): BufferAttribute /* this */ - open fun getZ(index: Number): Number - open fun setZ(index: Number, z: Number): BufferAttribute /* this */ - open fun getW(index: Number): Number - open fun setW(index: Number, z: Number): BufferAttribute /* this */ - open fun setXY(index: Number, x: Number, y: Number): BufferAttribute /* this */ - open fun setXYZ(index: Number, x: Number, y: Number, z: Number): BufferAttribute /* this */ - open fun setXYZW(index: Number, x: Number, y: Number, z: Number, w: Number): BufferAttribute /* this */ - open fun toJSON(): `T$6` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BufferGeometry.module_three.kt b/src/jsMain/kotlin/three/BufferGeometry.module_three.kt deleted file mode 100644 index 5dcc211dc0..0000000000 --- a/src/jsMain/kotlin/three/BufferGeometry.module_three.kt +++ /dev/null @@ -1,99 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import kotlin.js.Json - -external interface `T$16` { - @nativeGetter - operator fun get(name: String): dynamic /* BufferAttribute? | InterleavedBufferAttribute? */ - @nativeSetter - operator fun set(name: String, value: BufferAttribute) - @nativeSetter - operator fun set(name: String, value: InterleavedBufferAttribute) -} - -external interface `T$17` { - @nativeGetter - operator fun get(name: String): Array? - @nativeSetter - operator fun set(name: String, value: Array) -} - -external interface `T$18` { - var start: Number - var count: Number - var materialIndex: Number? - get() = definedExternally - set(value) = definedExternally -} - -external interface `T$19` { - var start: Number - var count: Number -} - -open external class BufferGeometry : EventDispatcher { - open var id: Number - open var uuid: String - open var name: String - open var type: String - open var index: BufferAttribute? - open var attributes: `T$16` - open var morphAttributes: `T$17` - open var morphTargetsRelative: Boolean - open var groups: Array<`T$18`> - open var boundingBox: Box3? - open var boundingSphere: Sphere? - open var drawRange: `T$19` - open var userData: Json - open var isBufferGeometry: Boolean - open fun getIndex(): BufferAttribute? - open fun setIndex(index: BufferAttribute?) - open fun setIndex(index: Array?) - open fun setAttribute(name: String, attribute: BufferAttribute): BufferGeometry - open fun setAttribute(name: String, attribute: InterleavedBufferAttribute): BufferGeometry - open fun getAttribute(name: String): dynamic /* BufferAttribute | InterleavedBufferAttribute */ - open fun deleteAttribute(name: String): BufferGeometry - open fun addGroup(start: Number, count: Number, materialIndex: Number = definedExternally) - open fun clearGroups() - open fun setDrawRange(start: Number, count: Number) - open fun applyMatrix4(matrix: Matrix4): BufferGeometry - open fun rotateX(angle: Number): BufferGeometry - open fun rotateY(angle: Number): BufferGeometry - open fun rotateZ(angle: Number): BufferGeometry - open fun translate(x: Number, y: Number, z: Number): BufferGeometry - open fun scale(x: Number, y: Number, z: Number): BufferGeometry - open fun lookAt(v: Vector3) - open fun center(): BufferGeometry - open fun setFromObject(obj: Object3D): BufferGeometry - open fun setFromPoints(points: Array): BufferGeometry - open fun setFromPoints(points: Array): BufferGeometry - open fun updateFromObject(obj: Object3D) - open fun fromGeometry(geometry: Geometry, settings: Any = definedExternally): BufferGeometry - open fun fromDirectGeometry(geometry: DirectGeometry): BufferGeometry - open fun computeBoundingBox() - open fun computeBoundingSphere() - open fun computeVertexNormals() - open fun merge(geometry: BufferGeometry, offset: Number = definedExternally): BufferGeometry - open fun normalizeNormals() - open fun toNonIndexed(): BufferGeometry - open fun toJSON(): Any - open fun clone(): BufferGeometry /* this */ - open fun copy(source: BufferGeometry): BufferGeometry /* this */ - open fun dispose() - open var drawcalls: Any - open var offsets: Any - open fun addIndex(index: Any) - open fun addDrawCall(start: Any, count: Any, indexOffset: Any = definedExternally) - open fun clearDrawCalls() - open fun addAttribute(name: String, attribute: BufferAttribute): BufferGeometry - open fun addAttribute(name: String, attribute: InterleavedBufferAttribute): BufferGeometry - open fun removeAttribute(name: String): BufferGeometry - open fun addAttribute(name: Any, array: Any, itemSize: Any): Any - - companion object { - var MaxIndex: Number - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt b/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt deleted file mode 100644 index 058d8df2c2..0000000000 --- a/src/jsMain/kotlin/three/BufferGeometryLoader.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class BufferGeometryLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (bufferGeometry: dynamic /* InstancedBufferGeometry | BufferGeometry */) -> Unit, onProgress: (request: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) - open fun parse(json: Any): dynamic /* InstancedBufferGeometry | BufferGeometry */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Cache.Cache.module_three.kt b/src/jsMain/kotlin/three/Cache.Cache.module_three.kt deleted file mode 100644 index 6d1e4f9719..0000000000 --- a/src/jsMain/kotlin/three/Cache.Cache.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external var enabled: Boolean - -external var files: Any - -external fun add(key: String, file: Any) - -external fun get(key: String): Any - -external fun remove(key: String) - -external fun clear() \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Camera.module_three.kt b/src/jsMain/kotlin/three/Camera.module_three.kt deleted file mode 100644 index 5c4ce12e56..0000000000 --- a/src/jsMain/kotlin/three/Camera.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Camera : Object3D { - open var matrixWorldInverse: Matrix4 - open var projectionMatrix: Matrix4 - open var projectionMatrixInverse: Matrix4 - open var isCamera: Boolean - override fun getWorldDirection(target: Vector3): Vector3 - override fun updateMatrixWorld(force: Boolean) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CameraHelper.module_three.kt b/src/jsMain/kotlin/three/CameraHelper.module_three.kt deleted file mode 100644 index df3070090b..0000000000 --- a/src/jsMain/kotlin/three/CameraHelper.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$51` { - @nativeGetter - operator fun get(id: String): Array? - @nativeSetter - operator fun set(id: String, value: Array) -} - -open external class CameraHelper(camera: Camera) : LineSegments { - open var camera: Camera - open var pointMap: `T$51` - override var type: String - open fun update() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CanvasTexture.module_three.kt b/src/jsMain/kotlin/three/CanvasTexture.module_three.kt deleted file mode 100644 index 331c324c73..0000000000 --- a/src/jsMain/kotlin/three/CanvasTexture.module_three.kt +++ /dev/null @@ -1,14 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.HTMLCanvasElement -import org.w3c.dom.HTMLImageElement -import org.w3c.dom.HTMLVideoElement - -open external class CanvasTexture : Texture { - constructor(canvas: HTMLImageElement, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally) - constructor(canvas: HTMLCanvasElement, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally) - constructor(canvas: HTMLVideoElement, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CircleGeometry.module_three.kt b/src/jsMain/kotlin/three/CircleGeometry.module_three.kt deleted file mode 100644 index b6768ae21e..0000000000 --- a/src/jsMain/kotlin/three/CircleGeometry.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$40` { - var radius: Number - var segments: Number - var thetaStart: Number - var thetaLength: Number -} - -open external class CircleGeometry(radius: Number = definedExternally, segments: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$40` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Color.module_three.kt b/src/jsMain/kotlin/three/Color.module_three.kt deleted file mode 100644 index 76a8f674f0..0000000000 --- a/src/jsMain/kotlin/three/Color.module_three.kt +++ /dev/null @@ -1,59 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface HSL { - var h: Number - var s: Number - var l: Number -} - -open external class Color { - constructor(color: Color = definedExternally) - constructor(color: String = definedExternally) - constructor(color: Number = definedExternally) - constructor(r: Number, g: Number, b: Number) - open var isColor: Boolean - open var r: Double - open var g: Double - open var b: Double - open fun set(color: Color): Color - open fun set(color: String): Color - open fun set(color: Number): Color - open fun setScalar(scalar: Number): Color - open fun setHex(hex: Number): Color - open fun setRGB(r: Number, g: Number, b: Number): Color - open fun setHSL(h: Number, s: Number, l: Number): Color - open fun setStyle(style: String): Color - open fun setColorName(style: String): Color - open fun clone(): Color /* this */ - open fun copy(color: Color): Color /* this */ - open fun copyGammaToLinear(color: Color, gammaFactor: Number = definedExternally): Color - open fun copyLinearToGamma(color: Color, gammaFactor: Number = definedExternally): Color - open fun convertGammaToLinear(gammaFactor: Number = definedExternally): Color - open fun convertLinearToGamma(gammaFactor: Number = definedExternally): Color - open fun copySRGBToLinear(color: Color): Color - open fun copyLinearToSRGB(color: Color): Color - open fun convertSRGBToLinear(): Color - open fun convertLinearToSRGB(): Color - open fun getHex(): Number - open fun getHexString(): String - open fun getHSL(target: HSL): HSL - open fun getStyle(): String - open fun offsetHSL(h: Number, s: Number, l: Number): Color /* this */ - open fun add(color: Color): Color /* this */ - open fun addColors(color1: Color, color2: Color): Color /* this */ - open fun addScalar(s: Number): Color /* this */ - open fun sub(color: Color): Color /* this */ - open fun multiply(color: Color): Color /* this */ - open fun multiplyScalar(s: Number): Color /* this */ - open fun lerp(color: Color, alpha: Number): Color /* this */ - open fun lerpHSL(color: Color, alpha: Number): Color /* this */ - open fun equals(color: Color): Boolean - open fun fromArray(array: Array, offset: Number = definedExternally): Color /* this */ - open fun fromArray(array: ArrayLike, offset: Number = definedExternally): Color /* this */ - open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array - open fun toArray(xyz: ArrayLike, offset: Number = definedExternally): ArrayLike - open fun fromBufferAttribute(attribute: BufferAttribute, index: Number): Color /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt b/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt deleted file mode 100644 index 1bf4e29d00..0000000000 --- a/src/jsMain/kotlin/three/ColorKeyframeTrack.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class ColorKeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) : KeyframeTrack { - override var ValueTypeName: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CompressedTexture.module_three.kt b/src/jsMain/kotlin/three/CompressedTexture.module_three.kt deleted file mode 100644 index e5662399b0..0000000000 --- a/src/jsMain/kotlin/three/CompressedTexture.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ImageData - -open external class CompressedTexture(mipmaps: Array, width: Number, height: Number, format: CompressedPixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) : Texture { - override var image: ImageData - override var mipmaps: Array - override var flipY: Boolean - override var generateMipmaps: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt b/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt deleted file mode 100644 index 28d9559f76..0000000000 --- a/src/jsMain/kotlin/three/CompressedTextureLoader.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class CompressedTextureLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (texture: CompressedTexture) -> Unit, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ConeGeometry.module_three.kt b/src/jsMain/kotlin/three/ConeGeometry.module_three.kt deleted file mode 100644 index e7b4326e7d..0000000000 --- a/src/jsMain/kotlin/three/ConeGeometry.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class ConeGeometry(radius: Number = definedExternally, height: Number = definedExternally, radialSegment: Number = definedExternally, heightSegment: Number = definedExternally, openEnded: Boolean = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : CylinderGeometry { - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CubeCamera.module_three.kt b/src/jsMain/kotlin/three/CubeCamera.module_three.kt deleted file mode 100644 index 6ac23fd9e1..0000000000 --- a/src/jsMain/kotlin/three/CubeCamera.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class CubeCamera(near: Number, far: Number, renderTarget: WebGLCubeRenderTarget) : Object3D { - override var type: String /* 'CubeCamera' */ - open var renderTarget: WebGLCubeRenderTarget - open fun update(renderer: WebGLRenderer, scene: Scene) - open fun clear(renderer: WebGLRenderer, color: Boolean, depth: Boolean, stencil: Boolean) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CubeTexture.module_three.kt b/src/jsMain/kotlin/three/CubeTexture.module_three.kt deleted file mode 100644 index 7269f8bc80..0000000000 --- a/src/jsMain/kotlin/three/CubeTexture.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class CubeTexture(images: Array = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) : Texture { - open var images: Any - override var flipY: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt b/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt deleted file mode 100644 index e250bbc2c7..0000000000 --- a/src/jsMain/kotlin/three/CubeTextureLoader.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class CubeTextureLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(urls: Array, onLoad: (texture: CubeTexture) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally): CubeTexture -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt b/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt deleted file mode 100644 index 336c5522de..0000000000 --- a/src/jsMain/kotlin/three/CubicInterpolant.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class CubicInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { - open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Curve.module_three.kt b/src/jsMain/kotlin/three/Curve.module_three.kt deleted file mode 100644 index 9149ae90c9..0000000000 --- a/src/jsMain/kotlin/three/Curve.module_three.kt +++ /dev/null @@ -1,27 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Curve { - open var type: String - open var arcLengthDivisions: Number - open fun getPoint(t: Number, optionalTarget: T = definedExternally): T - open fun getPointAt(u: Number, optionalTarget: T = definedExternally): T - open fun getPoints(divisions: Number = definedExternally): Array - open fun getSpacedPoints(divisions: Number = definedExternally): Array - open fun getLength(): Number - open fun getLengths(divisions: Number = definedExternally): Array - open fun updateArcLengths() - open fun getUtoTmapping(u: Number, distance: Number): Number - open fun getTangent(t: Number, optionalTarget: T = definedExternally): T - open fun getTangentAt(u: Number, optionalTarget: T = definedExternally): T - open fun clone(): Curve - open fun copy(source: Curve): Curve /* this */ - open fun toJSON(): Any? - open fun fromJSON(json: Any?): Curve /* this */ - - companion object { - fun create(constructorFunc: Function<*>, getPointFunc: Function<*>): Function<*> - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CurvePath.module_three.kt b/src/jsMain/kotlin/three/CurvePath.module_three.kt deleted file mode 100644 index 3b2b01b859..0000000000 --- a/src/jsMain/kotlin/three/CurvePath.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class CurvePath : Curve { - override var type: String - open var curves: Array> - open var autoClose: Boolean - open fun add(curve: Curve) - open fun closePath() - open fun getPoint(t: Number): T - open fun getCurveLengths(): Array - open fun createPointsGeometry(divisions: Number): Geometry - open fun createSpacedPointsGeometry(divisions: Number): Geometry - open fun createGeometry(points: Array): Geometry -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt b/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt deleted file mode 100644 index f58126cbd8..0000000000 --- a/src/jsMain/kotlin/three/CylinderGeometry.module_three.kt +++ /dev/null @@ -1,25 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$39` { - var radiusTop: Number - var radiusBottom: Number - var height: Number - var radialSegments: Number - var heightSegments: Number - var openEnded: Boolean - var thetaStart: Number - var thetaLength: Number -} - -open external class CylinderBufferGeometry(radiusTop: Number = definedExternally, radiusBottom: Number = definedExternally, height: Number = definedExternally, radialSegments: Number = definedExternally, heightSegments: Number = definedExternally, openEnded: Boolean = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { - override var type: String - open var parameters: `T$39` -} - -open external class CylinderGeometry(radiusTop: Number = definedExternally, radiusBottom: Number = definedExternally, height: Number = definedExternally, radiusSegments: Number = definedExternally, heightSegments: Number = definedExternally, openEnded: Boolean = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$39` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DataTexture.module_three.kt b/src/jsMain/kotlin/three/DataTexture.module_three.kt deleted file mode 100644 index 4c81b21845..0000000000 --- a/src/jsMain/kotlin/three/DataTexture.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.* -import org.w3c.dom.ImageData - -open external class DataTexture : Texture { - constructor(data: Int8Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Uint8Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Uint8ClampedArray, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Int16Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Uint16Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Int32Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Uint32Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Float32Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(data: Float64Array, width: Number, height: Number, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - override var image: ImageData - override var flipY: Boolean - override var generateMipmaps: Boolean - override var unpackAlignment: Number - override var format: PixelFormat -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DataTexture3D.module_three.kt b/src/jsMain/kotlin/three/DataTexture3D.module_three.kt deleted file mode 100644 index 8bc842daeb..0000000000 --- a/src/jsMain/kotlin/three/DataTexture3D.module_three.kt +++ /dev/null @@ -1,23 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.* - -open external class DataTexture3D : Texture { - constructor(data: Int8Array, width: Number, height: Number, depth: Number) - constructor(data: Uint8Array, width: Number, height: Number, depth: Number) - constructor(data: Uint8ClampedArray, width: Number, height: Number, depth: Number) - constructor(data: Int16Array, width: Number, height: Number, depth: Number) - constructor(data: Uint16Array, width: Number, height: Number, depth: Number) - constructor(data: Int32Array, width: Number, height: Number, depth: Number) - constructor(data: Uint32Array, width: Number, height: Number, depth: Number) - constructor(data: Float32Array, width: Number, height: Number, depth: Number) - constructor(data: Float64Array, width: Number, height: Number, depth: Number) - override var magFilter: TextureFilter - override var minFilter: TextureFilter - open var wrapR: Boolean - override var flipY: Boolean - override var generateMipmaps: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt b/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt deleted file mode 100644 index 0952b5dc70..0000000000 --- a/src/jsMain/kotlin/three/DataTextureLoader.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class DataTextureLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (dataTexture: DataTexture) -> Unit, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DepthTexture.module_three.kt b/src/jsMain/kotlin/three/DepthTexture.module_three.kt deleted file mode 100644 index 81d4f734d8..0000000000 --- a/src/jsMain/kotlin/three/DepthTexture.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ImageData - -open external class DepthTexture(width: Number, height: Number, type: TextureDataType = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, anisotropy: Number = definedExternally) : Texture { - override var image: ImageData - override var flipY: Boolean - override var generateMipmaps: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DirectGeometry.module_three.kt b/src/jsMain/kotlin/three/DirectGeometry.module_three.kt deleted file mode 100644 index 412ab54492..0000000000 --- a/src/jsMain/kotlin/three/DirectGeometry.module_three.kt +++ /dev/null @@ -1,38 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$22` { - var start: Number - var materialIndex: Number -} - -open external class DirectGeometry { - open var id: Number - open var uuid: String - open var name: String - open var type: String - open var indices: Array - open var vertices: Array - open var normals: Array - open var colors: Array - open var uvs: Array - open var uvs2: Array - open var groups: Array<`T$22`> - open var morphTargets: Array - open var skinWeights: Array - open var skinIndices: Array - open var boundingBox: Box3? - open var boundingSphere: Sphere? - open var verticesNeedUpdate: Boolean - open var normalsNeedUpdate: Boolean - open var colorsNeedUpdate: Boolean - open var uvsNeedUpdate: Boolean - open var groupsNeedUpdate: Boolean - open fun computeBoundingBox() - open fun computeBoundingSphere() - open fun computeGroups(geometry: Geometry) - open fun fromGeometry(geometry: Geometry): DirectGeometry - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DirectionalLight.module_three.kt b/src/jsMain/kotlin/three/DirectionalLight.module_three.kt deleted file mode 100644 index cf52474538..0000000000 --- a/src/jsMain/kotlin/three/DirectionalLight.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class DirectionalLight : Light { - constructor(color: Color = definedExternally, intensity: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally) - override var type: String - override var position: Vector3 - open var target: Object3D - override var intensity: Number - override var shadow: /*Directional*/LightShadow - open var isDirectionalLight: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt b/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt deleted file mode 100644 index 51af965b53..0000000000 --- a/src/jsMain/kotlin/three/DirectionalLightHelper.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class DirectionalLightHelper : Object3D { - constructor(light: DirectionalLight, size: Number = definedExternally, color: Color = definedExternally) - constructor(light: DirectionalLight, size: Number = definedExternally, color: String = definedExternally) - constructor(light: DirectionalLight, size: Number = definedExternally, color: Number = definedExternally) - open var light: DirectionalLight - open var lightPlane: Line - open var targetLine: Line - open var color: dynamic /* Color? | String? | Number? */ - override var matrix: Matrix4 - override var matrixAutoUpdate: Boolean - open fun dispose() - open fun update() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt b/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt deleted file mode 100644 index 0085dc9ef6..0000000000 --- a/src/jsMain/kotlin/three/DirectionalLightShadow.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class DirectionalLightShadow : LightShadow { - override var camera: /*Orthographic*/Camera - open var isDirectionalLightShadow: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt b/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt deleted file mode 100644 index 4be5db30c4..0000000000 --- a/src/jsMain/kotlin/three/DiscreteInterpolant.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class DiscreteInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { - open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt b/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt deleted file mode 100644 index f6004b5886..0000000000 --- a/src/jsMain/kotlin/three/DodecahedronGeometry.module_three.kt +++ /dev/null @@ -1,14 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$28` { - var radius: Number - var detail: Number -} - -open external class DodecahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$28` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt b/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt deleted file mode 100644 index c13fb7cb5d..0000000000 --- a/src/jsMain/kotlin/three/EdgesGeometry.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$38` { - var thresholdAngle: Number -} - -open external class EdgesGeometry : BufferGeometry { - constructor(geometry: BufferGeometry, thresholdAngle: Number = definedExternally) - constructor(geometry: Geometry, thresholdAngle: Number = definedExternally) - override var type: String - open var parameters: `T$38` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Euler.module_three.kt b/src/jsMain/kotlin/three/Euler.module_three.kt deleted file mode 100644 index 7c6710d738..0000000000 --- a/src/jsMain/kotlin/three/Euler.module_three.kt +++ /dev/null @@ -1,30 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Euler(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, order: String = definedExternally) { - open var x: Number - open var y: Number - open var z: Number - open var order: String - open var isEuler: Boolean - open var _onChangeCallback: Function<*> - open fun set(x: Number, y: Number, z: Number, order: String = definedExternally): Euler - open fun clone(): Euler /* this */ - open fun copy(euler: Euler): Euler /* this */ - open fun setFromRotationMatrix(m: Matrix4, order: String = definedExternally): Euler - open fun setFromQuaternion(q: Quaternion, order: String = definedExternally): Euler - open fun setFromVector3(v: Vector3, order: String = definedExternally): Euler - open fun reorder(newOrder: String): Euler - open fun equals(euler: Euler): Boolean - open fun fromArray(xyzo: Array): Euler - open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array - open fun toVector3(optionalResult: Vector3 = definedExternally): Vector3 - open fun _onChange(callback: Function<*>): Euler /* this */ - - companion object { - var RotationOrders: Array - var DefaultOrder: String - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/EventDispatcher.module_three.kt b/src/jsMain/kotlin/three/EventDispatcher.module_three.kt deleted file mode 100644 index 1f4c70e3de..0000000000 --- a/src/jsMain/kotlin/three/EventDispatcher.module_three.kt +++ /dev/null @@ -1,22 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface Event { - var type: String - var target: Any? - get() = definedExternally - set(value) = definedExternally - @nativeGetter - operator fun get(attachment: String): Any? - @nativeSetter - operator fun set(attachment: String, value: Any) -} - -open external class EventDispatcher { - open fun addEventListener(type: String, listener: (event: Event) -> Unit) - open fun hasEventListener(type: String, listener: (event: Event) -> Unit): Boolean - open fun removeEventListener(type: String, listener: (event: Event) -> Unit) - open fun dispatchEvent(event: Event) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt b/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt deleted file mode 100644 index dab9b0d11a..0000000000 --- a/src/jsMain/kotlin/three/ExtrudeGeometry.module_three.kt +++ /dev/null @@ -1,66 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface ExtrudeGeometryOptions { - var curveSegments: Number? - get() = definedExternally - set(value) = definedExternally - var steps: Number? - get() = definedExternally - set(value) = definedExternally - var depth: Number? - get() = definedExternally - set(value) = definedExternally - var bevelEnabled: Boolean? - get() = definedExternally - set(value) = definedExternally - var bevelThickness: Number? - get() = definedExternally - set(value) = definedExternally - var bevelSize: Number? - get() = definedExternally - set(value) = definedExternally - var bevelOffset: Number? - get() = definedExternally - set(value) = definedExternally - var bevelSegments: Number? - get() = definedExternally - set(value) = definedExternally - var extrudePath: Curve? - get() = definedExternally - set(value) = definedExternally - var UVGenerator: UVGenerator? - get() = definedExternally - set(value) = definedExternally -} - -external interface UVGenerator { - fun generateTopUV(geometry: ExtrudeBufferGeometry, vertices: Array, indexA: Number, indexB: Number, indexC: Number): Array - fun generateSideWallUV(geometry: ExtrudeBufferGeometry, vertices: Array, indexA: Number, indexB: Number, indexC: Number, indexD: Number): Array -} - -open external class ExtrudeBufferGeometry : BufferGeometry { - constructor(shapes: Shape, options: ExtrudeGeometryOptions = definedExternally) - constructor(shapes: Array, options: ExtrudeGeometryOptions = definedExternally) - override var type: String - open fun addShapeList(shapes: Array, options: Any = definedExternally) - open fun addShape(shape: Shape, options: Any = definedExternally) - - companion object { - var WorldUVGenerator: UVGenerator - } -} - -open external class ExtrudeGeometry : Geometry { - constructor(shapes: Shape, options: ExtrudeGeometryOptions = definedExternally) - constructor(shapes: Array, options: ExtrudeGeometryOptions = definedExternally) - override var type: String - open fun addShapeList(shapes: Array, options: Any = definedExternally) - open fun addShape(shape: Shape, options: Any = definedExternally) - - companion object { - var WorldUVGenerator: UVGenerator - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Face3.module_three.kt b/src/jsMain/kotlin/three/Face3.module_three.kt deleted file mode 100644 index eed5d78e13..0000000000 --- a/src/jsMain/kotlin/three/Face3.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Face3 { - constructor(a: Int, b: Int, c: Int, normal: Vector3 = definedExternally, color: Color = definedExternally, materialIndex: Int = definedExternally) - constructor(a: Int, b: Int, c: Int, normal: Vector3 = definedExternally, vertexColors: Array = definedExternally, materialIndex: Int = definedExternally) - constructor(a: Int, b: Int, c: Int, vertexNormals: Array = definedExternally, color: Color = definedExternally, materialIndex: Int = definedExternally) - constructor(a: Int, b: Int, c: Int, vertexNormals: Array = definedExternally, vertexColors: Array = definedExternally, materialIndex: Int = definedExternally) - open var a: Int - open var b: Int - open var c: Int - open var normal: Vector3 - open var vertexNormals: Array - open var color: Color - open var vertexColors: Array - open var materialIndex: Int - open fun clone(): Face3 /* this */ - open fun copy(source: Face3): Face3 /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/FileLoader.module_three.kt b/src/jsMain/kotlin/three/FileLoader.module_three.kt deleted file mode 100644 index dd9c717ff1..0000000000 --- a/src/jsMain/kotlin/three/FileLoader.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.dom.MimeType -import org.w3c.xhr.ProgressEvent - -open external class FileLoader(manager: LoadingManager = definedExternally) : Loader { - open var mimeType: MimeType? - open var responseType: String? - open var withCredentials: String? - open fun load(url: String, onLoad: (response: dynamic /* String | ArrayBuffer */) -> Unit = definedExternally, onProgress: (request: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally): Any - open fun setMimeType(mimeType: MimeType): FileLoader - open fun setResponseType(responseType: String): FileLoader - open fun setWithCredentials(value: Boolean): FileLoader -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Fog.module_three.kt b/src/jsMain/kotlin/three/Fog.module_three.kt deleted file mode 100644 index c527c040cd..0000000000 --- a/src/jsMain/kotlin/three/Fog.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface IFog { - var name: String - var color: Color - fun clone(): IFog /* this */ - fun toJSON(): Any -} - -open external class Fog : IFog { - constructor(color: Color, near: Number = definedExternally, far: Number = definedExternally) - constructor(color: Number, near: Number = definedExternally, far: Number = definedExternally) - constructor(color: String, near: Number = definedExternally, far: Number = definedExternally) - override var name: String - override var color: Color - open var near: Number - open var far: Number - open var isFog: Boolean - override fun clone(): Fog /* this */ - override fun toJSON(): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/FogExp2.module_three.kt b/src/jsMain/kotlin/three/FogExp2.module_three.kt deleted file mode 100644 index 0ab1f7ec0f..0000000000 --- a/src/jsMain/kotlin/three/FogExp2.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class FogExp2 : IFog { - constructor(hex: Number, density: Number = definedExternally) - constructor(hex: String, density: Number = definedExternally) - override var name: String - override var color: Color - open var density: Number - open var isFogExp2: Boolean - override fun clone(): FogExp2 /* this */ - override fun toJSON(): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Font.module_three.kt b/src/jsMain/kotlin/three/Font.module_three.kt deleted file mode 100644 index 656327927a..0000000000 --- a/src/jsMain/kotlin/three/Font.module_three.kt +++ /dev/null @@ -1,10 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Font(jsondata: Any) { - open var type: String - open var data: String - open fun generateShapes(text: String, size: Number): Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/FontLoader.module_three.kt b/src/jsMain/kotlin/three/FontLoader.module_three.kt deleted file mode 100644 index ff619239b8..0000000000 --- a/src/jsMain/kotlin/three/FontLoader.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class FontLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (responseFont: Font) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally) - open fun parse(json: Any): Font -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Geometry.module_three.kt b/src/jsMain/kotlin/three/Geometry.module_three.kt deleted file mode 100644 index 680b738378..0000000000 --- a/src/jsMain/kotlin/three/Geometry.module_three.kt +++ /dev/null @@ -1,69 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface MorphTarget { - var name: String - var vertices: Array -} - -external interface MorphNormals { - var name: String - var normals: Array -} - -open external class Geometry : EventDispatcher { - open var id: Number - open var uuid: String - open var isGeometry: Boolean - open var name: String - open var type: String - open var vertices: Array - open var colors: Array - open var faces: Array - open var faceVertexUvs: Array>> - open var morphTargets: Array - open var morphNormals: Array - open var skinWeights: Array - open var skinIndices: Array - open var lineDistances: Array - open var boundingBox: Box3? - open var boundingSphere: Sphere? - open var verticesNeedUpdate: Boolean - open var elementsNeedUpdate: Boolean - open var uvsNeedUpdate: Boolean - open var normalsNeedUpdate: Boolean - open var colorsNeedUpdate: Boolean - open var lineDistancesNeedUpdate: Boolean - open var groupsNeedUpdate: Boolean - open fun applyMatrix4(matrix: Matrix4): Geometry - open fun rotateX(angle: Number): Geometry - open fun rotateY(angle: Number): Geometry - open fun rotateZ(angle: Number): Geometry - open fun translate(x: Number, y: Number, z: Number): Geometry - open fun scale(x: Number, y: Number, z: Number): Geometry - open fun lookAt(vector: Vector3) - open fun fromBufferGeometry(geometry: BufferGeometry): Geometry - open fun center(): Geometry - open fun normalize(): Geometry - open fun computeFaceNormals() - open fun computeVertexNormals(areaWeighted: Boolean = definedExternally) - open fun computeFlatVertexNormals() - open fun computeMorphNormals() - open fun computeBoundingBox() - open fun computeBoundingSphere() - open fun merge(geometry: Geometry, matrix: Matrix = definedExternally, materialIndexOffset: Number = definedExternally) - open fun mergeMesh(mesh: Mesh) - open fun mergeVertices(): Number - open fun setFromPoints(points: Array): Geometry /* this */ - open fun setFromPoints(points: Array): Geometry /* this */ - open fun sortFacesByMaterialIndex() - open fun toJSON(): Any - open fun clone(): Geometry /* this */ - open fun copy(source: Geometry): Geometry /* this */ - open fun dispose() - open var bones: Array - open var animation: AnimationClip - open var animations: Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Group.module_three.kt b/src/jsMain/kotlin/three/Group.module_three.kt deleted file mode 100644 index 4409bef078..0000000000 --- a/src/jsMain/kotlin/three/Group.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Group : Object3D { - override var type: String /* 'Group' */ - open var isGroup: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/HemisphereLight.module_three.kt b/src/jsMain/kotlin/three/HemisphereLight.module_three.kt deleted file mode 100644 index 19174c0675..0000000000 --- a/src/jsMain/kotlin/three/HemisphereLight.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class HemisphereLight : Light { - constructor(skyColor: Color = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Color = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Color = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - override var type: String - override var position: Vector3 - override var castShadow: Boolean - open var groundColor: Color - open var isHemisphereLight: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/HemisphereLightProbe.module_three.kt b/src/jsMain/kotlin/three/HemisphereLightProbe.module_three.kt deleted file mode 100644 index b5b7a708d4..0000000000 --- a/src/jsMain/kotlin/three/HemisphereLightProbe.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class HemisphereLightProbe : LightProbe { - constructor(skyColor: Color = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Color = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Color = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: String = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: Color = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: String = definedExternally, intensity: Number = definedExternally) - constructor(skyColor: Number = definedExternally, groundColor: Number = definedExternally, intensity: Number = definedExternally) - open var isHemisphereLightProbe: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt b/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt deleted file mode 100644 index e5d218d4e4..0000000000 --- a/src/jsMain/kotlin/three/IcosahedronGeometry.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class IcosahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt b/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt deleted file mode 100644 index 4454ebf012..0000000000 --- a/src/jsMain/kotlin/three/ImageBitmapLoader.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.dom.ImageBitmap -import org.w3c.xhr.ProgressEvent - -open external class ImageBitmapLoader(manager: LoadingManager = definedExternally) : Loader { - open var options: Any? - open var isImageBitmapLoader: Boolean - open fun setOptions(options: Any?): ImageBitmapLoader - open fun load(url: String, onLoad: (response: ImageBitmap) -> Unit = definedExternally, onProgress: (request: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ImageLoader.module_three.kt b/src/jsMain/kotlin/three/ImageLoader.module_three.kt deleted file mode 100644 index e99a271740..0000000000 --- a/src/jsMain/kotlin/three/ImageLoader.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.dom.HTMLImageElement -import org.w3c.xhr.ProgressEvent - -open external class ImageLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (image: HTMLImageElement) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally): HTMLImageElement -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ImmediateRenderObject.module_three.kt b/src/jsMain/kotlin/three/ImmediateRenderObject.module_three.kt deleted file mode 100644 index 153db2cfea..0000000000 --- a/src/jsMain/kotlin/three/ImmediateRenderObject.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.Float32Array - -open external class ImmediateRenderObject(material: Material) : Object3D { - open var isImmediateRenderObject: Boolean - open var material: Material - open var hasPositions: Boolean - open var hasNormals: Boolean - open var hasColors: Boolean - open var hasUvs: Boolean - open var positionArray: Float32Array? - open var normalArray: Float32Array? - open var colorArray: Float32Array? - open var uvArray: Float32Array? - open var count: Number - open fun render(renderCallback: Function<*>) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt b/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt deleted file mode 100644 index 9c9945b634..0000000000 --- a/src/jsMain/kotlin/three/InstancedBufferAttribute.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class InstancedBufferAttribute(array: ArrayLike, itemSize: Number, normalized: Boolean = definedExternally, meshPerAttribute: Number = definedExternally) : BufferAttribute { - open var meshPerAttribute: Number -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt b/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt deleted file mode 100644 index 6f435b3148..0000000000 --- a/src/jsMain/kotlin/three/InstancedBufferGeometry.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$47` { - var start: Number - var count: Number - var instances: Number -} - -open external class InstancedBufferGeometry : BufferGeometry { - override var type: String - override var groups: Array<`T$18`> - open var instanceCount: Number - override fun addGroup(start: Number, count: Number, instances: Number) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt b/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt deleted file mode 100644 index a438f6a5f7..0000000000 --- a/src/jsMain/kotlin/three/InstancedInterleavedBuffer.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class InstancedInterleavedBuffer(array: ArrayLike, stride: Number, meshPerAttribute: Number = definedExternally) : InterleavedBuffer { - open var meshPerAttribute: Number -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InstancedMesh.module_three.kt b/src/jsMain/kotlin/three/InstancedMesh.module_three.kt deleted file mode 100644 index 72fccd16ad..0000000000 --- a/src/jsMain/kotlin/three/InstancedMesh.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class InstancedMesh(geometry: TGeometry, material: TMaterial, count: Number) : Mesh { - open var count: Number - open var instanceMatrix: BufferAttribute - open var isInstancedMesh: Boolean - open fun getMatrixAt(index: Number, matrix: Matrix4) - open fun setMatrixAt(index: Number, matrix: Matrix4) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt b/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt deleted file mode 100644 index e5496ce2a9..0000000000 --- a/src/jsMain/kotlin/three/InterleavedBuffer.module_three.kt +++ /dev/null @@ -1,29 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$24` { - var uuid: String - var buffer: String - var type: String - var stride: Number -} - -open external class InterleavedBuffer(array: ArrayLike, stride: Number) { - open var array: ArrayLike - open var stride: Number - open var usage: Usage - open var updateRange: `T$1` - open var version: Number - open var length: Number - open var count: Number - open var needsUpdate: Boolean - open var uuid: String - open fun setUsage(usage: Usage): InterleavedBuffer - open fun clone(data: Any?): InterleavedBuffer /* this */ - open fun copy(source: InterleavedBuffer): InterleavedBuffer /* this */ - open fun copyAt(index1: Number, attribute: InterleavedBufferAttribute, index2: Number): InterleavedBuffer - open fun set(value: ArrayLike, index: Number): InterleavedBuffer - open fun toJSON(data: Any?): `T$24` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LOD.module_three.kt b/src/jsMain/kotlin/three/LOD.module_three.kt deleted file mode 100644 index 99d85420bc..0000000000 --- a/src/jsMain/kotlin/three/LOD.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$25` { - var distance: Number - var `object`: Object3D -} - -open external class LOD : Object3D { - override var type: String /* 'LOD' */ - open var levels: Array<`T$25`> - open var autoUpdate: Boolean - open var isLOD: Boolean - open fun addLevel(obj: Object3D, distance: Number = definedExternally): LOD /* this */ - open fun getCurrentLevel(): Number - open fun getObjectForDistance(distance: Number): Object3D? - override fun raycast(raycaster: Raycaster, intersects: Array) - open fun update(camera: Camera) - open fun toJSON(meta: Any): Any - override fun toJSON(meta: `T$0`): Any - open var objects: Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LatheGeometry.module_three.kt b/src/jsMain/kotlin/three/LatheGeometry.module_three.kt deleted file mode 100644 index e8e65b5ef4..0000000000 --- a/src/jsMain/kotlin/three/LatheGeometry.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$37` { - var points: Array - var segments: Number - var phiStart: Number - var phiLength: Number -} - -open external class LatheGeometry(points: Array, segments: Number = definedExternally, phiStart: Number = definedExternally, phiLength: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$37` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Layers.module_three.kt b/src/jsMain/kotlin/three/Layers.module_three.kt deleted file mode 100644 index fa5190f87b..0000000000 --- a/src/jsMain/kotlin/three/Layers.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Layers { - open var mask: Number - open fun set(channel: Number) - open fun enable(channel: Number) - open fun enableAll() - open fun toggle(channel: Number) - open fun disable(channel: Number) - open fun disableAll() - open fun test(layers: Layers): Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Light.module_three.kt b/src/jsMain/kotlin/three/Light.module_three.kt deleted file mode 100644 index 6f73877945..0000000000 --- a/src/jsMain/kotlin/three/Light.module_three.kt +++ /dev/null @@ -1,25 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Light : Object3D { - constructor(hex: Number = definedExternally, intensity: Number = definedExternally) - constructor(hex: String = definedExternally, intensity: Number = definedExternally) - override var type: String - open var color: Color - open var intensity: Number - open var isLight: Boolean - override var receiveShadow: Boolean - open var shadow: LightShadow - open var shadowCameraFov: Any - open var shadowCameraLeft: Any - open var shadowCameraRight: Any - open var shadowCameraTop: Any - open var shadowCameraBottom: Any - open var shadowCameraNear: Any - open var shadowCameraFar: Any - open var shadowBias: Any - open var shadowMapWidth: Any - open var shadowMapHeight: Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LightProbe.module_three.kt b/src/jsMain/kotlin/three/LightProbe.module_three.kt deleted file mode 100644 index 736b47542c..0000000000 --- a/src/jsMain/kotlin/three/LightProbe.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class LightProbe(sh: SphericalHarmonics3 = definedExternally, intensity: Number = definedExternally) : Light { - override var type: String - open var isLightProbe: Boolean - open var sh: SphericalHarmonics3 - open fun fromJSON(json: Any?): LightProbe -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LightShadow.module_three.kt b/src/jsMain/kotlin/three/LightShadow.module_three.kt deleted file mode 100644 index a9cb209695..0000000000 --- a/src/jsMain/kotlin/three/LightShadow.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class LightShadow(camera: Camera) { - open var camera: Camera - open var bias: Number - open var normalBias: Number - open var radius: Number - open var mapSize: Vector2 - open var map: RenderTarget - open var mapPass: RenderTarget - open var matrix: Matrix4 - open var autoUpdate: Boolean - open var needsUpdate: Boolean - open fun copy(source: LightShadow): LightShadow /* this */ - open fun clone(recursive: Boolean = definedExternally): LightShadow /* this */ - open fun toJSON(): Any - open fun getFrustum(): Number - open fun updateMatrices(light: Light, viewportIndex: Number = definedExternally) - open fun getViewport(viewportIndex: Number): Vector4 - open fun getFrameExtents(): Vector2 -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Line.module_three.kt b/src/jsMain/kotlin/three/Line.module_three.kt deleted file mode 100644 index 04b0100238..0000000000 --- a/src/jsMain/kotlin/three/Line.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Line(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally, mode: Number = definedExternally) : Object3D { - open var geometry: TGeometry - open var material: TMaterial - override var type: dynamic /* String | String | String | String */ - open var isLine: Boolean - open var morphTargetInfluences: Array - open var morphTargetDictionary: `T$20` - open fun computeLineDistances(): Line /* this */ - override fun raycast(raycaster: Raycaster, intersects: Array) - open fun updateMorphTargets() -} diff --git a/src/jsMain/kotlin/three/LineLoop.module_three.kt b/src/jsMain/kotlin/three/LineLoop.module_three.kt deleted file mode 100644 index 07a5bff3e5..0000000000 --- a/src/jsMain/kotlin/three/LineLoop.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class LineLoop(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Line { - override var type: String /* 'LineLoop' */ - open var isLineLoop: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LineSegments.module_three.kt b/src/jsMain/kotlin/three/LineSegments.module_three.kt deleted file mode 100644 index 33c8cd2671..0000000000 --- a/src/jsMain/kotlin/three/LineSegments.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class LineSegments(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally, mode: Number = definedExternally) : Line { - override var type: dynamic /* String | String */ - open var isLineSegments: Boolean -} diff --git a/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt b/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt deleted file mode 100644 index 0edd8e62e1..0000000000 --- a/src/jsMain/kotlin/three/LinearInterpolant.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class LinearInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { - open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Loader.module_three.kt b/src/jsMain/kotlin/three/Loader.module_three.kt deleted file mode 100644 index 4943f26c2c..0000000000 --- a/src/jsMain/kotlin/three/Loader.module_three.kt +++ /dev/null @@ -1,27 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.xhr.ProgressEvent -import kotlin.js.Promise - -external interface `T$44` { - @nativeGetter - operator fun get(header: String): String? - @nativeSetter - operator fun set(header: String, value: String) -} - -open external class Loader(manager: LoadingManager = definedExternally) { - open var crossOrigin: String - open var path: String - open var resourcePath: String - open var manager: LoadingManager - open var requestHeader: `T$44` - open fun loadAsync(url: String, onProgress: (event: ProgressEvent) -> Unit = definedExternally): Promise - open fun setCrossOrigin(crossOrigin: String): Loader /* this */ - open fun setPath(path: String): Loader /* this */ - open fun setResourcePath(resourcePath: String): Loader /* this */ - open fun setRequestHeader(requestHeader: `T$44`): Loader /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/LoaderUtils.module_three.kt b/src/jsMain/kotlin/three/LoaderUtils.module_three.kt deleted file mode 100644 index 7b9fc01e1a..0000000000 --- a/src/jsMain/kotlin/three/LoaderUtils.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.* - -open external class LoaderUtils { - companion object { - fun decodeText(array: Int8Array): String - fun decodeText(array: Uint8Array): String - fun decodeText(array: Uint8ClampedArray): String - fun decodeText(array: Int16Array): String - fun decodeText(array: Uint16Array): String - fun decodeText(array: Int32Array): String - fun decodeText(array: Uint32Array): String - fun decodeText(array: Float32Array): String - fun decodeText(array: Float64Array): String - fun extractUrlBase(url: String): String - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Material.module_three.kt b/src/jsMain/kotlin/three/Material.module_three.kt deleted file mode 100644 index cd86c2e77f..0000000000 --- a/src/jsMain/kotlin/three/Material.module_three.kt +++ /dev/null @@ -1,182 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import kotlin.js.Json - -external interface MaterialParameters { - var alphaTest: Number? - get() = definedExternally - set(value) = definedExternally - var blendDst: BlendingDstFactor? - get() = definedExternally - set(value) = definedExternally - var blendDstAlpha: Number? - get() = definedExternally - set(value) = definedExternally - var blendEquation: BlendingEquation? - get() = definedExternally - set(value) = definedExternally - var blendEquationAlpha: Number? - get() = definedExternally - set(value) = definedExternally - var blending: Blending? - get() = definedExternally - set(value) = definedExternally - var blendSrc: dynamic /* BlendingSrcFactor? | BlendingDstFactor? */ - get() = definedExternally - set(value) = definedExternally - var blendSrcAlpha: Number? - get() = definedExternally - set(value) = definedExternally - var clipIntersection: Boolean? - get() = definedExternally - set(value) = definedExternally - var clippingPlanes: Array? - get() = definedExternally - set(value) = definedExternally - var clipShadows: Boolean? - get() = definedExternally - set(value) = definedExternally - var colorWrite: Boolean? - get() = definedExternally - set(value) = definedExternally - var defines: Any? - get() = definedExternally - set(value) = definedExternally - var depthFunc: DepthModes? - get() = definedExternally - set(value) = definedExternally - var depthTest: Boolean? - get() = definedExternally - set(value) = definedExternally - var depthWrite: Boolean? - get() = definedExternally - set(value) = definedExternally - var fog: Boolean? - get() = definedExternally - set(value) = definedExternally - var name: String? - get() = definedExternally - set(value) = definedExternally - var opacity: Number? - get() = definedExternally - set(value) = definedExternally - var polygonOffset: Boolean? - get() = definedExternally - set(value) = definedExternally - var polygonOffsetFactor: Number? - get() = definedExternally - set(value) = definedExternally - var polygonOffsetUnits: Number? - get() = definedExternally - set(value) = definedExternally - var precision: String? /* 'highp' | 'mediump' | 'lowp' */ - get() = definedExternally - set(value) = definedExternally - var premultipliedAlpha: Boolean? - get() = definedExternally - set(value) = definedExternally - var dithering: Boolean? - get() = definedExternally - set(value) = definedExternally - var flatShading: Boolean? - get() = definedExternally - set(value) = definedExternally - var side: Side? - get() = definedExternally - set(value) = definedExternally - var shadowSide: Side? - get() = definedExternally - set(value) = definedExternally - var toneMapped: Boolean? - get() = definedExternally - set(value) = definedExternally - var transparent: Boolean? - get() = definedExternally - set(value) = definedExternally - var vertexColors: Boolean? - get() = definedExternally - set(value) = definedExternally - var visible: Boolean? - get() = definedExternally - set(value) = definedExternally - var stencilWrite: Boolean? - get() = definedExternally - set(value) = definedExternally - var stencilFunc: StencilFunc? - get() = definedExternally - set(value) = definedExternally - var stencilRef: Number? - get() = definedExternally - set(value) = definedExternally - var stencilMask: Number? - get() = definedExternally - set(value) = definedExternally - var stencilFail: StencilOp? - get() = definedExternally - set(value) = definedExternally - var stencilZFail: StencilOp? - get() = definedExternally - set(value) = definedExternally - var stencilZPass: StencilOp? - get() = definedExternally - set(value) = definedExternally -} - -open external class Material : EventDispatcher { - open var alphaTest: Number - open var blendDst: BlendingDstFactor - open var blendDstAlpha: Number? - open var blendEquation: BlendingEquation - open var blendEquationAlpha: Number? - open var blending: Blending - open var blendSrc: dynamic /* BlendingSrcFactor | BlendingDstFactor */ - open var blendSrcAlpha: Number? - open var clipIntersection: Boolean - open var clippingPlanes: Any - open var clipShadows: Boolean - open var colorWrite: Boolean - open var defines: Json - open var depthFunc: DepthModes - open var depthTest: Boolean - open var depthWrite: Boolean - open var fog: Boolean - open var id: Number - open var stencilWrite: Boolean - open var stencilFunc: StencilFunc - open var stencilRef: Number - open var stencilMask: Number - open var stencilFail: StencilOp - open var stencilZFail: StencilOp - open var stencilZPass: StencilOp - open var isMaterial: Boolean - open var name: String - open var needsUpdate: Boolean - open var opacity: Number - open var polygonOffset: Boolean - open var polygonOffsetFactor: Number - open var polygonOffsetUnits: Number - open var precision: String /* 'highp' | 'mediump' | 'lowp' */ - open var premultipliedAlpha: Boolean - open var dithering: Boolean - open var flatShading: Boolean - open var side: Side - open var shadowSide: Side - open var toneMapped: Boolean - open var transparent: Boolean - open var type: String - open var uuid: String - open var vertexColors: Boolean - open var visible: Boolean - open var userData: Any - open var version: Number - open fun clone(): Material /* this */ - open fun copy(material: Material): Material /* this */ - open fun dispose() - open fun onBeforeCompile(shader: Shader, renderer: WebGLRenderer) - open fun customProgramCacheKey(): String - open fun setValues(values: MaterialParameters) - open fun toJSON(meta: Any = definedExternally): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/MaterialLoader.module_three.kt b/src/jsMain/kotlin/three/MaterialLoader.module_three.kt deleted file mode 100644 index 955c0a8111..0000000000 --- a/src/jsMain/kotlin/three/MaterialLoader.module_three.kt +++ /dev/null @@ -1,20 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.xhr.ProgressEvent - -external interface `T$46` { - @nativeGetter - operator fun get(key: String): Texture? - @nativeSetter - operator fun set(key: String, value: Texture) -} - -open external class MaterialLoader(manager: LoadingManager = definedExternally) : Loader { - open var textures: `T$46` - open fun load(url: String, onLoad: (material: Material) -> Unit, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: dynamic /* Error | ErrorEvent */) -> Unit = definedExternally) - open fun setTextures(textures: `T$46`): MaterialLoader /* this */ - open fun parse(json: Any): Material -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Matrix3.module_three.kt b/src/jsMain/kotlin/three/Matrix3.module_three.kt deleted file mode 100644 index c7b458ed2a..0000000000 --- a/src/jsMain/kotlin/three/Matrix3.module_three.kt +++ /dev/null @@ -1,49 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface Matrix { - var elements: Array - fun identity(): Matrix - fun copy(m: Matrix /* this */): Matrix /* this */ - fun multiplyScalar(s: Number): Matrix - fun determinant(): Number - fun getInverse(matrix: Matrix): Matrix - fun transpose(): Matrix - fun clone(): Matrix /* this */ -} - -open external class Matrix3 : Matrix { - override var elements: Array - open fun set(n11: Number, n12: Number, n13: Number, n21: Number, n22: Number, n23: Number, n31: Number, n32: Number, n33: Number): Matrix3 - override fun identity(): Matrix3 - override fun clone(): Matrix3 /* this */ - open fun copy(m: Matrix3): Matrix3 /* this */ - override fun copy(m: Matrix /* this */): Matrix /* this */ - open fun extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix3 - open fun setFromMatrix4(m: Matrix4): Matrix3 - override fun multiplyScalar(s: Number): Matrix3 - override fun determinant(): Number - open fun getInverse(matrix: Matrix3): Matrix3 - override fun getInverse(matrix: Matrix): Matrix - override fun transpose(): Matrix3 - open fun getNormalMatrix(matrix4: Matrix4): Matrix3 - open fun transposeIntoArray(r: Array): Matrix3 - open fun setUvTransform(tx: Number, ty: Number, sx: Number, sy: Number, rotation: Number, cx: Number, cy: Number): Matrix3 - open fun scale(sx: Number, sy: Number): Matrix3 - open fun rotate(theta: Number): Matrix3 - open fun translate(tx: Number, ty: Number): Matrix3 - open fun equals(matrix: Matrix3): Boolean - open fun fromArray(array: Array, offset: Number = definedExternally): Matrix3 - open fun fromArray(array: ArrayLike, offset: Number = definedExternally): Matrix3 - open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array - open fun toArray(array: ArrayLike = definedExternally, offset: Number = definedExternally): ArrayLike - open fun multiply(m: Matrix3): Matrix3 - open fun premultiply(m: Matrix3): Matrix3 - open fun multiplyMatrices(a: Matrix3, b: Matrix3): Matrix3 - open fun multiplyVector3(vector: Vector3): Any - open fun multiplyVector3Array(a: Any): Any - open fun getInverse(matrix: Matrix4, throwOnDegenerate: Boolean = definedExternally): Matrix3 - open fun flattenToArrayOffset(array: Array, offset: Number): Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Matrix4.module_three.kt b/src/jsMain/kotlin/three/Matrix4.module_three.kt deleted file mode 100644 index 96a9fa7c52..0000000000 --- a/src/jsMain/kotlin/three/Matrix4.module_three.kt +++ /dev/null @@ -1,58 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Matrix4 : Matrix { - override var elements: Array - open fun set(n11: Number, n12: Number, n13: Number, n14: Number, n21: Number, n22: Number, n23: Number, n24: Number, n31: Number, n32: Number, n33: Number, n34: Number, n41: Number, n42: Number, n43: Number, n44: Number): Matrix4 - override fun identity(): Matrix4 - override fun clone(): Matrix4 /* this */ - open fun copy(m: Matrix4): Matrix4 /* this */ - override fun copy(m: Matrix /* this */): Matrix /* this */ - open fun copyPosition(m: Matrix4): Matrix4 - open fun extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4 - open fun makeBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix4 - open fun extractRotation(m: Matrix4): Matrix4 - open fun makeRotationFromEuler(euler: Euler): Matrix4 - open fun makeRotationFromQuaternion(q: Quaternion): Matrix4 - open fun lookAt(eye: Vector3, target: Vector3, up: Vector3): Matrix4 - open fun multiply(m: Matrix4): Matrix4 - open fun premultiply(m: Matrix4): Matrix4 - open fun multiplyMatrices(a: Matrix4, b: Matrix4): Matrix4 - open fun multiplyToArray(a: Matrix4, b: Matrix4, r: Array): Matrix4 - override fun multiplyScalar(s: Number): Matrix4 - override fun determinant(): Number - override fun transpose(): Matrix4 - open fun setPosition(v: Vector3, y: Number = definedExternally, z: Number = definedExternally): Matrix4 - open fun setPosition(v: Number, y: Number = definedExternally, z: Number = definedExternally): Matrix4 - open fun getInverse(m: Matrix4): Matrix4 - override fun getInverse(matrix: Matrix): Matrix - open fun scale(v: Vector3): Matrix4 - open fun getMaxScaleOnAxis(): Number - open fun makeTranslation(x: Number, y: Number, z: Number): Matrix4 - open fun makeRotationX(theta: Number): Matrix4 - open fun makeRotationY(theta: Number): Matrix4 - open fun makeRotationZ(theta: Number): Matrix4 - open fun makeRotationAxis(axis: Vector3, angle: Number): Matrix4 - open fun makeScale(x: Number, y: Number, z: Number): Matrix4 - open fun compose(translation: Vector3, rotation: Quaternion, scale: Vector3): Matrix4 - open fun decompose(translation: Vector3, rotation: Quaternion, scale: Vector3): Matrix4 - open fun makePerspective(left: Number, right: Number, bottom: Number, top: Number, near: Number, far: Number): Matrix4 - open fun makePerspective(fov: Number, aspect: Number, near: Number, far: Number): Matrix4 - open fun makeOrthographic(left: Number, right: Number, top: Number, bottom: Number, near: Number, far: Number): Matrix4 - open fun equals(matrix: Matrix4): Boolean - open fun fromArray(array: Array, offset: Number = definedExternally): Matrix4 - open fun fromArray(array: DoubleArray, offset: Number = definedExternally): Matrix4 - open fun toArray(): DoubleArray - open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): DoubleArray - open fun toArray(array: DoubleArray = definedExternally, offset: Number = definedExternally): DoubleArray - open fun extractPosition(m: Matrix4): Matrix4 - open fun setRotationFromQuaternion(q: Quaternion): Matrix4 - open fun multiplyVector3(v: Any): Any - open fun multiplyVector4(v: Any): Any - open fun multiplyVector3Array(array: Array): Array - open fun rotateAxis(v: Any) - open fun crossVector(v: Any) - open fun flattenToArrayOffset(array: Array, offset: Number): Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Mesh.module_three.kt b/src/jsMain/kotlin/three/Mesh.module_three.kt deleted file mode 100644 index bd9aeba9ca..0000000000 --- a/src/jsMain/kotlin/three/Mesh.module_three.kt +++ /dev/null @@ -1,22 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$20` { - @nativeGetter - operator fun get(key: String): Number? - @nativeSetter - operator fun set(key: String, value: Number) -} - -open external class Mesh(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Object3D { - open var geometry: TGeometry - open var material: TMaterial - open var morphTargetInfluences: Array - open var morphTargetDictionary: `T$20` - open var isMesh: Boolean - override var type: String - open fun updateMorphTargets() - override fun raycast(raycaster: Raycaster, intersects: Array) -} diff --git a/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt b/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt deleted file mode 100644 index 2e3497630e..0000000000 --- a/src/jsMain/kotlin/three/MeshPhysicalMaterial.module_three.kt +++ /dev/null @@ -1,54 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import kotlin.js.Json - -external interface MeshPhysicalMaterialParameters : MeshStandardMaterialParameters { - var clearcoat: Number? - get() = definedExternally - set(value) = definedExternally - var clearcoatMap: Texture? - get() = definedExternally - set(value) = definedExternally - var clearcoatRoughness: Number? - get() = definedExternally - set(value) = definedExternally - var clearcoatRoughnessMap: Texture? - get() = definedExternally - set(value) = definedExternally - var clearcoatNormalScale: Vector2? - get() = definedExternally - set(value) = definedExternally - var clearcoatNormalMap: Texture? - get() = definedExternally - set(value) = definedExternally - var reflectivity: Number? - get() = definedExternally - set(value) = definedExternally - var sheen: Color? - get() = definedExternally - set(value) = definedExternally - var transmission: Number? - get() = definedExternally - set(value) = definedExternally - var transmissionMap: Texture? - get() = definedExternally - set(value) = definedExternally -} - -open external class MeshPhysicalMaterial(parameters: MeshPhysicalMaterialParameters) : MeshStandardMaterial { - override var type: String - override var defines: Json - open var clearcoat: Number - open var clearcoatMap: Texture? - open var clearcoatRoughness: Number - open var clearcoatRoughnessMap: Texture? - open var clearcoatNormalScale: Vector2 - open var clearcoatNormalMap: Texture? - open var reflectivity: Number - open var sheen: Color? - open var transmission: Number - open var transmissionMap: Texture? -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt b/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt deleted file mode 100644 index c45589f158..0000000000 --- a/src/jsMain/kotlin/three/NumberKeyframeTrack.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class NumberKeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) : KeyframeTrack { - override var ValueTypeName: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Object3D.module_three.kt b/src/jsMain/kotlin/three/Object3D.module_three.kt deleted file mode 100644 index 1e37e9e49a..0000000000 --- a/src/jsMain/kotlin/three/Object3D.module_three.kt +++ /dev/null @@ -1,89 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import js.objects.Object - -external interface `T$0` { - var geometries: Any - var materials: Any - var textures: Any - var images: Any -} - -open external class Object3D : EventDispatcher { - open var id: Number - open var uuid: String - open var name: String - open var type: String - open var parent: Object3D? - open var children: Array - open var up: Vector3 - open var position: Vector3 - open var rotation: Euler - open var quaternion: Quaternion - open var scale: Vector3 - open var modelViewMatrix: Matrix4 - open var normalMatrix: Matrix3 - open var matrix: Matrix4 - open var matrixWorld: Matrix4 - open var matrixAutoUpdate: Boolean - open var matrixWorldNeedsUpdate: Boolean - open var layers: Layers - open var visible: Boolean - open var castShadow: Boolean - open var receiveShadow: Boolean - open var frustumCulled: Boolean - open var renderOrder: Number - open var userData: Object - open var customDepthMaterial: Material - open var customDistanceMaterial: Material - open var isObject3D: Boolean - open var onBeforeRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: dynamic /* Geometry | BufferGeometry */, material: Material, group: Group) -> Unit - open var onAfterRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: dynamic /* Geometry | BufferGeometry */, material: Material, group: Group) -> Unit - open fun applyMatrix4(matrix: Matrix4) - open fun applyQuaternion(quaternion: Quaternion): Object3D /* this */ - open fun setRotationFromAxisAngle(axis: Vector3, angle: Number) - open fun setRotationFromEuler(euler: Euler) - open fun setRotationFromMatrix(m: Matrix4) - open fun setRotationFromQuaternion(q: Quaternion) - open fun rotateOnAxis(axis: Vector3, angle: Number): Object3D /* this */ - open fun rotateOnWorldAxis(axis: Vector3, angle: Number): Object3D /* this */ - open fun rotateX(angle: Number): Object3D /* this */ - open fun rotateY(angle: Number): Object3D /* this */ - open fun rotateZ(angle: Number): Object3D /* this */ - open fun translateOnAxis(axis: Vector3, distance: Number): Object3D /* this */ - open fun translateX(distance: Number): Object3D /* this */ - open fun translateY(distance: Number): Object3D /* this */ - open fun translateZ(distance: Number): Object3D /* this */ - open fun localToWorld(vector: Vector3): Vector3 - open fun worldToLocal(vector: Vector3): Vector3 - open fun lookAt(vector: Vector3, y: Number = definedExternally, z: Number = definedExternally) - open fun lookAt(vector: Number, y: Number = definedExternally, z: Number = definedExternally) - open fun add(vararg obj: Object3D): Object3D /* this */ - open fun remove(vararg obj: Object3D): Object3D /* this */ - open fun attach(obj: Object3D): Object3D /* this */ - open fun getObjectById(id: Number): Object3D? - open fun getObjectByName(name: String): Object3D? - open fun getObjectByProperty(name: String, value: String): Object3D? - open fun getWorldPosition(target: Vector3): Vector3 - open fun getWorldQuaternion(target: Quaternion): Quaternion - open fun getWorldScale(target: Vector3): Vector3 - open fun getWorldDirection(target: Vector3): Vector3 - open fun raycast(raycaster: Raycaster, intersects: Array) - open fun traverse(callback: (obj: Object3D) -> Any) - open fun traverseVisible(callback: (obj: Object3D) -> Any) - open fun traverseAncestors(callback: (obj: Object3D) -> Any) - open fun updateMatrix() - open fun updateMatrixWorld(force: Boolean = definedExternally) - open fun updateWorldMatrix(updateParents: Boolean, updateChildren: Boolean) - open fun toJSON(meta: `T$0` = definedExternally): Any - open fun clone(recursive: Boolean = definedExternally): Object3D /* this */ - open fun copy(source: Object3D /* this */, recursive: Boolean = definedExternally): Object3D /* this */ - - companion object { - var DefaultUp: Vector3 - var DefaultMatrixAutoUpdate: Boolean - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ObjectLoader.module_three.kt b/src/jsMain/kotlin/three/ObjectLoader.module_three.kt deleted file mode 100644 index 87b9988d6c..0000000000 --- a/src/jsMain/kotlin/three/ObjectLoader.module_three.kt +++ /dev/null @@ -1,25 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.HTMLImageElement -import org.w3c.xhr.ProgressEvent - -external interface `T$45` { - @nativeGetter - operator fun get(key: String): HTMLImageElement? - @nativeSetter - operator fun set(key: String, value: HTMLImageElement) -} - -open external class ObjectLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (obj: ObjectType) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: dynamic /* Error | ErrorEvent */) -> Unit = definedExternally) - open fun parse(json: Any, onLoad: (obj: Object3D) -> Unit = definedExternally): T - open fun parseGeometries(json: Any): Array - open fun parseMaterials(json: Any, textures: Array): Array - open fun parseAnimations(json: Any): Array - open fun parseImages(json: Any, onLoad: () -> Unit): `T$45` - open fun parseTextures(json: Any, images: Any): Array - open fun parseObject(data: Any, geometries: Array, materials: Array): T -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt b/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt deleted file mode 100644 index a96ccb5f37..0000000000 --- a/src/jsMain/kotlin/three/OctahedronGeometry.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class OctahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt b/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt deleted file mode 100644 index 97536a417a..0000000000 --- a/src/jsMain/kotlin/three/OrthographicCamera.module_three.kt +++ /dev/null @@ -1,22 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class OrthographicCamera(left: Number, right: Number, top: Number, bottom: Number, near: Number = definedExternally, far: Number = definedExternally) : Camera { - override var type: String /* 'OrthographicCamera' */ - open var isOrthographicCamera: Boolean - open var zoom: Number - open var view: `T$48`? - open var left: Number - open var right: Number - open var top: Number - open var bottom: Number - open var near: Number - open var far: Number - open fun updateProjectionMatrix() - open fun setViewOffset(fullWidth: Number, fullHeight: Number, offsetX: Number, offsetY: Number, width: Number, height: Number) - open fun clearViewOffset() - open fun toJSON(meta: Any = definedExternally): Any - override fun toJSON(meta: `T$0`): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt b/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt deleted file mode 100644 index 1085af0da6..0000000000 --- a/src/jsMain/kotlin/three/PMREMGenerator.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class PMREMGenerator(renderer: WebGLRenderer) { - open fun fromScene(scene: Scene, sigma: Number = definedExternally, near: Number = definedExternally, far: Number = definedExternally): WebGLRenderTarget - open fun fromEquirectangular(equirectangular: Texture): WebGLRenderTarget - open fun fromCubemap(cubemap: CubeTexture): WebGLRenderTarget - open fun compileCubemapShader() - open fun compileEquirectangularShader() - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ParametricGeometry.module_three.kt b/src/jsMain/kotlin/three/ParametricGeometry.module_three.kt deleted file mode 100644 index 0a480d75ba..0000000000 --- a/src/jsMain/kotlin/three/ParametricGeometry.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$26` { - var func: (u: Number, v: Number, dest: Vector3) -> Unit - var slices: Number - var stacks: Number -} - -open external class ParametricGeometry(func: (u: Number, v: Number, dest: Vector3) -> Unit, slices: Number, stacks: Number) : Geometry { - override var type: String - open var parameters: `T$26` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt b/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt deleted file mode 100644 index 1ff8d2c77b..0000000000 --- a/src/jsMain/kotlin/three/PlaneGeometry.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$36` { - var width: Number - var height: Number - var widthSegments: Number - var heightSegments: Number -} - -open external class PlaneGeometry(width: Number = definedExternally, height: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$36` -} - -open external class PlaneBufferGeometry(width: Number = definedExternally, height: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally) : BufferGeometry { - override var type: String - open var parameters: `T$36` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PointLight.module_three.kt b/src/jsMain/kotlin/three/PointLight.module_three.kt deleted file mode 100644 index 3533ccb218..0000000000 --- a/src/jsMain/kotlin/three/PointLight.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class PointLight : Light { - constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, decay: Number = definedExternally) - override var type: String - override var intensity: Number - open var distance: Number - open var decay: Number - override var shadow: /*Point*/LightShadow - open var power: Number -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PointLightHelper.module_three.kt b/src/jsMain/kotlin/three/PointLightHelper.module_three.kt deleted file mode 100644 index 46b67af217..0000000000 --- a/src/jsMain/kotlin/three/PointLightHelper.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class PointLightHelper : Object3D { - constructor(light: PointLight, sphereSize: Number = definedExternally, color: Color = definedExternally) - constructor(light: PointLight, sphereSize: Number = definedExternally, color: String = definedExternally) - constructor(light: PointLight, sphereSize: Number = definedExternally, color: Number = definedExternally) - override var type: String - open var light: PointLight - open var color: dynamic /* Color? | String? | Number? */ - override var matrix: Matrix4 - override var matrixAutoUpdate: Boolean - open fun dispose() - open fun update() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PointLightShadow.module_three.kt b/src/jsMain/kotlin/three/PointLightShadow.module_three.kt deleted file mode 100644 index 5cca11dfb8..0000000000 --- a/src/jsMain/kotlin/three/PointLightShadow.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class PointLightShadow : LightShadow { - override var camera: /*Perspective*/Camera -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Points.module_three.kt b/src/jsMain/kotlin/three/Points.module_three.kt deleted file mode 100644 index 82b5ac72e1..0000000000 --- a/src/jsMain/kotlin/three/Points.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Points(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally) : Object3D { - override var type: String /* 'Points' */ - open var morphTargetInfluences: Array - open var morphTargetDictionary: `T$20` - open var isPoints: Boolean - open var geometry: TGeometry - open var material: TMaterial - override fun raycast(raycaster: Raycaster, intersects: Array) - open fun updateMorphTargets() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt b/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt deleted file mode 100644 index 5cab759ffe..0000000000 --- a/src/jsMain/kotlin/three/PolarGridHelper.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class PolarGridHelper : LineSegments { - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Color?, color2: Color?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Color?, color2: String?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Color?, color2: Number?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: String?, color2: Color?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: String?, color2: String?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: String?, color2: Number?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Number?, color2: Color?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Number?, color2: String?) - constructor(radius: Number, radials: Number, circles: Number, divisions: Number, color1: Number?, color2: Number?) - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt b/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt deleted file mode 100644 index e62c37229b..0000000000 --- a/src/jsMain/kotlin/three/PolyhedronGeometry.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$27` { - var vertices: Array - var indices: Array - var radius: Number - var detail: Number -} - -open external class PolyhedronBufferGeometry(vertices: Array, indices: Array, radius: Number = definedExternally, detail: Number = definedExternally) : BufferGeometry { - override var type: String - open var parameters: `T$27` -} - -open external class PolyhedronGeometry(vertices: Array, indices: Array, radius: Number = definedExternally, detail: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$27` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Quaternion.module_three.kt b/src/jsMain/kotlin/three/Quaternion.module_three.kt deleted file mode 100644 index 9abfba04f5..0000000000 --- a/src/jsMain/kotlin/three/Quaternion.module_three.kt +++ /dev/null @@ -1,46 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Quaternion(x: Number = definedExternally, y: Number = definedExternally, z: Number = definedExternally, w: Number = definedExternally) { - open var x: Number - open var y: Number - open var z: Number - open var w: Number - open var isQuaternion: Boolean - open fun set(x: Number, y: Number, z: Number, w: Number): Quaternion - open fun clone(): Quaternion /* this */ - open fun copy(q: Quaternion): Quaternion /* this */ - open fun setFromEuler(euler: Euler): Quaternion - open fun setFromAxisAngle(axis: Vector3, angle: Number): Quaternion - open fun setFromRotationMatrix(m: Matrix4): Quaternion - open fun setFromUnitVectors(vFrom: Vector3, vTo: Vector3): Quaternion - open fun angleTo(q: Quaternion): Number - open fun rotateTowards(q: Quaternion, step: Number): Quaternion - open fun identity(): Quaternion - open fun inverse(): Quaternion - open fun conjugate(): Quaternion - open fun dot(v: Quaternion): Number - open fun lengthSq(): Number - open fun length(): Number - open fun normalize(): Quaternion - open fun multiply(q: Quaternion): Quaternion - open fun premultiply(q: Quaternion): Quaternion - open fun multiplyQuaternions(a: Quaternion, b: Quaternion): Quaternion - open fun slerp(qb: Quaternion, t: Number): Quaternion - open fun equals(v: Quaternion): Boolean - open fun fromArray(array: Array, offset: Number = definedExternally): Quaternion /* this */ - open fun fromArray(array: ArrayLike, offset: Number = definedExternally): Quaternion /* this */ - open fun toArray(array: Array = definedExternally, offset: Number = definedExternally): Array - open fun toArray(array: ArrayLike, offset: Number = definedExternally): ArrayLike - open fun _onChange(callback: Function<*>): Quaternion - open var _onChangeCallback: Function<*> - open fun multiplyVector3(v: Any): Any - - companion object { - fun slerp(qa: Quaternion, qb: Quaternion, qm: Quaternion, t: Number): Quaternion - fun slerpFlat(dst: Array, dstOffset: Number, src0: Array, srcOffset: Number, src1: Array, stcOffset1: Number, t: Number): Quaternion - fun multiplyQuaternionsFlat(dst: Array, dstOffset: Number, src0: Array, srcOffset: Number, src1: Array, stcOffset1: Number): Array - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt b/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt deleted file mode 100644 index 91e7bbcab4..0000000000 --- a/src/jsMain/kotlin/three/QuaternionKeyframeTrack.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class QuaternionKeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) : KeyframeTrack { - override var ValueTypeName: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt b/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt deleted file mode 100644 index bd8d8c822a..0000000000 --- a/src/jsMain/kotlin/three/QuaternionLinearInterpolant.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class QuaternionLinearInterpolant(parameterPositions: Any, samplesValues: Any, sampleSize: Number, resultBuffer: Any = definedExternally) : Interpolant { - open fun interpolate_(i1: Number, t0: Number, t: Number, t1: Number): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt b/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt deleted file mode 100644 index 77024ee2a5..0000000000 --- a/src/jsMain/kotlin/three/RawShaderMaterial.module_three.kt +++ /dev/null @@ -1,6 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class RawShaderMaterial(parameters: ShaderMaterialParameters = definedExternally) : ShaderMaterial \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Raycaster.module_three.kt b/src/jsMain/kotlin/three/Raycaster.module_three.kt deleted file mode 100644 index cdf797f938..0000000000 --- a/src/jsMain/kotlin/three/Raycaster.module_three.kt +++ /dev/null @@ -1,63 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface Intersection { - var distance: Number - var distanceToRay: Number? - get() = definedExternally - set(value) = definedExternally - var point: Vector3 - var index: Number? - get() = definedExternally - set(value) = definedExternally - var face: Face3? - get() = definedExternally - set(value) = definedExternally - var faceIndex: Number? - get() = definedExternally - set(value) = definedExternally - var `object`: Object3D - var uv: Vector2? - get() = definedExternally - set(value) = definedExternally - var instanceId: Number? - get() = definedExternally - set(value) = definedExternally -} - -external interface RaycasterThreshold { - var threshold: Number -} - -external interface RaycasterParameters { - var Mesh: Any? - get() = definedExternally - set(value) = definedExternally - var Line: RaycasterThreshold? - get() = definedExternally - set(value) = definedExternally - var LOD: Any? - get() = definedExternally - set(value) = definedExternally - var Points: RaycasterThreshold? - get() = definedExternally - set(value) = definedExternally - var Sprite: Any? - get() = definedExternally - set(value) = definedExternally -} - -open external class Raycaster(origin: Vector3 = definedExternally, direction: Vector3 = definedExternally, near: Number = definedExternally, far: Number = definedExternally) { - open var ray: Ray - open var near: Number - open var far: Number - open var camera: Camera - open var layers: Layers - open var params: RaycasterParameters - open fun set(origin: Vector3, direction: Vector3) - open fun setFromCamera(coords: Vector2, camera: Camera) - open fun intersectObject(obj: Object3D, recursive: Boolean = definedExternally, optionalTarget: Array = definedExternally): Array - open fun intersectObjects(objects: Array, recursive: Boolean = definedExternally, optionalTarget: Array = definedExternally): Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/RectAreaLight.module_three.kt b/src/jsMain/kotlin/three/RectAreaLight.module_three.kt deleted file mode 100644 index f9d6271bf0..0000000000 --- a/src/jsMain/kotlin/three/RectAreaLight.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class RectAreaLight : Light { - constructor(color: Color = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - override var type: String - open var width: Number - open var height: Number - override var intensity: Number - open var isRectAreaLight: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/RingGeometry.module_three.kt b/src/jsMain/kotlin/three/RingGeometry.module_three.kt deleted file mode 100644 index a71bc29d41..0000000000 --- a/src/jsMain/kotlin/three/RingGeometry.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$35` { - var innerRadius: Number - var outerRadius: Number - var thetaSegments: Number - var phiSegments: Number - var thetaStart: Number - var thetaLength: Number -} - -open external class RingGeometry(innerRadius: Number = definedExternally, outerRadius: Number = definedExternally, thetaSegments: Number = definedExternally, phiSegments: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$35` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Scene.module_three.kt b/src/jsMain/kotlin/three/Scene.module_three.kt deleted file mode 100644 index 2ea854095e..0000000000 --- a/src/jsMain/kotlin/three/Scene.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Scene : Object3D { - override var type: String /* 'Scene' */ - open var fog: IFog? - open var overrideMaterial: Material? - open var autoUpdate: Boolean - open var background: dynamic /* Color? | Texture? | WebGLCubeRenderTarget? */ - open var environment: Texture? - open var isScene: Boolean - open fun toJSON(meta: Any = definedExternally): Any - override fun toJSON(meta: `T$0`): Any - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ShaderLib.module_three.kt b/src/jsMain/kotlin/three/ShaderLib.module_three.kt deleted file mode 100644 index c0b5e8ba0b..0000000000 --- a/src/jsMain/kotlin/three/ShaderLib.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$8` { - @nativeGetter - operator fun get(uniform: String): IUniform? - @nativeSetter - operator fun set(uniform: String, value: IUniform) -} - -external interface Shader { - var uniforms: `T$8` - var vertexShader: String - var fragmentShader: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt b/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt deleted file mode 100644 index 598e5efce3..0000000000 --- a/src/jsMain/kotlin/three/ShadowMaterial.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface ShadowMaterialParameters : MaterialParameters { - var color: dynamic /* Color? | String? | Number? */ - get() = definedExternally - set(value) = definedExternally -} - -open external class ShadowMaterial(parameters: ShadowMaterialParameters = definedExternally) : Material { - override var type: String - open var color: Color - override var transparent: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Shape.module_three.kt b/src/jsMain/kotlin/three/Shape.module_three.kt deleted file mode 100644 index bd8b693f7d..0000000000 --- a/src/jsMain/kotlin/three/Shape.module_three.kt +++ /dev/null @@ -1,19 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$33` { - var shape: Array - var holes: Array> -} - -open external class Shape(points: Array = definedExternally) : Path { - override var type: String - open var holes: Array - open fun extrude(options: Any = definedExternally): ExtrudeGeometry - open fun makeGeometry(options: Any = definedExternally): ShapeGeometry - open fun getPointsHoles(divisions: Number): Array> - open fun extractAllPoints(divisions: Number): `T$33` - open fun extractPoints(divisions: Number): `T$33` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt b/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt deleted file mode 100644 index cb4f21989e..0000000000 --- a/src/jsMain/kotlin/three/ShapeGeometry.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class ShapeGeometry : Geometry { - constructor(shapes: Shape, curveSegments: Number = definedExternally) - constructor(shapes: Array, curveSegments: Number = definedExternally) - override var type: String - open fun addShapeList(shapes: Array, options: Any): ShapeGeometry - open fun addShape(shape: Shape, options: Any = definedExternally) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Skeleton.module_three.kt b/src/jsMain/kotlin/three/Skeleton.module_three.kt deleted file mode 100644 index 36e65f438a..0000000000 --- a/src/jsMain/kotlin/three/Skeleton.module_three.kt +++ /dev/null @@ -1,20 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.Float32Array - -open external class Skeleton(bones: Array, boneInverses: Array = definedExternally) { - open var useVertexTexture: Boolean - open var bones: Array - open var boneMatrices: Float32Array - open var boneTexture: DataTexture? - open var boneInverses: Array - open fun calculateInverses(bone: Bone) - open fun pose() - open fun update() - open fun clone(): Skeleton - open fun getBoneByName(name: String): Bone? - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt b/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt deleted file mode 100644 index d5a259a429..0000000000 --- a/src/jsMain/kotlin/three/SkeletonHelper.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class SkeletonHelper(obj: Object3D) : LineSegments { - override var type: String - open var bones: Array - open var root: Object3D - open var isSkeletonHelper: Boolean - override var matrix: Matrix4 - override var matrixAutoUpdate: Boolean - open fun getBoneList(obj: Object3D): Array - open fun update() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt b/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt deleted file mode 100644 index 70c8f953af..0000000000 --- a/src/jsMain/kotlin/three/SkinnedMesh.module_three.kt +++ /dev/null @@ -1,16 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class SkinnedMesh(geometry: TGeometry = definedExternally, material: TMaterial = definedExternally, useVertexTexture: Boolean = definedExternally) : Mesh { - open var bindMode: String - open var bindMatrix: Matrix4 - open var bindMatrixInverse: Matrix4 - open var skeleton: Skeleton - open var isSkinnedMesh: Boolean - open fun bind(skeleton: Skeleton, bindMatrix: Matrix4 = definedExternally) - open fun pose() - open fun normalizeSkinWeights() - override fun updateMatrixWorld(force: Boolean) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SphereGeometry.module_three.kt b/src/jsMain/kotlin/three/SphereGeometry.module_three.kt deleted file mode 100644 index c6d7c84aa4..0000000000 --- a/src/jsMain/kotlin/three/SphereGeometry.module_three.kt +++ /dev/null @@ -1,24 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$34` { - var radius: Number - var widthSegments: Number - var heightSegments: Number - var phiStart: Number - var phiLength: Number - var thetaStart: Number - var thetaLength: Number -} - -open external class SphereGeometry(radius: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally, phiStart: Number = definedExternally, phiLength: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$34` -} - -open external class SphereBufferGeometry(radius: Number = definedExternally, widthSegments: Number = definedExternally, heightSegments: Number = definedExternally, phiStart: Number = definedExternally, phiLength: Number = definedExternally, thetaStart: Number = definedExternally, thetaLength: Number = definedExternally) : BufferGeometry { - override var type: String - open var parameters: `T$34` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SpotLight.module_three.kt b/src/jsMain/kotlin/three/SpotLight.module_three.kt deleted file mode 100644 index 2ee749fe7a..0000000000 --- a/src/jsMain/kotlin/three/SpotLight.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class SpotLight : Light { - constructor(color: Color = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) - constructor(color: String = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) - constructor(color: Number = definedExternally, intensity: Number = definedExternally, distance: Number = definedExternally, angle: Number = definedExternally, penumbra: Number = definedExternally, decay: Number = definedExternally) - override var type: String - override var position: Vector3 - open var target: Object3D - override var intensity: Number - open var distance: Number - open var angle: Number - open var decay: Number - override var shadow: /*Spot*/LightShadow - open var power: Number - open var penumbra: Number - open var isSpotLight: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt b/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt deleted file mode 100644 index 3d68ba9ede..0000000000 --- a/src/jsMain/kotlin/three/SpotLightHelper.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class SpotLightHelper : Object3D { - constructor(light: Light, color: Color = definedExternally) - constructor(light: Light, color: String = definedExternally) - constructor(light: Light, color: Number = definedExternally) - open var light: Light - override var matrix: Matrix4 - override var matrixAutoUpdate: Boolean - open var color: dynamic /* Color? | String? | Number? */ - open var cone: LineSegments - open fun dispose() - open fun update() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt b/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt deleted file mode 100644 index fa0119ae9a..0000000000 --- a/src/jsMain/kotlin/three/SpotLightShadow.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class SpotLightShadow : LightShadow { - override var camera: /*Perspective*/Camera - open var isSpotLightShadow: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Sprite.module_three.kt b/src/jsMain/kotlin/three/Sprite.module_three.kt deleted file mode 100644 index 310b5b5d1b..0000000000 --- a/src/jsMain/kotlin/three/Sprite.module_three.kt +++ /dev/null @@ -1,14 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Sprite(material: SpriteMaterial = definedExternally) : Object3D { - override var type: String /* 'Sprite' */ - open var isSprite: Boolean - open var geometry: BufferGeometry - open var material: SpriteMaterial - open var center: Vector2 - override fun raycast(raycaster: Raycaster, intersects: Array) - open fun copy(source: Sprite /* this */): Sprite /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt b/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt deleted file mode 100644 index 90ca70f266..0000000000 --- a/src/jsMain/kotlin/three/StringKeyframeTrack.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class StringKeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) : KeyframeTrack { - override var ValueTypeName: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt b/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt deleted file mode 100644 index 81c0b19bca..0000000000 --- a/src/jsMain/kotlin/three/TetrahedronGeometry.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class TetrahedronGeometry(radius: Number = definedExternally, detail: Number = definedExternally) : PolyhedronGeometry { - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TextGeometry.module_three.kt b/src/jsMain/kotlin/three/TextGeometry.module_three.kt deleted file mode 100644 index 9b01e7b077..0000000000 --- a/src/jsMain/kotlin/three/TextGeometry.module_three.kt +++ /dev/null @@ -1,49 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface TextGeometryParameters { - var font: Font - var size: Number? - get() = definedExternally - set(value) = definedExternally - var height: Number? - get() = definedExternally - set(value) = definedExternally - var curveSegments: Number? - get() = definedExternally - set(value) = definedExternally - var bevelEnabled: Boolean? - get() = definedExternally - set(value) = definedExternally - var bevelThickness: Number? - get() = definedExternally - set(value) = definedExternally - var bevelSize: Number? - get() = definedExternally - set(value) = definedExternally - var bevelOffset: Number? - get() = definedExternally - set(value) = definedExternally - var bevelSegments: Number? - get() = definedExternally - set(value) = definedExternally -} - -external interface `T$32` { - var font: Font - var size: Number - var height: Number - var curveSegments: Number - var bevelEnabled: Boolean - var bevelThickness: Number - var bevelSize: Number - var bevelOffset: Number - var bevelSegments: Number -} - -open external class TextGeometry(text: String, parameters: TextGeometryParameters) : ExtrudeGeometry { - override var type: String - open var parameters: `T$32` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Texture.module_three.kt b/src/jsMain/kotlin/three/Texture.module_three.kt deleted file mode 100644 index e801cca441..0000000000 --- a/src/jsMain/kotlin/three/Texture.module_three.kt +++ /dev/null @@ -1,56 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.HTMLCanvasElement -import org.w3c.dom.HTMLImageElement -import org.w3c.dom.HTMLVideoElement -import org.w3c.dom.ImageData - -open external class Texture : EventDispatcher { - constructor(image: HTMLImageElement = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(image: HTMLCanvasElement = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - constructor(image: HTMLVideoElement = definedExternally, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally, encoding: TextureEncoding = definedExternally) - open var id: Number - open var uuid: String - open var name: String - open var sourceFile: String - open var image: ImageData - open var mipmaps: Array - open var mapping: Mapping - open var wrapS: Wrapping - open var wrapT: Wrapping - open var magFilter: TextureFilter - open var minFilter: TextureFilter - open var anisotropy: Number - open var format: PixelFormat - open var internalFormat: String /* 'ALPHA' | 'RGB' | 'RGBA' | 'LUMINANCE' | 'LUMINANCE_ALPHA' | 'RED_INTEGER' | 'R8' | 'R8_SNORM' | 'R8I' | 'R8UI' | 'R16I' | 'R16UI' | 'R16F' | 'R32I' | 'R32UI' | 'R32F' | 'RG8' | 'RG8_SNORM' | 'RG8I' | 'RG8UI' | 'RG16I' | 'RG16UI' | 'RG16F' | 'RG32I' | 'RG32UI' | 'RG32F' | 'RGB565' | 'RGB8' | 'RGB8_SNORM' | 'RGB8I' | 'RGB8UI' | 'RGB16I' | 'RGB16UI' | 'RGB16F' | 'RGB32I' | 'RGB32UI' | 'RGB32F' | 'RGB9_E5' | 'SRGB8' | 'R11F_G11F_B10F' | 'RGBA4' | 'RGBA8' | 'RGBA8_SNORM' | 'RGBA8I' | 'RGBA8UI' | 'RGBA16I' | 'RGBA16UI' | 'RGBA16F' | 'RGBA32I' | 'RGBA32UI' | 'RGBA32F' | 'RGB5_A1' | 'RGB10_A2' | 'RGB10_A2UI' | 'SRGB8_ALPHA8' | 'DEPTH_COMPONENT16' | 'DEPTH_COMPONENT24' | 'DEPTH_COMPONENT32F' | 'DEPTH24_STENCIL8' | 'DEPTH32F_STENCIL8' */ - open var type: TextureDataType - open var matrix: Matrix3 - open var matrixAutoUpdate: Boolean - open var offset: Vector2 - open var repeat: Vector2 - open var center: Vector2 - open var rotation: Number - open var generateMipmaps: Boolean - open var premultiplyAlpha: Boolean - open var flipY: Boolean - open var unpackAlignment: Number - open var encoding: TextureEncoding - open var version: Number - open var needsUpdate: Boolean - open var isTexture: Boolean - open var onUpdate: () -> Unit - open fun clone(): Texture /* this */ - open fun copy(source: Texture): Texture /* this */ - open fun toJSON(meta: Any): Any - open fun dispose() - open fun transformUv(uv: Vector2): Vector2 - open fun updateMatrix() - - companion object { - var DEFAULT_IMAGE: Any - var DEFAULT_MAPPING: Any - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TextureLoader.module_three.kt b/src/jsMain/kotlin/three/TextureLoader.module_three.kt deleted file mode 100644 index 2b90b7cabf..0000000000 --- a/src/jsMain/kotlin/three/TextureLoader.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.ErrorEvent -import org.w3c.xhr.ProgressEvent - -open external class TextureLoader(manager: LoadingManager = definedExternally) : Loader { - open fun load(url: String, onLoad: (texture: Texture) -> Unit = definedExternally, onProgress: (event: ProgressEvent) -> Unit = definedExternally, onError: (event: ErrorEvent) -> Unit = definedExternally): Texture -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Three.module_three.kt b/src/jsMain/kotlin/three/Three.module_three.kt deleted file mode 100644 index 05679e0600..0000000000 --- a/src/jsMain/kotlin/three/Three.module_three.kt +++ /dev/null @@ -1,28 +0,0 @@ -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.ArrayBufferView - -typealias GLenum = Number - -typealias TypedArray = ArrayBufferView - -external interface AudioNode - -external interface GainNode : AudioNode - -external interface PannerNode : AudioNode - -external interface AudioContext - -external interface AudioBuffer - -external interface AudioBufferSourceNode - -external interface MediaStream - -external interface AnalyserNode - -external interface ArrayLike - -external interface WebGL2RenderingContext \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TorusGeometry.module_three.kt b/src/jsMain/kotlin/three/TorusGeometry.module_three.kt deleted file mode 100644 index e4b6ef635d..0000000000 --- a/src/jsMain/kotlin/three/TorusGeometry.module_three.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$31` { - var radius: Number - var tube: Number - var radialSegments: Number - var tubularSegments: Number - var arc: Number -} - -open external class TorusGeometry(radius: Number = definedExternally, tube: Number = definedExternally, radialSegments: Number = definedExternally, tubularSegments: Number = definedExternally, arc: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$31` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt b/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt deleted file mode 100644 index 82307688eb..0000000000 --- a/src/jsMain/kotlin/three/TorusKnotGeometry.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$30` { - var radius: Number - var tube: Number - var tubularSegments: Number - var radialSegments: Number - var p: Number - var q: Number -} - -open external class TorusKnotGeometry(radius: Number = definedExternally, tube: Number = definedExternally, tubularSegments: Number = definedExternally, radialSegments: Number = definedExternally, p: Number = definedExternally, q: Number = definedExternally) : Geometry { - override var type: String - open var parameters: `T$30` -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/TubeGeometry.module_three.kt b/src/jsMain/kotlin/three/TubeGeometry.module_three.kt deleted file mode 100644 index 28e12d4608..0000000000 --- a/src/jsMain/kotlin/three/TubeGeometry.module_three.kt +++ /dev/null @@ -1,19 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$29` { - var path: Curve - var tubularSegments: Number - var radius: Number - var radialSegments: Number - var closed: Boolean -} - -open external class TubeGeometry(path: Curve, tubularSegments: Number = definedExternally, radius: Number = definedExternally, radiusSegments: Number = definedExternally, closed: Boolean = definedExternally) : Geometry { - open var parameters: `T$29` - open var tangents: Array - open var normals: Array - open var binormals: Array -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Uniform.module_three.kt b/src/jsMain/kotlin/three/Uniform.module_three.kt deleted file mode 100644 index 625bb9b522..0000000000 --- a/src/jsMain/kotlin/three/Uniform.module_three.kt +++ /dev/null @@ -1,14 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Uniform { - constructor(value: Any) - constructor(type: String, value: Any) - open var type: String - open var value: Any - open var dynamic: Boolean - open var onUpdateCallback: Function<*> - open fun onUpdate(callback: Function<*>): Uniform -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/UniformsLib.module_three.kt b/src/jsMain/kotlin/three/UniformsLib.module_three.kt deleted file mode 100644 index 9c023a1528..0000000000 --- a/src/jsMain/kotlin/three/UniformsLib.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface IUniform { - var value: Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Vector2.module_three.kt b/src/jsMain/kotlin/three/Vector2.module_three.kt deleted file mode 100644 index 383d06bb5e..0000000000 --- a/src/jsMain/kotlin/three/Vector2.module_three.kt +++ /dev/null @@ -1,105 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface Vector { - fun setComponent(index: Number, value: Number): Vector /* this */ - fun getComponent(index: Number): Double -// fun set(vararg args: Double): Vector /* this */ - fun setScalar(scalar: Double): Vector /* this */ - fun copy(v: Vector): Vector /* this */ - fun add(v: Vector): Vector /* this */ - fun addVectors(a: Vector, b: Vector): Vector /* this */ - fun addScaledVector(vector: Vector, scale: Number): Vector /* this */ - fun addScalar(scalar: Double): Vector /* this */ - fun sub(v: Vector): Vector /* this */ - fun subVectors(a: Vector, b: Vector): Vector /* this */ - fun multiplyScalar(s: Number): Vector /* this */ - fun divideScalar(s: Number): Vector /* this */ - fun negate(): Vector /* this */ - fun dot(v: Vector): Double - fun lengthSq(): Double - fun length(): Double - fun normalize(): Vector /* this */ - val distanceTo: ((v: Vector) -> Double)? - get() = definedExternally - val distanceToSquared: ((v: Vector) -> Double)? - get() = definedExternally - fun setLength(l: Number): Vector /* this */ - fun lerp(v: Vector, alpha: Number): Vector /* this */ - fun equals(v: Vector): Boolean - fun clone(): Vector /* this */ -} - -open external class Vector2(x: Double = definedExternally, y: Double = definedExternally) : Vector { - constructor(x: Number, y: Number) - - open var x: Double - open var y: Double - open var width: Double - open var height: Double - open var isVector2: Boolean - open fun set(x: Double, y: Double): Vector2 /* this */ - override fun setScalar(scalar: Double): Vector2 /* this */ - open fun setX(x: Double): Vector2 /* this */ - open fun setY(y: Double): Vector2 /* this */ - override fun setComponent(index: Number, value: Number): Vector2 /* this */ - override fun getComponent(index: Number): Double - override fun clone(): Vector2 /* this */ - open fun copy(v: Vector2): Vector2 /* this */ - override fun copy(v: Vector): Vector /* this */ - override fun add(v: Vector): Vector2 /* this */ - open fun add(v: Vector2, w: Vector2 = definedExternally): Vector2 /* this */ - override fun addScalar(s: Double): Vector2 /* this */ - open fun addVectors(a: Vector2, b: Vector2): Vector2 /* this */ - override fun addVectors(a: Vector, b: Vector): Vector /* this */ - open fun addScaledVector(v: Vector2, s: Double): Vector2 /* this */ - override fun addScaledVector(vector: Vector, scale: Number): Vector /* this */ - open fun sub(v: Vector2): Vector2 /* this */ - override fun sub(v: Vector): Vector /* this */ - open fun subScalar(s: Double): Vector2 /* this */ - open fun subVectors(a: Vector2, b: Vector2): Vector2 /* this */ - override fun subVectors(a: Vector, b: Vector): Vector /* this */ - open fun multiply(v: Vector2): Vector2 /* this */ - override fun multiplyScalar(scalar: Number): Vector2 /* this */ - open fun divide(v: Vector2): Vector2 /* this */ - override fun divideScalar(s: Number): Vector2 /* this */ - open fun applyMatrix3(m: Matrix3): Vector2 /* this */ - open fun min(v: Vector2): Vector2 /* this */ - open fun max(v: Vector2): Vector2 /* this */ - open fun clamp(min: Vector2, max: Vector2): Vector2 /* this */ - open fun clampScalar(min: Double, max: Double): Vector2 /* this */ - open fun clampLength(min: Double, max: Double): Vector2 /* this */ - open fun floor(): Vector2 /* this */ - open fun ceil(): Vector2 /* this */ - open fun round(): Vector2 /* this */ - open fun roundToZero(): Vector2 /* this */ - override fun negate(): Vector2 /* this */ - open fun dot(v: Vector2): Double - override fun dot(v: Vector): Double - open fun cross(v: Vector2): Double - override fun lengthSq(): Double - override fun length(): Double - open fun lengthManhattan(): Double - open fun manhattanLength(): Double - override fun normalize(): Vector2 /* this */ - open fun angle(): Double - open fun distanceTo(v: Vector2): Double - open fun distanceToSquared(v: Vector2): Double - open fun distanceToManhattan(v: Vector2): Double - open fun manhattanDistanceTo(v: Vector2): Double - override fun setLength(length: Number): Vector2 /* this */ - open fun lerp(v: Vector2, alpha: Number): Vector2 /* this */ - override fun lerp(v: Vector, alpha: Number): Vector /* this */ - open fun lerpVectors(v1: Vector2, v2: Vector2, alpha: Double): Vector2 /* this */ - open fun equals(v: Vector2): Boolean - override fun equals(v: Vector): Boolean - open fun fromArray(array: Array, offset: Double = definedExternally): Vector2 /* this */ - open fun fromArray(array: ArrayLike, offset: Double = definedExternally): Vector2 /* this */ - open fun toArray(array: Array = definedExternally, offset: Double = definedExternally): Array - open fun toArray(array: ArrayLike, offset: Double = definedExternally): ArrayLike - open fun fromBufferAttribute(attribute: BufferAttribute, index: Double): Vector2 /* this */ - open fun rotateAround(center: Vector2, angle: Double): Vector2 /* this */ - open fun random(): Vector2 /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Vector3.module_three.kt b/src/jsMain/kotlin/three/Vector3.module_three.kt deleted file mode 100644 index c273fa4d1e..0000000000 --- a/src/jsMain/kotlin/three/Vector3.module_three.kt +++ /dev/null @@ -1,97 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Vector3(x: Double = definedExternally, y: Double = definedExternally, z: Double = definedExternally) : Vector { - constructor(x: Number, y: Number, z: Number) - - open var x: Double - open var y: Double - open var z: Double - open var isVector3: Boolean - open fun set(x: Double, y: Double, z: Double): Vector3 /* this */ - open fun set(x: Number, y: Number, z: Number): Vector3 /* this */ - override fun setScalar(scalar: Double): Vector3 /* this */ - open fun setX(x: Double): Vector3 - open fun setY(y: Double): Vector3 - open fun setZ(z: Double): Vector3 - override fun setComponent(index: Number, value: Number): Vector3 /* this */ - override fun getComponent(index: Number): Double - override fun clone(): Vector3 /* this */ - open fun copy(v: Vector3): Vector3 /* this */ - override fun copy(v: Vector): Vector /* this */ - open fun add(v: Vector3): Vector3 /* this */ - override fun add(v: Vector): Vector /* this */ - override fun addScalar(s: Double): Vector3 /* this */ - open fun addScaledVector(v: Vector3, s: Number): Vector3 /* this */ - override fun addScaledVector(vector: Vector, scale: Number): Vector /* this */ - open fun addVectors(a: Vector3, b: Vector3): Vector3 /* this */ - override fun addVectors(a: Vector, b: Vector): Vector /* this */ - open fun sub(a: Vector3): Vector3 /* this */ - override fun sub(v: Vector): Vector /* this */ - open fun subScalar(s: Double): Vector3 /* this */ - open fun subVectors(a: Vector3, b: Vector3): Vector3 /* this */ - override fun subVectors(a: Vector, b: Vector): Vector /* this */ - open fun multiply(v: Vector3): Vector3 /* this */ - override fun multiplyScalar(s: Number): Vector3 /* this */ - open fun multiplyVectors(a: Vector3, b: Vector3): Vector3 /* this */ - open fun applyEuler(euler: Euler): Vector3 /* this */ - open fun applyAxisAngle(axis: Vector3, angle: Double): Vector3 /* this */ - open fun applyMatrix3(m: Matrix3): Vector3 /* this */ - open fun applyNormalMatrix(m: Matrix3): Vector3 /* this */ - open fun applyMatrix4(m: Matrix4): Vector3 /* this */ - open fun applyQuaternion(q: Quaternion): Vector3 /* this */ - open fun project(camera: Camera): Vector3 /* this */ - open fun unproject(camera: Camera): Vector3 /* this */ - open fun transformDirection(m: Matrix4): Vector3 /* this */ - open fun divide(v: Vector3): Vector3 /* this */ - override fun divideScalar(s: Number): Vector3 /* this */ - open fun min(v: Vector3): Vector3 /* this */ - open fun max(v: Vector3): Vector3 /* this */ - open fun clamp(min: Vector3, max: Vector3): Vector3 /* this */ - open fun clampScalar(min: Double, max: Double): Vector3 /* this */ - open fun clampLength(min: Double, max: Double): Vector3 /* this */ - open fun floor(): Vector3 /* this */ - open fun ceil(): Vector3 /* this */ - open fun round(): Vector3 /* this */ - open fun roundToZero(): Vector3 /* this */ - override fun negate(): Vector3 /* this */ - open fun dot(v: Vector3): Double - override fun dot(v: Vector): Double - override fun lengthSq(): Double - override fun length(): Double - open fun lengthManhattan(): Double - open fun manhattanLength(): Double - open fun manhattanDistanceTo(v: Vector3): Double - override fun normalize(): Vector3 /* this */ - override fun setLength(l: Number): Vector3 /* this */ - open fun lerp(v: Vector3, alpha: Number): Vector3 /* this */ - override fun lerp(v: Vector, alpha: Number): Vector /* this */ - open fun lerpVectors(v1: Vector3, v2: Vector3, alpha: Number): Vector3 /* this */ - open fun cross(a: Vector3): Vector3 /* this */ - open fun crossVectors(a: Vector3, b: Vector3): Vector3 /* this */ - open fun projectOnVector(v: Vector3): Vector3 /* this */ - open fun projectOnPlane(planeNormal: Vector3): Vector3 /* this */ - open fun reflect(vector: Vector3): Vector3 /* this */ - open fun angleTo(v: Vector3): Double - open fun distanceTo(v: Vector3): Double - open fun distanceToSquared(v: Vector3): Double - open fun distanceToManhattan(v: Vector3): Double - open fun setFromSpherical(s: Spherical): Vector3 /* this */ - open fun setFromSphericalCoords(r: Double, phi: Double, theta: Double): Vector3 /* this */ - open fun setFromCylindrical(s: Cylindrical): Vector3 /* this */ - open fun setFromCylindricalCoords(radius: Double, theta: Double, y: Double): Vector3 /* this */ - open fun setFromMatrixPosition(m: Matrix4): Vector3 /* this */ - open fun setFromMatrixScale(m: Matrix4): Vector3 /* this */ - open fun setFromMatrixColumn(matrix: Matrix4, index: Double): Vector3 /* this */ - open fun setFromMatrix3Column(matrix: Matrix3, index: Double): Vector3 /* this */ - open fun equals(v: Vector3): Boolean - override fun equals(v: Vector): Boolean - open fun fromArray(array: Array, offset: Double = definedExternally): Vector3 /* this */ - open fun fromArray(array: ArrayLike, offset: Double = definedExternally): Vector3 /* this */ - open fun toArray(array: Array = definedExternally, offset: Double = definedExternally): Array - open fun toArray(array: ArrayLike, offset: Double = definedExternally): ArrayLike - open fun fromBufferAttribute(attribute: BufferAttribute, index: Double): Vector3 /* this */ - open fun random(): Vector3 /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/Vector4.module_three.kt b/src/jsMain/kotlin/three/Vector4.module_three.kt deleted file mode 100644 index abbd6c6dc6..0000000000 --- a/src/jsMain/kotlin/three/Vector4.module_three.kt +++ /dev/null @@ -1,69 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class Vector4(x: Double = definedExternally, y: Double = definedExternally, z: Double = definedExternally, w: Double = definedExternally) : Vector { - open var x: Double - open var y: Double - open var z: Double - open var w: Double - open var width: Double - open var height: Double - open var isVector4: Boolean - open fun set(x: Double, y: Double, z: Double, w: Double): Vector4 /* this */ - override fun setScalar(scalar: Double): Vector4 /* this */ - open fun setX(x: Double): Vector4 /* this */ - open fun setY(y: Double): Vector4 /* this */ - open fun setZ(z: Double): Vector4 /* this */ - open fun setW(w: Double): Vector4 /* this */ - override fun setComponent(index: Number, value: Number): Vector4 /* this */ - override fun getComponent(index: Number): Double - override fun clone(): Vector4 /* this */ - open fun copy(v: Vector4): Vector4 /* this */ - override fun copy(v: Vector): Vector /* this */ - open fun add(v: Vector4): Vector4 /* this */ - override fun add(v: Vector): Vector /* this */ - override fun addScalar(scalar: Double): Vector4 /* this */ - open fun addVectors(a: Vector4, b: Vector4): Vector4 /* this */ - override fun addVectors(a: Vector, b: Vector): Vector /* this */ - open fun addScaledVector(v: Vector4, s: Double): Vector4 /* this */ - override fun addScaledVector(vector: Vector, scale: Number): Vector /* this */ - open fun sub(v: Vector4): Vector4 /* this */ - override fun sub(v: Vector): Vector /* this */ - open fun subScalar(s: Double): Vector4 /* this */ - open fun subVectors(a: Vector4, b: Vector4): Vector4 /* this */ - override fun subVectors(a: Vector, b: Vector): Vector /* this */ - override fun multiplyScalar(s: Number): Vector4 /* this */ - open fun applyMatrix4(m: Matrix4): Vector4 /* this */ - override fun divideScalar(s: Number): Vector4 /* this */ - open fun setAxisAngleFromQuaternion(q: Quaternion): Vector4 /* this */ - open fun setAxisAngleFromRotationMatrix(m: Matrix3): Vector4 /* this */ - open fun min(v: Vector4): Vector4 /* this */ - open fun max(v: Vector4): Vector4 /* this */ - open fun clamp(min: Vector4, max: Vector4): Vector4 /* this */ - open fun clampScalar(min: Double, max: Double): Vector4 /* this */ - open fun floor(): Vector4 /* this */ - open fun ceil(): Vector4 /* this */ - open fun round(): Vector4 /* this */ - open fun roundToZero(): Vector4 /* this */ - override fun negate(): Vector4 /* this */ - open fun dot(v: Vector4): Double - override fun dot(v: Vector): Double - override fun lengthSq(): Double - override fun length(): Double - open fun manhattanLength(): Double - override fun normalize(): Vector4 /* this */ - override fun setLength(length: Number): Vector4 /* this */ - open fun lerp(v: Vector4, alpha: Number): Vector4 /* this */ - override fun lerp(v: Vector, alpha: Number): Vector /* this */ - open fun lerpVectors(v1: Vector4, v2: Vector4, alpha: Number): Vector4 /* this */ - open fun equals(v: Vector4): Boolean - override fun equals(v: Vector): Boolean - open fun fromArray(array: Array, offset: Double = definedExternally): Vector4 /* this */ - open fun fromArray(array: ArrayLike, offset: Double = definedExternally): Vector4 /* this */ - open fun toArray(array: Array = definedExternally, offset: Double = definedExternally): Array - open fun toArray(array: ArrayLike, offset: Double = definedExternally): ArrayLike - open fun fromBufferAttribute(attribute: BufferAttribute, index: Double): Vector4 /* this */ - open fun random(): Vector4 /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt b/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt deleted file mode 100644 index 86d36e2915..0000000000 --- a/src/jsMain/kotlin/three/VectorKeyframeTrack.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class VectorKeyframeTrack(name: String, times: Array, values: Array, interpolation: InterpolationModes = definedExternally) : KeyframeTrack { - override var ValueTypeName: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/VideoTexture.module_three.kt b/src/jsMain/kotlin/three/VideoTexture.module_three.kt deleted file mode 100644 index e07b028c70..0000000000 --- a/src/jsMain/kotlin/three/VideoTexture.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.w3c.dom.HTMLVideoElement - -open external class VideoTexture(video: HTMLVideoElement, mapping: Mapping = definedExternally, wrapS: Wrapping = definedExternally, wrapT: Wrapping = definedExternally, magFilter: TextureFilter = definedExternally, minFilter: TextureFilter = definedExternally, format: PixelFormat = definedExternally, type: TextureDataType = definedExternally, anisotropy: Number = definedExternally) : Texture { - open var isVideoTexture: Boolean - override var generateMipmaps: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGL1Renderer.module_three.kt b/src/jsMain/kotlin/three/WebGL1Renderer.module_three.kt deleted file mode 100644 index 00599baeb2..0000000000 --- a/src/jsMain/kotlin/three/WebGL1Renderer.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGL1Renderer(parameters: WebGLRendererParameters = definedExternally) : WebGLRenderer { - open var isWebGL1Renderer: Boolean -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt b/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt deleted file mode 100644 index 481320e7e8..0000000000 --- a/src/jsMain/kotlin/three/WebGLAttributes.module_three.kt +++ /dev/null @@ -1,23 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLBuffer -import org.khronos.webgl.WebGLRenderingContext - -external interface `T$53` { - var buffer: WebGLBuffer - var type: GLenum - var bytesPerElement: Number - var version: Number -} - -open external class WebGLAttributes(gl: WebGLRenderingContext, capabilities: WebGLCapabilities) { - open fun get(attribute: BufferAttribute): `T$53` - open fun get(attribute: InterleavedBufferAttribute): `T$53` - open fun remove(attribute: BufferAttribute) - open fun remove(attribute: InterleavedBufferAttribute) - open fun update(attribute: BufferAttribute, bufferType: GLenum) - open fun update(attribute: InterleavedBufferAttribute, bufferType: GLenum) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt b/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt deleted file mode 100644 index 190c04a990..0000000000 --- a/src/jsMain/kotlin/three/WebGLBindingStates.module_three.kt +++ /dev/null @@ -1,18 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLBindingStates(gl: WebGLRenderingContext, extensions: WebGLExtensions, attributes: WebGLAttributes, capabilities: WebGLCapabilities) { - open fun setup(obj: Object3D, material: Material, program: WebGLProgram, geometry: BufferGeometry, index: BufferAttribute) - open fun reset() - open fun resetDefaultState() - open fun dispose() - open fun releaseStatesOfGeometry() - open fun releaseStatesOfProgram() - open fun initAttributes() - open fun enableAttribute(attribute: Number) - open fun disableUnusedAttributes() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt b/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt deleted file mode 100644 index 4fe06478b3..0000000000 --- a/src/jsMain/kotlin/three/WebGLBufferRenderer.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLBufferRenderer(gl: WebGLRenderingContext, extensions: WebGLExtensions, info: WebGLInfo, capabilities: WebGLCapabilities) { - open fun setMode(value: Any) - open fun render(start: Any, count: Number) - open fun renderInstances(start: Any, count: Number, primcount: Number) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLClipping.module_three.kt b/src/jsMain/kotlin/three/WebGLClipping.module_three.kt deleted file mode 100644 index 11b5c4c53f..0000000000 --- a/src/jsMain/kotlin/three/WebGLClipping.module_three.kt +++ /dev/null @@ -1,19 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface `T$52` { - var value: Any - var needsUpdate: Boolean -} - -open external class WebGLClipping(properties: WebGLProperties) { - open var uniform: `T$52` - open var numPlanes: Number - open var numIntersection: Number - open fun init(planes: Array, enableLocalClipping: Boolean, camera: Camera): Boolean - open fun beginShadows() - open fun endShadows() - open fun setState(material: Material, camera: Camera, useCache: Boolean) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt b/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt deleted file mode 100644 index 31d2a9587f..0000000000 --- a/src/jsMain/kotlin/three/WebGLCubeMaps.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLCubeMaps(renderer: WebGLRenderer) { - open fun get(texture: Any): Any - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt b/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt deleted file mode 100644 index ee210da9d1..0000000000 --- a/src/jsMain/kotlin/three/WebGLCubeRenderTarget.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLCubeRenderTarget(size: Number, options: WebGLRenderTargetOptions = definedExternally) : WebGLRenderTarget { - open fun fromEquirectangularTexture(renderer: WebGLRenderer, texture: Texture): WebGLCubeRenderTarget /* this */ -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt b/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt deleted file mode 100644 index b15983d16a..0000000000 --- a/src/jsMain/kotlin/three/WebGLExtensions.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLExtensions(gl: WebGLRenderingContext) { - open fun has(name: String): Boolean - open fun get(name: String): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt b/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt deleted file mode 100644 index b30a605305..0000000000 --- a/src/jsMain/kotlin/three/WebGLGeometries.module_three.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLGeometries(gl: WebGLRenderingContext, attributes: WebGLAttributes, info: WebGLInfo) { - open fun get(obj: Object3D, geometry: Geometry): BufferGeometry - open fun get(obj: Object3D, geometry: BufferGeometry): BufferGeometry - open fun update(geometry: Geometry) - open fun update(geometry: BufferGeometry) - open fun getWireframeAttribute(geometry: Geometry): BufferAttribute - open fun getWireframeAttribute(geometry: BufferGeometry): BufferAttribute -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt b/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt deleted file mode 100644 index 3a2fe5c179..0000000000 --- a/src/jsMain/kotlin/three/WebGLIndexedBufferRenderer.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLIndexedBufferRenderer(gl: WebGLRenderingContext, extensions: Any, info: Any, capabilities: Any) { - open fun setMode(value: Any) - open fun setIndex(index: Any) - open fun render(start: Any, count: Number) - open fun renderInstances(start: Any, count: Number, primcount: Number) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLMultisampleRenderTarget.module_three.kt b/src/jsMain/kotlin/three/WebGLMultisampleRenderTarget.module_three.kt deleted file mode 100644 index ddd5882fb9..0000000000 --- a/src/jsMain/kotlin/three/WebGLMultisampleRenderTarget.module_three.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLMultisampleRenderTarget(width: Number, height: Number, options: WebGLRenderTargetOptions = definedExternally) : WebGLRenderTarget { - open var isWebGLMultisampleRenderTarget: Boolean - open var samples: Number -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLObjects.module_three.kt b/src/jsMain/kotlin/three/WebGLObjects.module_three.kt deleted file mode 100644 index e577fcbc30..0000000000 --- a/src/jsMain/kotlin/three/WebGLObjects.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLObjects(gl: WebGLRenderingContext, geometries: Any, attributes: Any, info: Any) { - open fun update(obj: Any): Any - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt b/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt deleted file mode 100644 index 9bd3bbd3a9..0000000000 --- a/src/jsMain/kotlin/three/WebGLPrograms.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLPrograms(renderer: WebGLRenderer, cubemaps: WebGLCubeMaps, extensions: WebGLExtensions, capabilities: WebGLCapabilities, bindingStates: WebGLBindingStates, clipping: WebGLClipping) { - open var programs: Array - open fun getParameters(material: Material, lights: Any, shadows: Array, scene: Scene, obj: Any): Any - open fun getProgramCacheKey(parameters: Any): String - open fun getUniforms(material: Material): Any? - open fun acquireProgram(parameters: Any, cacheKey: String): WebGLProgram - open fun releaseProgram(program: WebGLProgram) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLProperties.module_three.kt b/src/jsMain/kotlin/three/WebGLProperties.module_three.kt deleted file mode 100644 index 3d13674dd5..0000000000 --- a/src/jsMain/kotlin/three/WebGLProperties.module_three.kt +++ /dev/null @@ -1,11 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLProperties { - open fun get(obj: Any): Any - open fun remove(obj: Any) - open fun update(obj: Any, key: Any, value: Any): Any - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt b/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt deleted file mode 100644 index e80700d620..0000000000 --- a/src/jsMain/kotlin/three/WebGLRenderLists.module_three.kt +++ /dev/null @@ -1,33 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface RenderTarget - -external interface RenderItem { - var id: Number - var `object`: Object3D - var geometry: BufferGeometry? - var material: Material - var program: WebGLProgram - var groupOrder: Number - var renderOrder: Number - var z: Number - var group: Group? -} - -open external class WebGLRenderList(properties: WebGLProperties) { - open var opaque: Array - open var transparent: Array - open fun init() - open fun push(obj: Object3D, geometry: BufferGeometry?, material: Material, groupOrder: Number, z: Number, group: Group?) - open fun unshift(obj: Object3D, geometry: BufferGeometry?, material: Material, groupOrder: Number, z: Number, group: Group?) - open fun sort(opaqueSort: Function<*>, transparentSort: Function<*>) - open fun finish() -} - -open external class WebGLRenderLists(properties: WebGLProperties) { - open fun dispose() - open fun get(scene: Scene, camera: Camera): WebGLRenderList -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt b/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt deleted file mode 100644 index 34ed52cb9f..0000000000 --- a/src/jsMain/kotlin/three/WebGLRenderTarget.module_three.kt +++ /dev/null @@ -1,71 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -external interface WebGLRenderTargetOptions { - var wrapS: Wrapping? - get() = definedExternally - set(value) = definedExternally - var wrapT: Wrapping? - get() = definedExternally - set(value) = definedExternally - var magFilter: TextureFilter? - get() = definedExternally - set(value) = definedExternally - var minFilter: TextureFilter? - get() = definedExternally - set(value) = definedExternally - var format: Number? - get() = definedExternally - set(value) = definedExternally - var type: TextureDataType? - get() = definedExternally - set(value) = definedExternally - var anisotropy: Number? - get() = definedExternally - set(value) = definedExternally - var depthBuffer: Boolean? - get() = definedExternally - set(value) = definedExternally - var stencilBuffer: Boolean? - get() = definedExternally - set(value) = definedExternally - var generateMipmaps: Boolean? - get() = definedExternally - set(value) = definedExternally - var depthTexture: DepthTexture? - get() = definedExternally - set(value) = definedExternally - var encoding: TextureEncoding? - get() = definedExternally - set(value) = definedExternally -} - -open external class WebGLRenderTarget(width: Number, height: Number, options: WebGLRenderTargetOptions = definedExternally) : EventDispatcher { - open var uuid: String - open var width: Number - open var height: Number - open var scissor: Vector4 - open var scissorTest: Boolean - open var viewport: Vector4 - open var texture: Texture - open var depthBuffer: Boolean - open var stencilBuffer: Boolean - open var depthTexture: DepthTexture - open var isWebGLRenderTarget: Boolean - open var wrapS: Any - open var wrapT: Any - open var magFilter: Any - open var minFilter: Any - open var anisotropy: Any - open var offset: Any - open var repeat: Any - open var format: Any - open var type: Any - open var generateMipmaps: Any - open fun setSize(width: Number, height: Number) - open fun clone(): WebGLRenderTarget /* this */ - open fun copy(source: WebGLRenderTarget): WebGLRenderTarget /* this */ - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt b/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt deleted file mode 100644 index 72821001c1..0000000000 --- a/src/jsMain/kotlin/three/WebGLRenderer.module_three.kt +++ /dev/null @@ -1,149 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLFramebuffer -import org.khronos.webgl.WebGLRenderingContext -import web.html.HTMLCanvasElement - -external interface Renderer { - var domElement: HTMLCanvasElement - fun render(scene: Object3D, camera: Camera) - fun setSize(width: Number, height: Number, updateStyle: Boolean = definedExternally) -} - -external interface WebGLRendererParameters { - var canvas: dynamic /* HTMLCanvasElement? | OffscreenCanvas? */ - get() = definedExternally - set(value) = definedExternally - var context: WebGLRenderingContext? - get() = definedExternally - set(value) = definedExternally - var precision: String? - get() = definedExternally - set(value) = definedExternally - var alpha: Boolean? - get() = definedExternally - set(value) = definedExternally - var premultipliedAlpha: Boolean? - get() = definedExternally - set(value) = definedExternally - var antialias: Boolean? - get() = definedExternally - set(value) = definedExternally - var stencil: Boolean? - get() = definedExternally - set(value) = definedExternally - var preserveDrawingBuffer: Boolean? - get() = definedExternally - set(value) = definedExternally - var powerPreference: String? - get() = definedExternally - set(value) = definedExternally - var depth: Boolean? - get() = definedExternally - set(value) = definedExternally - var logarithmicDepthBuffer: Boolean? - get() = definedExternally - set(value) = definedExternally -} - -external interface WebGLDebug { - var checkShaderErrors: Boolean -} - -open external class WebGLRenderer(parameters: WebGLRendererParameters = definedExternally) : Renderer { - override var domElement: HTMLCanvasElement - open var context: WebGLRenderingContext - open var autoClear: Boolean - open var autoClearColor: Boolean - open var autoClearDepth: Boolean - open var autoClearStencil: Boolean - open var debug: WebGLDebug - open var sortObjects: Boolean - open var clippingPlanes: Array - open var localClippingEnabled: Boolean - open var extensions: WebGLExtensions - open var outputEncoding: TextureEncoding - open var physicallyCorrectLights: Boolean - open var toneMapping: ToneMapping - open var toneMappingExposure: Number - open var shadowMapDebug: Boolean - open var maxMorphTargets: Number - open var maxMorphNormals: Number - open var info: WebGLInfo - open var shadowMap: WebGLShadowMap - open var pixelRatio: Number - open var capabilities: WebGLCapabilities - open var properties: WebGLProperties - open var renderLists: WebGLRenderLists - open var state: WebGLState - open var xr: WebXRManager - open fun getContext(): WebGLRenderingContext - open fun getContextAttributes(): Any - open fun forceContextLoss() - open fun getMaxAnisotropy(): Number - open fun getPrecision(): String - open fun getPixelRatio(): Number - open fun setPixelRatio(value: Number) - open fun getDrawingBufferSize(target: Vector2): Vector2 - open fun setDrawingBufferSize(width: Number, height: Number, pixelRatio: Number) - open fun getSize(target: Vector2): Vector2 - override fun setSize(width: Number, height: Number, updateStyle: Boolean) - open fun getCurrentViewport(target: Vector4): Vector4 - open fun getViewport(target: Vector4): Vector4 - open fun setViewport(x: Vector4, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - open fun setViewport(x: Number, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - open fun getScissor(target: Vector4): Vector4 - open fun setScissor(x: Vector4, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - open fun setScissor(x: Number, y: Number = definedExternally, width: Number = definedExternally, height: Number = definedExternally) - open fun getScissorTest(): Boolean - open fun setScissorTest(enable: Boolean) - open fun setOpaqueSort(method: Function<*>) - open fun setTransparentSort(method: Function<*>) - open fun getClearColor(): Color - open fun setClearColor(color: Color, alpha: Number = definedExternally) - open fun setClearColor(color: String, alpha: Number = definedExternally) - open fun setClearColor(color: Number, alpha: Number = definedExternally) - open fun getClearAlpha(): Number - open fun setClearAlpha(alpha: Number) - open fun clear(color: Boolean = definedExternally, depth: Boolean = definedExternally, stencil: Boolean = definedExternally) - open fun clearColor() - open fun clearDepth() - open fun clearStencil() - open fun clearTarget(renderTarget: WebGLRenderTarget, color: Boolean, depth: Boolean, stencil: Boolean) - open fun resetGLState() - open fun dispose() - open fun renderBufferImmediate(obj: Object3D, program: WebGLProgram) - open fun renderBufferDirect(camera: Camera, scene: Scene, geometry: Geometry, material: Material, obj: Object3D, geometryGroup: Any) - open fun renderBufferDirect(camera: Camera, scene: Scene, geometry: BufferGeometry, material: Material, obj: Object3D, geometryGroup: Any) - open fun setAnimationLoop(callback: Function<*>?) - open fun animate(callback: Function<*>) - open fun compile(scene: Object3D, camera: Camera) - override fun render(scene: Object3D, camera: Camera) - open fun getActiveCubeFace(): Number - open fun getActiveMipmapLevel(): Number - open fun setFramebuffer(value: WebGLFramebuffer) - open fun getRenderTarget(): RenderTarget? - open fun getCurrentRenderTarget(): RenderTarget? - open fun setRenderTarget(renderTarget: RenderTarget?, activeCubeFace: Number = definedExternally, activeMipmapLevel: Number = definedExternally) - open fun readRenderTargetPixels(renderTarget: RenderTarget, x: Number, y: Number, width: Number, height: Number, buffer: Any, activeCubeFaceIndex: Number = definedExternally) - open fun copyFramebufferToTexture(position: Vector2, texture: Texture, level: Number = definedExternally) - open fun copyTextureToTexture(position: Vector2, srcTexture: Texture, dstTexture: Texture, level: Number = definedExternally) - open fun initTexture(texture: Texture) - open var gammaFactor: Number - open var vr: Boolean - open var shadowMapEnabled: Boolean - open var shadowMapType: ShadowMapType - open var shadowMapCullFace: CullFace - open fun supportsFloatTextures(): Any - open fun supportsHalfFloatTextures(): Any - open fun supportsStandardDerivatives(): Any - open fun supportsCompressedTextureS3TC(): Any - open fun supportsCompressedTexturePVRTC(): Any - open fun supportsBlendMinMax(): Any - open fun supportsVertexTextures(): Any - open fun supportsInstancedArrays(): Any - open fun enableScissorTest(boolean: Any): Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLShader.module_three.kt b/src/jsMain/kotlin/three/WebGLShader.module_three.kt deleted file mode 100644 index aea56a15c7..0000000000 --- a/src/jsMain/kotlin/three/WebGLShader.module_three.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLShader(gl: WebGLRenderingContext, type: String, string: String) \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt b/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt deleted file mode 100644 index 016bcb798c..0000000000 --- a/src/jsMain/kotlin/three/WebGLShadowMap.module_three.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WebGLShadowMap(_renderer: WebGLRenderer, _objects: WebGLObjects, maxTextureSize: Number) { - open var enabled: Boolean - open var autoUpdate: Boolean - open var needsUpdate: Boolean - open var type: ShadowMapType - open fun render(shadowsArray: Array, scene: Scene, camera: Camera) - open var cullFace: Any -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebGLUtils.module_three.kt b/src/jsMain/kotlin/three/WebGLUtils.module_three.kt deleted file mode 100644 index 1570e73305..0000000000 --- a/src/jsMain/kotlin/three/WebGLUtils.module_three.kt +++ /dev/null @@ -1,12 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebGLUtils { - constructor(gl: WebGLRenderingContext, extensions: Any, capabilities: Any) - constructor(gl: WebGL2RenderingContext, extensions: Any, capabilities: Any) - open fun convert(p: Any) -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WebXRManager.module_three.kt b/src/jsMain/kotlin/three/WebXRManager.module_three.kt deleted file mode 100644 index 6fa0bf435d..0000000000 --- a/src/jsMain/kotlin/three/WebXRManager.module_three.kt +++ /dev/null @@ -1,21 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -import org.khronos.webgl.WebGLRenderingContext - -open external class WebXRManager(renderer: Any, gl: WebGLRenderingContext) { - open var enabled: Boolean - open var isPresenting: Boolean - open fun getController(id: Number): Group - open fun getControllerGrip(id: Number): Group - open fun setFramebufferScaleFactor(value: Number) - open fun setReferenceSpaceType(value: String) - open fun getReferenceSpace(): Any - open fun getSession(): Any - open fun setSession(value: Any) - open fun getCamera(camera: Camera): Camera - open fun setAnimationLoop(callback: Function<*>) - open fun dispose() -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt b/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt deleted file mode 100644 index 76bcd5abf9..0000000000 --- a/src/jsMain/kotlin/three/WireframeGeometry.module_three.kt +++ /dev/null @@ -1,10 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three.js - -open external class WireframeGeometry : BufferGeometry { - constructor(geometry: Geometry) - constructor(geometry: BufferGeometry) - override var type: String -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three/constants.module_three.kt b/src/jsMain/kotlin/three/constants.module_three.kt deleted file mode 100644 index bfd7e866b7..0000000000 --- a/src/jsMain/kotlin/three/constants.module_three.kt +++ /dev/null @@ -1,160 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch", "ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING") -package three.js - -external enum class CullFace { - -} - -external enum class ShadowMapType { - -} - -external enum class Side { - -} - -external val FrontSide: Side -external val BackSide: Side -external val DoubleSide: Side - -external enum class Blending { - -} - -external val NoBlending: Blending -external val NormalBlending: Blending -external val AdditiveBlending: Blending -external val SubtractiveBlending: Blending -external val MultiplyBlending: Blending -external val CustomBlending: Blending - -external enum class BlendingEquation { - -} - -external enum class BlendingDstFactor { - -} - -external enum class BlendingSrcFactor { - -} - -external enum class DepthModes { - -} - -external val NeverDepth: DepthModes -external val AlwaysDepth: DepthModes -external val LessDepth: DepthModes -external val LessEqualDepth: DepthModes -external val GreaterEqualDepth: DepthModes -external val GreaterDepth: DepthModes -external val NotEqualDepth: DepthModes - - -external enum class Combine { - -} - -external val MultiplyOperation: Combine -external val MixOperation: Combine -external val AddOperation: Combine - -external enum class ToneMapping { - -} - -external enum class Mapping { - -} - -external enum class Wrapping { - -} - -external enum class TextureFilter { - -} - -external enum class TextureDataType { - -} - -external enum class PixelFormat { - -} - -external enum class CompressedPixelFormat { - -} - -external enum class AnimationActionLoopStyles { - -} - -external enum class InterpolationModes { - -} - -external enum class AnimationBlendMode { - -} - -external enum class TextureEncoding { - -} - -external enum class DepthPackingStrategies { - -} - -external enum class NormalMapTypes { - -} - -external enum class StencilOp { - -} - -external val ZeroStencilOp: StencilOp -external val KeepStencilOp: StencilOp -external val ReplaceStencilOp: StencilOp -external val IncrementStencilOp: StencilOp -external val DecrementStencilOp: StencilOp -external val IncrementWrapStencilOp: StencilOp -external val DecrementWrapStencilOp: StencilOp -external val InvertStencilOp: StencilOp - -external enum class StencilFunc { - -} - -external val NeverStencilFunc: StencilFunc -external val LessStencilFunc: StencilFunc -external val EqualStencilFunc: StencilFunc -external val LessEqualStencilFunc: StencilFunc -external val GreaterStencilFunc: StencilFunc -external val NotEqualStencilFunc: StencilFunc -external val GreaterEqualStencilFunc: StencilFunc -external val AlwaysStencilFunc: StencilFunc - -external enum class Usage { - -} - -external val StaticDrawUsage: Usage -external val DynamicDrawUsage: Usage -external val StreamDrawUsage: Usage -external val StaticReadUsage: Usage -external val DynamicReadUsage: Usage -external val StreamReadUsage: Usage -external val StaticCopyUsage: Usage -external val DynamicCopyUsage: Usage -external val StreamCopyUsage: Usage - -external enum class GLSLVersion { - -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three_ext/BetterBox3.kt b/src/jsMain/kotlin/three_ext/BetterBox3.kt index 539426759f..60a3f4378d 100644 --- a/src/jsMain/kotlin/three_ext/BetterBox3.kt +++ b/src/jsMain/kotlin/three_ext/BetterBox3.kt @@ -1,7 +1,7 @@ package three_ext -import three.js.Box3 -import three.js.Object3D +import three.Box3 +import three.Object3D fun Box3.expandByObjectLocal(obj: Object3D): Box3 { // Computes the local bounding box of an object (including its children). diff --git a/src/jsMain/kotlin/three_ext/BufferGeometryUtils.kt b/src/jsMain/kotlin/three_ext/BufferGeometryUtils.kt deleted file mode 100644 index d752b4d50f..0000000000 --- a/src/jsMain/kotlin/three_ext/BufferGeometryUtils.kt +++ /dev/null @@ -1,15 +0,0 @@ -@file:JsModule("three/examples/jsm/utils/BufferGeometryUtils") -@file:JsNonModule -@file:Suppress("PackageDirectoryMismatch") -package three_ext - -import three.js.BufferGeometry - -open external class BufferGeometryUtils { - companion object { - fun mergeBufferGeometries( - geometries: Array, - useGroups: Boolean = definedExternally - ): BufferGeometry - } -} \ No newline at end of file diff --git a/src/jsMain/kotlin/three_ext/CameraControls.kt b/src/jsMain/kotlin/three_ext/CameraControls.kt index 9da848b230..6e72f6370d 100644 --- a/src/jsMain/kotlin/three_ext/CameraControls.kt +++ b/src/jsMain/kotlin/three_ext/CameraControls.kt @@ -3,10 +3,10 @@ @file:Suppress("PackageDirectoryMismatch") package three_ext -import three.js.Box3 -import three.js.Camera -import three.js.Mesh -import three.js.Vector3 +import three.Box3 +import three.Camera +import three.Mesh +import three.Vector3 import web.dom.Element @JsName("default") diff --git a/src/jsMain/kotlin/three_ext/extensions.kt b/src/jsMain/kotlin/three_ext/extensions.kt index 3f3dabbde6..112e42734f 100644 --- a/src/jsMain/kotlin/three_ext/extensions.kt +++ b/src/jsMain/kotlin/three_ext/extensions.kt @@ -2,14 +2,9 @@ package three_ext import baaahs.geom.Vector3F import baaahs.visualizer.toVector3 -import three.js.ArrayLike -import three.js.Euler -import three.js.Object3D -import three.js.Vector3 - -operator fun ArrayLike.set(i: Int, t: T) { - this.asDynamic()[i] = t -} +import three.Euler +import three.Object3D +import three.Vector3 operator fun Vector3.plus(other: Vector3): Vector3 { return this.clone().add(other) diff --git a/src/jsMain/kotlin/three_ext/three-extras.kt b/src/jsMain/kotlin/three_ext/three-extras.kt deleted file mode 100644 index 3ddacf3d6b..0000000000 --- a/src/jsMain/kotlin/three_ext/three-extras.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JsModule("three") -@file:JsNonModule() -package three_ext - -import three.js.BufferAttribute - -open external class Float32BufferAttribute( - array: dynamic, - itemSize: Int, - normalized: Boolean = definedExternally -) : BufferAttribute - -open external class Matrix4 : three.js.Matrix4